Bug 546087 - [SysML 1.6] Create the SysML 1.6 plug-ins

Create the SysML1.6 plug-ins and contents.

Change-Id: Iac5aea1b1e2038f3704b81723c41d4c835e93bf7
Signed-off-by: Nicolas FAUVERGUE <nicolas.fauvergue@cea.fr>
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..e34ec27
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,68 @@
+# Handle line endings automatically for files detected as text
+# and leave all files detected as binary untouched.
+* text=auto
+
+#
+# The above will handle all files NOT found below
+#
+# These files are text and should be normalized (Convert crlf => lf)
+*.classpath                      text
+*.configuration                  text
+*.creationmenumodel              text
+*.css                            text
+*.ctx                            text
+*.df                             text
+*.di                             text
+*.ecore                          text
+*.elementtypesconfigurations     text
+*.expansionmodel                 text
+*.fml                            text
+*.genmodel                       text
+*.htm                            text
+*.html                           text
+*.ini                            text
+*.java                           text
+*.js                             text
+*.json                           text
+*.jsp                            text
+*.jspf                           text
+*.LICENSE                        text
+*.md                             text
+*.mediawiki                      text
+*.MF                             text
+*.nattableconfiguration          text
+*.notation                       text
+*.paletteconfiguration           text
+*.prefs                          text
+*.product                        text
+*.project                        text
+*.properties                     text
+*.sh                             text
+*.suite                          text
+*.svg                            text
+*.test                           text
+*.tld                            text
+*.tsv                            text
+*.txt                            text
+*.uml                            text
+*.xmi                            text
+*.xml                            text
+*.xwt                            text
+
+# These files are binary and should be left untouched
+# (binary is a macro for -text -diff)
+*.bmp           binary
+*.class         binary
+*.dll           binary
+*.ear           binary
+*.gif           binary
+*.ico           binary
+*.jar           binary
+*.jpg           binary
+*.jpeg          binary
+*.pdf           binary
+*.png           binary
+*.so            binary
+*.svg           binary
+*.war           binary
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..214263b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,15 @@
+bin/
+target/
+*.java._trace
+*.pyc
+.DS_Store
+*.xtendbin
+*~
+# Workspace metadata folder created by Oomph when launching tests.
+tests/**/.metadata/
+**/src/site/resources/images/rcptt-screenshots
+# sonarlint temporary directory
+sonarlint/
+# Files and directory used by RcpTT
+workspace/
+*.log
\ No newline at end of file
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..d96286c
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,40 @@
+Contributing to Papyrus SysML 1.6
+==================================
+
+Thanks for your interest in this project.
+
+Project description:
+--------------------
+
+A DSML for the [SysML 1.6 OMG](http://www.omg.org/spec/SysML/1.6/) norm based upon the [Eclipse Papyrus project](https://projects.eclipse.org/projects/modeling.mdt.papyrus).
+
+Create a new [bug](https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Papyrus&component=SysML):
+-----------------
+
+Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!
+
+Search for [bugs](https://bugs.eclipse.org/bugs/buglist.cgi?product=Papyrus&component=SysML):
+----------------
+
+This project uses Bugzilla to track ongoing development and issues.
+
+Contributor License Agreement:
+------------------------------
+
+Before your contribution can be accepted by the project, you need to create and electronically 
+sign the Eclipse Foundation Contributor License Agreement [(CLA)](http://www.eclipse.org/legal/CLA.php).
+
+Contact:
+--------
+
+Contact the project developers and users via the project's ["user" list](https://dev.eclipse.org/mailman/listinfo/papyrus-sysml-users/).
+
+Developer resources:
+--------------------
+
+ * Check the README.md file for developing information
+ * Continuous integration with [Hudson](https://hudson.eclipse.org/papyrus/)
+ * Contribution review with [Gerrit](https://git.eclipse.org/)
+ * Code quality with [SonarQube](https://dev.eclipse.org/sonar/dashboard/index/113161)
+
+ 
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d3087e4
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,277 @@
+Eclipse Public License - v 2.0
+
+    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+    PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
+    OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+  a) in the case of the initial Contributor, the initial content
+     Distributed under this Agreement, and
+
+  b) in the case of each subsequent Contributor:
+     i) changes to the Program, and
+     ii) additions to the Program;
+  where such changes and/or additions to the Program originate from
+  and are Distributed by that particular Contributor. A Contribution
+  "originates" from a Contributor if it was added to the Program by
+  such Contributor itself or anyone acting on such Contributor's behalf.
+  Contributions do not include changes or additions to the Program that
+  are not Modified Works.
+
+"Contributor" means any person or entity that Distributes the Program.
+
+"Licensed Patents" mean patent claims licensable by a Contributor which
+are necessarily infringed by the use or sale of its Contribution alone
+or when combined with the Program.
+
+"Program" means the Contributions Distributed in accordance with this
+Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement
+or any Secondary License (as applicable), including Contributors.
+
+"Derivative Works" shall mean any work, whether in Source Code or other
+form, that is based on (or derived from) the Program and for which the
+editorial revisions, annotations, elaborations, or other modifications
+represent, as a whole, an original work of authorship.
+
+"Modified Works" shall mean any work in Source Code or other form that
+results from an addition to, deletion from, or modification of the
+contents of the Program, including, for purposes of clarity any new file
+in Source Code form that contains any contents of the Program. Modified
+Works shall not include works that contain only declarations,
+interfaces, types, classes, structures, or files of the Program solely
+in each case in order to link to, bind by name, or subclass the Program
+or Modified Works thereof.
+
+"Distribute" means the acts of a) distributing or b) making available
+in any manner that enables the transfer of a copy.
+
+"Source Code" means the form of a Program preferred for making
+modifications, including but not limited to software source code,
+documentation source, and configuration files.
+
+"Secondary License" means either the GNU General Public License,
+Version 2.0, or any later versions of that license, including any
+exceptions or additional permissions as identified by the initial
+Contributor.
+
+2. GRANT OF RIGHTS
+
+  a) Subject to the terms of this Agreement, each Contributor hereby
+  grants Recipient a non-exclusive, worldwide, royalty-free copyright
+  license to reproduce, prepare Derivative Works of, publicly display,
+  publicly perform, Distribute and sublicense the Contribution of such
+  Contributor, if any, and such Derivative Works.
+
+  b) Subject to the terms of this Agreement, each Contributor hereby
+  grants Recipient a non-exclusive, worldwide, royalty-free patent
+  license under Licensed Patents to make, use, sell, offer to sell,
+  import and otherwise transfer the Contribution of such Contributor,
+  if any, in Source Code or other form. This patent license shall
+  apply to the combination of the Contribution and the Program if, at
+  the time the Contribution is added by the Contributor, such addition
+  of the Contribution causes such combination to be covered by the
+  Licensed Patents. The patent license shall not apply to any other
+  combinations which include the Contribution. No hardware per se is
+  licensed hereunder.
+
+  c) Recipient understands that although each Contributor grants the
+  licenses to its Contributions set forth herein, no assurances are
+  provided by any Contributor that the Program does not infringe the
+  patent or other intellectual property rights of any other entity.
+  Each Contributor disclaims any liability to Recipient for claims
+  brought by any other entity based on infringement of intellectual
+  property rights or otherwise. As a condition to exercising the
+  rights and licenses granted hereunder, each Recipient hereby
+  assumes sole responsibility to secure any other intellectual
+  property rights needed, if any. For example, if a third party
+  patent license is required to allow Recipient to Distribute the
+  Program, it is Recipient's responsibility to acquire that license
+  before distributing the Program.
+
+  d) Each Contributor represents that to its knowledge it has
+  sufficient copyright rights in its Contribution, if any, to grant
+  the copyright license set forth in this Agreement.
+
+  e) Notwithstanding the terms of any Secondary License, no
+  Contributor makes additional grants to any Recipient (other than
+  those set forth in this Agreement) as a result of such Recipient's
+  receipt of the Program under the terms of a Secondary License
+  (if permitted under the terms of Section 3).
+
+3. REQUIREMENTS
+
+3.1 If a Contributor Distributes the Program in any form, then:
+
+  a) the Program must also be made available as Source Code, in
+  accordance with section 3.2, and the Contributor must accompany
+  the Program with a statement that the Source Code for the Program
+  is available under this Agreement, and informs Recipients how to
+  obtain it in a reasonable manner on or through a medium customarily
+  used for software exchange; and
+
+  b) the Contributor may Distribute the Program under a license
+  different than this Agreement, provided that such license:
+     i) effectively disclaims on behalf of all other Contributors all
+     warranties and conditions, express and implied, including
+     warranties or conditions of title and non-infringement, and
+     implied warranties or conditions of merchantability and fitness
+     for a particular purpose;
+
+     ii) effectively excludes on behalf of all other Contributors all
+     liability for damages, including direct, indirect, special,
+     incidental and consequential damages, such as lost profits;
+
+     iii) does not attempt to limit or alter the recipients' rights
+     in the Source Code under section 3.2; and
+
+     iv) requires any subsequent distribution of the Program by any
+     party to be under a license that satisfies the requirements
+     of this section 3.
+
+3.2 When the Program is Distributed as Source Code:
+
+  a) it must be made available under this Agreement, or if the
+  Program (i) is combined with other material in a separate file or
+  files made available under a Secondary License, and (ii) the initial
+  Contributor attached to the Source Code the notice described in
+  Exhibit A of this Agreement, then the Program may be made available
+  under the terms of such Secondary Licenses, and
+
+  b) a copy of this Agreement must be included with each copy of
+  the Program.
+
+3.3 Contributors may not remove or alter any copyright, patent,
+trademark, attribution notices, disclaimers of warranty, or limitations
+of liability ("notices") contained within the Program from any copy of
+the Program which they Distribute, provided that Contributors may add
+their own appropriate notices.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities
+with respect to end users, business partners and the like. While this
+license is intended to facilitate the commercial use of the Program,
+the Contributor who includes the Program in a commercial product
+offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes
+the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every
+other Contributor ("Indemnified Contributor") against any losses,
+damages and costs (collectively "Losses") arising from claims, lawsuits
+and other legal actions brought by a third party against the Indemnified
+Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program
+in a commercial product offering. The obligations in this section do not
+apply to any claims or Losses relating to any actual or alleged
+intellectual property infringement. In order to qualify, an Indemnified
+Contributor must: a) promptly notify the Commercial Contributor in
+writing of such claim, and b) allow the Commercial Contributor to control,
+and cooperate with the Commercial Contributor in, the defense and any
+related settlement negotiations. The Indemnified Contributor may
+participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those performance
+claims and warranties, and if a court requires any other Contributor to
+pay any damages as a result, the Commercial Contributor must pay
+those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
+PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
+BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
+TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
+PURPOSE. Each Recipient is solely responsible for determining the
+appropriateness of using and distributing the Program and assumes all
+risks associated with its exercise of rights under this Agreement,
+including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs
+or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
+PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
+SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
+EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further
+action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other software
+or hardware) infringes such Recipient's patent(s), then such Recipient's
+rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of
+time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use
+and distribution of the Program as soon as reasonably practicable.
+However, Recipient's obligations under this Agreement and any licenses
+granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement,
+but in order to avoid inconsistency the Agreement is copyrighted and
+may only be modified in the following manner. The Agreement Steward
+reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement
+Steward has the right to modify this Agreement. The Eclipse Foundation
+is the initial Agreement Steward. The Eclipse Foundation may assign the
+responsibility to serve as the Agreement Steward to a suitable separate
+entity. Each new version of the Agreement will be given a distinguishing
+version number. The Program (including Contributions) may always be
+Distributed subject to the version of the Agreement under which it was
+received. In addition, after a new version of the Agreement is published,
+Contributor may elect to Distribute the Program (including its
+Contributions) under the new version.
+
+Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
+receives no rights or licenses to the intellectual property of any
+Contributor under this Agreement, whether expressly, by implication,
+estoppel or otherwise. All rights in the Program not expressly granted
+under this Agreement are reserved. Nothing in this Agreement is intended
+to be enforceable by any entity that is not a Contributor or Recipient.
+No third-party beneficiary rights are created under this Agreement.
+
+Exhibit A - Form of Secondary Licenses Notice
+
+"This Source Code may also be made available under the following 
+Secondary Licenses when the conditions for such availability set forth 
+in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
+version(s), and exceptions or additional permissions here}."
+
+  Simply including a copy of this Agreement, including this Exhibit A
+  is not sufficient to license the Source Code under Secondary Licenses.
+
+  If it is not possible or desirable to put the notice in a particular
+  file, then You may include the notice in a location (such as a LICENSE
+  file in a relevant directory) where a recipient would be likely to
+  look for such a notice.
+
+  You may add additional accurate notices of copyright ownership.
diff --git a/features/org.eclipse.papyrus.sysml16.feature/.project b/features/org.eclipse.papyrus.sysml16.feature/.project
new file mode 100644
index 0000000..9806cf6
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/features/org.eclipse.papyrus.sysml16.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.papyrus.sysml16.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/features/org.eclipse.papyrus.sysml16.feature/.settings/org.eclipse.m2e.core.prefs b/features/org.eclipse.papyrus.sysml16.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/features/org.eclipse.papyrus.sysml16.feature/build.properties b/features/org.eclipse.papyrus.sysml16.feature/build.properties
new file mode 100644
index 0000000..b3a611b
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = feature.xml,\
+               feature.properties
diff --git a/features/org.eclipse.papyrus.sysml16.feature/feature.properties b/features/org.eclipse.papyrus.sysml16.feature/feature.properties
new file mode 100644
index 0000000..9d274e5
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/feature.properties
@@ -0,0 +1,8 @@
+# NLS_MESSAGEFORMAT_VAR
+
+# "featureName" property - name of the feature
+featureName=Papyrus SysML 1.6 Feature
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse Modeling Project 
+
diff --git a/features/org.eclipse.papyrus.sysml16.feature/feature.xml b/features/org.eclipse.papyrus.sysml16.feature/feature.xml
new file mode 100644
index 0000000..cac2942
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/feature.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.papyrus.sysml16.feature"
+      label="%featureName"
+      version="1.0.0.qualifier"
+      provider-name="%providerName"
+      plugin="org.eclipse.papyrus.sysml16.ui"
+      license-feature="org.eclipse.license"
+      license-feature-version="2.0.1">
+
+   <description url="https://eclipse.org/papyrus/">
+      This feature enables to create, manage, validate SysML 1.6 models. It contains diagram bundles (BDD, IBD, PAR, REQ), tables bundles and also all user interface elements.
+   </description>
+
+   <copyright url="https://www.eclipse.org/legal/epl-2.0/">
+      Copyright (c) 2019 CEA LIST
+ All rights reserved.   This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/ 
+  
+ SPDX-License-Identifier: EPL-2.0
+   </copyright>
+
+   <requires>
+      <import feature="org.eclipse.papyrus.sdk.feature" version="4.0.0" match="compatible"/>
+   </requires>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.diagram.common"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.diagram.blockdefinition"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.diagram.internalblock"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.diagram.parametric"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.diagram.requirement"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.edit"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.service.types"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.validation"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.nattable.allocation"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.nattable.common"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.nattable.requirement"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.nattable.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.architecture"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.modelexplorer"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.papyrus.sysml16.feature/pom.xml b/features/org.eclipse.papyrus.sysml16.feature/pom.xml
new file mode 100644
index 0000000..ed4b045
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/pom.xml
@@ -0,0 +1,14 @@
+<?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.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.features</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.feature</artifactId>
+	<packaging>eclipse-feature</packaging>
+	<name>org.eclipse.papyrus.sysml16.feature</name>
+	<description>This plugin gather all SysML 1.6 plugins to define a fully functionnal DSML editor.</description>
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/.project b/features/org.eclipse.papyrus.sysml16.rcp.feature/.project
new file mode 100644
index 0000000..4e0c9af
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.rcp.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.papyrus.sysml16.rcp.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/.settings/org.eclipse.m2e.core.prefs b/features/org.eclipse.papyrus.sysml16.rcp.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/build.properties b/features/org.eclipse.papyrus.sysml16.rcp.feature/build.properties
new file mode 100644
index 0000000..b3a611b
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = feature.xml,\
+               feature.properties
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/feature.properties b/features/org.eclipse.papyrus.sysml16.rcp.feature/feature.properties
new file mode 100644
index 0000000..7a292c5
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/feature.properties
@@ -0,0 +1,7 @@
+# NLS_MESSAGEFORMAT_VAR
+
+# "featureName" property - name of the feature
+featureName=Papyrus SysML 1.6 RCP Feature
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse Modeling Project 
\ No newline at end of file
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/feature.xml b/features/org.eclipse.papyrus.sysml16.rcp.feature/feature.xml
new file mode 100644
index 0000000..482f5af
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/feature.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.papyrus.sysml16.rcp.feature"
+      label="%featureName"
+      version="1.0.0.qualifier"
+      provider-name="%providerName"
+      license-feature="org.eclipse.license"
+      license-feature-version="2.0.1">
+
+   <description url="https://eclipse.org/papyrus/">
+      This feature defines the Rich Client Platform dedicated to SysML 1.6 
+   </description>
+
+   <copyright url="https://www.eclipse.org/legal/epl-2.0/">
+      Copyright (c) 2019 CEA LIST
+ All rights reserved.   This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/ 
+  
+ SPDX-License-Identifier: EPL-2.0
+   </copyright>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.rcp"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/pom.xml b/features/org.eclipse.papyrus.sysml16.rcp.feature/pom.xml
new file mode 100644
index 0000000..8e73c8b
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/pom.xml
@@ -0,0 +1,14 @@
+<?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.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.features</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.rcp.feature</artifactId>
+	<packaging>eclipse-feature</packaging>
+	<name>org.eclipse.papyrus.sysml16.rcp.feature</name>
+	<description>This plugin packages the rcp in a feature to be used as it in the SysML 1.6 product.</description>
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.project b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.project
new file mode 100644
index 0000000..4e95fea
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.requirements.extension.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.settings/org.eclipse.m2e.core.prefs b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/build.properties b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/build.properties
new file mode 100644
index 0000000..b3a611b
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = feature.xml,\
+               feature.properties
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/feature.properties b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/feature.properties
new file mode 100644
index 0000000..4e39621
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/feature.properties
@@ -0,0 +1,8 @@
+# NLS_MESSAGEFORMAT_VAR
+
+# "featureName" property - name of the feature
+featureName=Papyrus SysML 1.6 Requirements Extension Feature
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse Modeling Project 
+
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/feature.xml b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/feature.xml
new file mode 100644
index 0000000..5183b99
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/feature.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.papyrus.sysml16.requirements.extension.feature"
+      label="%featureName"
+      version="1.0.0.qualifier"
+      provider-name="%providerName"
+      plugin="org.eclipse.papyrus.sysml16.requirements.extension.ui"
+      license-feature="org.eclipse.license"
+      license-feature-version="2.0.1">
+
+   <description url="https://eclipse.org/papyrus/">
+      This feature enables to create, manage, validate SysML 1.6 Requirements Extension models.
+   </description>
+
+   <copyright url="https://www.eclipse.org/legal/epl-2.0/">
+      Copyright (c) 2019 CEA LIST
+ All rights reserved.   This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/ 
+  
+ SPDX-License-Identifier: EPL-2.0
+   </copyright>
+
+   <requires>
+      <import feature="org.eclipse.papyrus.sdk.feature" version="4.0.0" match="compatible"/>
+      <import feature="org.eclipse.papyrus.sysml16.feature" version="0.0.0" match="compatible"/>
+   </requires>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.requirements.extension"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.requirements.extension.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.requirements.extension.edit"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+
+   <plugin
+         id="org.eclipse.papyrus.sysml16.requirements.extension.validation"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/pom.xml b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/pom.xml
new file mode 100644
index 0000000..54dec54
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/pom.xml
@@ -0,0 +1,14 @@
+<?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.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.features</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.requirements.extension.feature</artifactId>
+	<packaging>eclipse-feature</packaging>
+	<name>org.eclipse.papyrus.sysml16.requirements.extension.feature</name>
+	<description>This plugin gather all SysML 1.6 Requirements Extension plugins.</description>
+</project>
\ No newline at end of file
diff --git a/features/pom.xml b/features/pom.xml
new file mode 100644
index 0000000..08db5e5
--- /dev/null
+++ b/features/pom.xml
@@ -0,0 +1,30 @@
+<?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.sysml16.parent</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.features</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML Features</name>
+	<description>SysML Features.</description>
+	<modules>
+		<module>org.eclipse.papyrus.sysml16.feature</module>
+		<module>org.eclipse.papyrus.sysml16.requirements.extension.feature</module>
+	</modules>
+	
+	<profiles>
+		<profile>
+			<id>product</id>
+			<activation>
+				<activeByDefault>false</activeByDefault>
+			</activation>
+			<modules>
+				<module>org.eclipse.papyrus.sysml16.rcp.feature</module>
+			</modules>
+		</profile>
+	</profiles>
+</project>
diff --git a/plugins/.settings/org.eclipse.core.resources.prefs b/plugins/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/plugins/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/plugins/core/.settings/org.eclipse.core.resources.prefs b/plugins/core/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/plugins/core/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.classpath b/plugins/core/org.eclipse.papyrus.sysml16.edit/.classpath
new file mode 100644
index 0000000..5814bdf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src-gen/"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.project b/plugins/core/org.eclipse.papyrus.sysml16.edit/.project
new file mode 100644
index 0000000..2ecbc26
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.edit</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.core.resources.prefs b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.core.runtime.prefs b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.jdt.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.jdt.ui.prefs b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.m2e.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.pde.api.tools.prefs b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/META-INF/MANIFEST.MF b/plugins/core/org.eclipse.papyrus.sysml16.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..4637c9e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,32 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin$Implementation
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.sysml16.edit.provider,
+ org.eclipse.papyrus.sysml16.activities.provider,
+ org.eclipse.papyrus.sysml16.allocations.provider,
+ org.eclipse.papyrus.sysml16.blocks.provider,
+ org.eclipse.papyrus.sysml16.constraintblocks.provider,
+ org.eclipse.papyrus.sysml16.deprecatedelements.provider,
+ org.eclipse.papyrus.sysml16.modelelements.provider,
+ org.eclipse.papyrus.sysml16.portsandflows.provider,
+ org.eclipse.papyrus.sysml16.provider,
+ org.eclipse.papyrus.sysml16.requirements.provider
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.11.1,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.11.2,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml.profile.standard;bundle-version="[1.0.100,2.0.0)";visibility:=reexport,
+ org.eclipse.uml2.types;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml.edit;bundle-version="[5.1.1,6.0.0)";visibility:=reexport,
+ org.eclipse.uml2.common.edit;bundle-version="[2.1.0,3.0.0)";visibility:=reexport
+Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.edit
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/about.html b/plugins/core/org.eclipse.papyrus.sysml16.edit/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/core/org.eclipse.papyrus.sysml16.edit/build.properties b/plugins/core/org.eclipse.papyrus.sysml16.edit/build.properties
new file mode 100644
index 0000000..f046783
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/build.properties
@@ -0,0 +1,20 @@
+# 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 2.0
+#  which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               about.html,\
+               icons/
+jars.compile.order = .
+source.. = src-gen/,\
+           src/
+output.. = target/classes/
+src.includes = about.html
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AbstractRequirement.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AbstractRequirement.gif
new file mode 100644
index 0000000..b0a67f7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AbstractRequirement.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AcceptChangeStructuralFeatureEventAction.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AcceptChangeStructuralFeatureEventAction.gif
new file mode 100644
index 0000000..5a2faef
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AcceptChangeStructuralFeatureEventAction.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AddFlowPropertyValueOnNestedPortAction.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AddFlowPropertyValueOnNestedPortAction.gif
new file mode 100644
index 0000000..28a897e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AddFlowPropertyValueOnNestedPortAction.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AdjunctProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AdjunctProperty.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AdjunctProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocate.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocate.gif
new file mode 100644
index 0000000..a4a2536
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocate.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AllocateActivityPartition.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AllocateActivityPartition.gif
new file mode 100644
index 0000000..341b09e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AllocateActivityPartition.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocated.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocated.gif
new file mode 100644
index 0000000..c673a52
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocated.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AssociationBlock.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AssociationBlock.gif
new file mode 100644
index 0000000..7db9c69
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AssociationBlock.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BindingConnector.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BindingConnector.gif
new file mode 100644
index 0000000..8b9fa8a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BindingConnector.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Block.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Block.gif
new file mode 100644
index 0000000..bc5ab83
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Block.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BlockProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BlockProperty.gif
new file mode 100644
index 0000000..0e14c65
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BlockProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BoundReference.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BoundReference.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BoundReference.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ChangeStructuralFeatureEvent.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ChangeStructuralFeatureEvent.gif
new file mode 100644
index 0000000..22d4ab4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ChangeStructuralFeatureEvent.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ClassifierBehaviorProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ClassifierBehaviorProperty.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ClassifierBehaviorProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Conform.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Conform.gif
new file mode 100644
index 0000000..1c2c5c2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Conform.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConjugatedInterfaceBlock.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConjugatedInterfaceBlock.gif
new file mode 100644
index 0000000..bc5ab83
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConjugatedInterfaceBlock.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConnectorProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConnectorProperty.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConnectorProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintBlock.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintBlock.gif
new file mode 100644
index 0000000..3e7750a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintBlock.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintProperty.gif
new file mode 100644
index 0000000..7c948e8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Continuous.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Continuous.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Continuous.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator.gif
new file mode 100644
index 0000000..482a4d5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Behavior.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Behavior.gif
new file mode 100644
index 0000000..482a4d5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Behavior.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Operation.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Operation.gif
new file mode 100644
index 0000000..482a4d5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Operation.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Copy.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Copy.gif
new file mode 100644
index 0000000..47caa0b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Copy.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Deprecated.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Deprecated.gif
new file mode 100644
index 0000000..ef56c14
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Deprecated.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DeriveReqt.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DeriveReqt.gif
new file mode 100644
index 0000000..6217748
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DeriveReqt.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Dimension.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Dimension.gif
new file mode 100644
index 0000000..eb861a0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Dimension.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedFeature.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedFeature.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedFeature.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedRelationshipPropertyPath.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedRelationshipPropertyPath.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedRelationshipPropertyPath.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Discrete.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Discrete.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Discrete.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DistributedProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DistributedProperty.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DistributedProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementGroup.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementGroup.gif
new file mode 100644
index 0000000..aae7e3c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementGroup.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementPropertyPath.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementPropertyPath.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementPropertyPath.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/EndPathMultiplicity.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/EndPathMultiplicity.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/EndPathMultiplicity.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Expose.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Expose.gif
new file mode 100644
index 0000000..e8dea1b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Expose.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort.gif
new file mode 100644
index 0000000..78ed7ce
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_IN.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_IN.gif
new file mode 100644
index 0000000..6e45798
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_IN.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_INOUT.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_INOUT.gif
new file mode 100644
index 0000000..78ed7ce
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_INOUT.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_NA.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_NA.gif
new file mode 100644
index 0000000..3fd4b05
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_NA.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_OUT.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_OUT.gif
new file mode 100644
index 0000000..1b7c2cb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_OUT.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty.gif
new file mode 100644
index 0000000..77c0e22
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_IN.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_IN.gif
new file mode 100644
index 0000000..dcf0b98
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_IN.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_INOUT.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_INOUT.gif
new file mode 100644
index 0000000..9b24cf5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_INOUT.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_OUT.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_OUT.gif
new file mode 100644
index 0000000..1630535
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_OUT.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowSpecification.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowSpecification.gif
new file mode 100644
index 0000000..1df635f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowSpecification.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FullPort.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FullPort.gif
new file mode 100644
index 0000000..1fe1d48
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FullPort.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InterfaceBlock.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InterfaceBlock.gif
new file mode 100644
index 0000000..bc5ab83
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InterfaceBlock.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InvocationOnNestedPortAction.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InvocationOnNestedPortAction.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InvocationOnNestedPortAction.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ItemFlow.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ItemFlow.gif
new file mode 100644
index 0000000..31c9dc8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ItemFlow.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd.gif
new file mode 100644
index 0000000..a23b0b0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_ConnectorEnd.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_ConnectorEnd.gif
new file mode 100644
index 0000000..a23b0b0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_ConnectorEnd.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_Element.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_Element.gif
new file mode 100644
index 0000000..a23b0b0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_Element.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NoBuffer.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NoBuffer.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NoBuffer.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Operation.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Operation.gif
new file mode 100644
index 0000000..482a4d5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Operation.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Optional.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Optional.gif
new file mode 100644
index 0000000..b156d84
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Optional.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Overwrite.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Overwrite.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Overwrite.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ParticipantProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ParticipantProperty.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ParticipantProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Probability.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Probability.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Probability.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Problem.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Problem.gif
new file mode 100644
index 0000000..cd989e8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Problem.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/PropertySpecificType.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/PropertySpecificType.gif
new file mode 100644
index 0000000..c60f0d5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/PropertySpecificType.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ProxyPort.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ProxyPort.gif
new file mode 100644
index 0000000..2570ec8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ProxyPort.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rate.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rate.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rate.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rationale.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rationale.gif
new file mode 100644
index 0000000..a82851f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rationale.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Refine.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Refine.gif
new file mode 100644
index 0000000..c8d1d8c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Refine.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Requirement.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Requirement.gif
new file mode 100644
index 0000000..50618e0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Requirement.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/RequirementRelated.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/RequirementRelated.gif
new file mode 100644
index 0000000..33854e9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/RequirementRelated.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Satisfy.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Satisfy.gif
new file mode 100644
index 0000000..00848d8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Satisfy.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Stakeholder.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Stakeholder.gif
new file mode 100644
index 0000000..afb2ea7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Stakeholder.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase.gif
new file mode 100644
index 0000000..ac29611
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Behavior.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Behavior.gif
new file mode 100644
index 0000000..ac29611
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Behavior.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Operation.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Operation.gif
new file mode 100644
index 0000000..ac29611
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Operation.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Trace.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Trace.gif
new file mode 100644
index 0000000..f4cb0d3
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Trace.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort.gif
new file mode 100644
index 0000000..0b53cf6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Element.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Element.gif
new file mode 100644
index 0000000..0b53cf6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Element.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Trigger.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Trigger.gif
new file mode 100644
index 0000000..0b53cf6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Trigger.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Unit.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Unit.gif
new file mode 100644
index 0000000..33bfb26
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Unit.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ValueType.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ValueType.gif
new file mode 100644
index 0000000..eb54412
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ValueType.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Verify.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Verify.gif
new file mode 100644
index 0000000..2d54efc
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Verify.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/View.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/View.gif
new file mode 100644
index 0000000..2d874ff
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/View.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Viewpoint.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Viewpoint.gif
new file mode 100644
index 0000000..a1cd285
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Viewpoint.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/plugin.properties b/plugins/core/org.eclipse.papyrus.sysml16.edit/plugin.properties
new file mode 100644
index 0000000..cef67ec
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/plugin.properties
@@ -0,0 +1,255 @@
+# Copyright (c) 2019 CEA LIST.
+# 
+#  All rights reserved. This program and the accompanying materials
+#  are made available under the terms of the Eclipse Public License 2.0
+#  which accompanies this distribution, and is available at
+#  http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+# 
+
+Bundle-Name = Papyrus SysML 1.6 Profile Edit Support
+Bundle-Vendor = Eclipse Modeling Project
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_Continuous_type = Continuous
+_UI_Rate_type = Rate
+_UI_ControlOperator_type = Control Operator
+_UI_Discrete_type = Discrete
+_UI_NoBuffer_type = No Buffer
+_UI_Optional_type = Optional
+_UI_Overwrite_type = Overwrite
+_UI_Probability_type = Probability
+_UI_Allocate_type = Allocate
+_UI_AllocateActivityPartition_type = Allocate Activity Partition
+_UI_AdjunctProperty_type = Adjunct Property
+_UI_BindingConnector_type = Binding Connector
+_UI_Block_type = Block
+_UI_BoundReference_type = Bound Reference
+_UI_EndPathMultiplicity_type = End Path Multiplicity
+_UI_ClassifierBehaviorProperty_type = Classifier Behavior Property
+_UI_ConnectorProperty_type = Connector Property
+_UI_DistributedProperty_type = Distributed Property
+_UI_ElementPropertyPath_type = Element Property Path
+_UI_NestedConnectorEnd_type = Nested Connector End
+_UI_ParticipantProperty_type = Participant Property
+_UI_PropertySpecificType_type = Property Specific Type
+_UI_ValueType_type = Value Type
+_UI_DirectedRelationshipPropertyPath_type = Directed Relationship Property Path
+_UI_ConstraintBlock_type = Constraint Block
+_UI_FlowPort_type = Flow Port
+_UI_FlowSpecification_type = Flow Specification
+_UI_AcceptChangeStructuralFeatureEventAction_type = Accept Change Structural Feature Event Action
+_UI_ChangeStructuralFeatureEvent_type = Change Structural Feature Event
+_UI_DirectedFeature_type = Directed Feature
+_UI_FlowProperty_type = Flow Property
+_UI_FullPort_type = Full Port
+_UI_InterfaceBlock_type = Interface Block
+_UI_InvocationOnNestedPortAction_type = Invocation On Nested Port Action
+_UI_ItemFlow_type = Item Flow
+_UI_ProxyPort_type = Proxy Port
+_UI_TriggerOnNestedPort_type = Trigger On Nested Port
+_UI_ConjugatedInterfaceBlock_type = Conjugated Interface Block
+_UI_AddFlowPropertyValueOnNestedPortAction_type = Add Flow Property Value On Nested Port Action
+_UI_Conform_type = Conform
+_UI_ElementGroup_type = Element Group
+_UI_Expose_type = Expose
+_UI_Problem_type = Problem
+_UI_Rationale_type = Rationale
+_UI_Stakeholder_type = Stakeholder
+_UI_View_type = View
+_UI_Viewpoint_type = Viewpoint
+_UI_Copy_type = Copy
+_UI_Trace_type = Trace
+_UI_Requirement_type = Requirement
+_UI_AbstractRequirement_type = Abstract Requirement
+_UI_DeriveReqt_type = Derive Reqt
+_UI_Refine_type = Refine
+_UI_Satisfy_type = Satisfy
+_UI_TestCase_type = Test Case
+_UI_Verify_type = Verify
+_UI_Auxiliary_type = Auxiliary
+_UI_Call_type = Call
+_UI_Create_type = Create
+_UI_Derive_type = Derive
+_UI_Destroy_type = Destroy
+_UI_Document_type = Document
+_UI_File_type = File
+_UI_Entity_type = Entity
+_UI_Executable_type = Executable
+_UI_Focus_type = Focus
+_UI_Framework_type = Framework
+_UI_Implement_type = Implement
+_UI_ImplementationClass_type = Implementation Class
+_UI_Instantiate_type = Instantiate
+_UI_Library_type = Library
+_UI_Metaclass_type = Metaclass
+_UI_ModelLibrary_type = Model Library
+_UI_Process_type = Process
+_UI_Realization_type = Realization
+_UI_Refine_type = Refine
+_UI_Responsibility_type = Responsibility
+_UI_Script_type = Script
+_UI_Send_type = Send
+_UI_Service_type = Service
+_UI_Source_type = Source
+_UI_Specification_type = Specification
+_UI_Subsystem_type = Subsystem
+_UI_Trace_type = Trace
+_UI_Type_type = Type
+_UI_Utility_type = Utility
+_UI_BuildComponent_type = Build Component
+_UI_Metamodel_type = Metamodel
+_UI_SystemModel_type = System Model
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_Rate_base_ActivityEdge_feature = Base Activity Edge
+_UI_Rate_base_ObjectNode_feature = Base Object Node
+_UI_Rate_base_Parameter_feature = Base Parameter
+_UI_Rate_rate_feature = Rate
+_UI_ControlOperator_base_Behavior_feature = Base Behavior
+_UI_ControlOperator_base_Operation_feature = Base Operation
+_UI_NoBuffer_base_ObjectNode_feature = Base Object Node
+_UI_Optional_base_Parameter_feature = Base Parameter
+_UI_Overwrite_base_ObjectNode_feature = Base Object Node
+_UI_Probability_base_ActivityEdge_feature = Base Activity Edge
+_UI_Probability_base_ParameterSet_feature = Base Parameter Set
+_UI_Probability_probability_feature = Probability
+_UI_Allocate_base_Abstraction_feature = Base Abstraction
+_UI_AllocateActivityPartition_base_ActivityPartition_feature = Base Activity Partition
+_UI_AdjunctProperty_base_Property_feature = Base Property
+_UI_AdjunctProperty_principal_feature = Principal
+_UI_BindingConnector_base_Connector_feature = Base Connector
+_UI_Block_base_Class_feature = Base Class
+_UI_Block_isEncapsulated_feature = Is Encapsulated
+_UI_BoundReference_bindingPath_feature = Binding Path
+_UI_BoundReference_boundEnd_feature = Bound End
+_UI_EndPathMultiplicity_base_Property_feature = Base Property
+_UI_EndPathMultiplicity_lower_feature = Lower
+_UI_EndPathMultiplicity_upper_feature = Upper
+_UI_ClassifierBehaviorProperty_base_Property_feature = Base Property
+_UI_ConnectorProperty_base_Property_feature = Base Property
+_UI_ConnectorProperty_connector_feature = Connector
+_UI_DistributedProperty_base_Property_feature = Base Property
+_UI_ElementPropertyPath_base_Element_feature = Base Element
+_UI_ElementPropertyPath_propertyPath_feature = Property Path
+_UI_NestedConnectorEnd_base_ConnectorEnd_feature = Base Connector End
+_UI_ParticipantProperty_base_Property_feature = Base Property
+_UI_ParticipantProperty_end_feature = End
+_UI_PropertySpecificType_base_Classifier_feature = Base Classifier
+_UI_ValueType_base_DataType_feature = Base Data Type
+_UI_ValueType_quantityKind_feature = Quantity Kind
+_UI_ValueType_unit_feature = Unit
+_UI_DirectedRelationshipPropertyPath_base_DirectedRelationship_feature = Base Directed Relationship
+_UI_DirectedRelationshipPropertyPath_sourceContext_feature = Source Context
+_UI_DirectedRelationshipPropertyPath_sourcePropertyPath_feature = Source Property Path
+_UI_DirectedRelationshipPropertyPath_targetContext_feature = Target Context
+_UI_DirectedRelationshipPropertyPath_targetPropertyPath_feature = Target Property Path
+_UI_FlowPort_base_Port_feature = Base Port
+_UI_FlowPort_direction_feature = Direction
+_UI_FlowPort_isAtomic_feature = Is Atomic
+_UI_FlowSpecification_base_Interface_feature = Base Interface
+_UI_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_feature = Base Accept Event Action
+_UI_ChangeStructuralFeatureEvent_base_ChangeEvent_feature = Base Change Event
+_UI_ChangeStructuralFeatureEvent_structuralFeature_feature = Structural Feature
+_UI_DirectedFeature_base_Feature_feature = Base Feature
+_UI_DirectedFeature_featureDirection_feature = Feature Direction
+_UI_FlowProperty_base_Property_feature = Base Property
+_UI_FlowProperty_direction_feature = Direction
+_UI_FullPort_base_Port_feature = Base Port
+_UI_InvocationOnNestedPortAction_base_InvocationAction_feature = Base Invocation Action
+_UI_InvocationOnNestedPortAction_onNestedPort_feature = On Nested Port
+_UI_ItemFlow_base_InformationFlow_feature = Base Information Flow
+_UI_ItemFlow_itemProperty_feature = Item Property
+_UI_ProxyPort_base_Port_feature = Base Port
+_UI_TriggerOnNestedPort_base_Trigger_feature = Base Trigger
+_UI_TriggerOnNestedPort_onNestedPort_feature = On Nested Port
+_UI_ConjugatedInterfaceBlock_original_feature = Original
+_UI_AddFlowPropertyValueOnNestedPortAction_onNestedPort_feature = On Nested Port
+_UI_AddFlowPropertyValueOnNestedPortAction_base_AddStructuralFeatureValueAction_feature = Base Add Structural Feature Value Action
+_UI_Conform_base_Generalization_feature = Base Generalization
+_UI_ElementGroup_base_Comment_feature = Base Comment
+_UI_ElementGroup_criterion_feature = Criterion
+_UI_ElementGroup_member_feature = Member
+_UI_ElementGroup_name_feature = Name
+_UI_ElementGroup_orderedMember_feature = Ordered Member
+_UI_ElementGroup_size_feature = Size
+_UI_Expose_base_Dependency_feature = Base Dependency
+_UI_Problem_base_Comment_feature = Base Comment
+_UI_Rationale_base_Comment_feature = Base Comment
+_UI_Stakeholder_base_Classifier_feature = Base Classifier
+_UI_Stakeholder_concernList_feature = Concern List
+_UI_Stakeholder_concern_feature = Concern
+_UI_View_base_Class_feature = Base Class
+_UI_View_stakeholder_feature = Stakeholder
+_UI_View_viewPoint_feature = View Point
+_UI_Viewpoint_base_Class_feature = Base Class
+_UI_Viewpoint_concern_feature = Concern
+_UI_Viewpoint_concernList_feature = Concern List
+_UI_Viewpoint_language_feature = Language
+_UI_Viewpoint_method_feature = Method
+_UI_Viewpoint_presentation_feature = Presentation
+_UI_Viewpoint_purpose_feature = Purpose
+_UI_Viewpoint_stakeholder_feature = Stakeholder
+_UI_Requirement_base_Class_feature = Base Class
+_UI_AbstractRequirement_base_NamedElement_feature = Base Named Element
+_UI_AbstractRequirement_derived_feature = Derived
+_UI_AbstractRequirement_derivedFrom_feature = Derived From
+_UI_AbstractRequirement_id_feature = Id
+_UI_AbstractRequirement_master_feature = Master
+_UI_AbstractRequirement_refinedBy_feature = Refined By
+_UI_AbstractRequirement_satisfiedBy_feature = Satisfied By
+_UI_AbstractRequirement_text_feature = Text
+_UI_AbstractRequirement_tracedTo_feature = Traced To
+_UI_AbstractRequirement_verifiedBy_feature = Verified By
+_UI_TestCase_base_Behavior_feature = Base Behavior
+_UI_TestCase_base_Operation_feature = Base Operation
+_UI_Auxiliary_base_Class_feature = Base Class
+_UI_Call_base_Usage_feature = Base Usage
+_UI_Create_base_BehavioralFeature_feature = Base Behavioral Feature
+_UI_Create_base_Usage_feature = Base Usage
+_UI_Derive_computation_feature = Computation
+_UI_Derive_base_Abstraction_feature = Base Abstraction
+_UI_Destroy_base_BehavioralFeature_feature = Base Behavioral Feature
+_UI_File_base_Artifact_feature = Base Artifact
+_UI_Entity_base_Component_feature = Base Component
+_UI_Focus_base_Class_feature = Base Class
+_UI_Framework_base_Package_feature = Base Package
+_UI_Implement_base_Component_feature = Base Component
+_UI_ImplementationClass_base_Class_feature = Base Class
+_UI_Instantiate_base_Usage_feature = Base Usage
+_UI_Metaclass_base_Class_feature = Base Class
+_UI_ModelLibrary_base_Package_feature = Base Package
+_UI_Process_base_Component_feature = Base Component
+_UI_Realization_base_Classifier_feature = Base Classifier
+_UI_Refine_base_Abstraction_feature = Base Abstraction
+_UI_Responsibility_base_Usage_feature = Base Usage
+_UI_Send_base_Usage_feature = Base Usage
+_UI_Service_base_Component_feature = Base Component
+_UI_Specification_base_Classifier_feature = Base Classifier
+_UI_Subsystem_base_Component_feature = Base Component
+_UI_Trace_base_Abstraction_feature = Base Abstraction
+_UI_Type_base_Class_feature = Base Class
+_UI_Utility_base_Class_feature = Base Class
+_UI_BuildComponent_base_Component_feature = Base Component
+_UI_Metamodel_base_Model_feature = Base Model
+_UI_SystemModel_base_Model_feature = Base Model
+_UI_Unknown_feature = Unspecified
+
+_UI_FeatureDirectionKind_provided_literal = provided
+_UI_FeatureDirectionKind_providedRequired_literal = providedRequired
+_UI_FeatureDirectionKind_required_literal = required
+_UI_FlowDirectionKind_in_literal = in
+_UI_FlowDirectionKind_inout_literal = inout
+_UI_FlowDirectionKind_out_literal = out
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/plugin.xml b/plugins/core/org.eclipse.papyrus.sysml16.edit/plugin.xml
new file mode 100644
index 0000000..3940d7f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/plugin.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <!-- @generated SysML.profile -->
+      <factory
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities"
+            class="org.eclipse.papyrus.sysml16.activities.provider.ActivitiesItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <!-- @generated SysML.profile -->
+      <factory
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations"
+            class="org.eclipse.papyrus.sysml16.allocations.provider.AllocationsItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <!-- @generated SysML -->
+      <factory
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks"
+            class="org.eclipse.papyrus.sysml16.blocks.provider.BlocksItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <!-- @generated SysML.profile -->
+      <factory
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks"
+            class="org.eclipse.papyrus.sysml16.constraintblocks.provider.ConstraintBlocksItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <!-- @generated SysML.profile -->
+      <factory
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements"
+            class="org.eclipse.papyrus.sysml16.deprecatedelements.provider.DeprecatedElementsItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <!-- @generated SysML.profile -->
+      <factory
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows"
+            class="org.eclipse.papyrus.sysml16.portsandflows.provider.PortsAndFlowsItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <!-- @generated SysML.profile -->
+      <factory
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements"
+            class="org.eclipse.papyrus.sysml16.modelelements.provider.ModelElementsItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <!-- @generated SysML.profile -->
+      <factory
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements"
+            class="org.eclipse.papyrus.sysml16.requirements.provider.RequirementsItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+</plugin>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/pom.xml b/plugins/core/org.eclipse.papyrus.sysml16.edit/pom.xml
new file mode 100644
index 0000000..f11c1af
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/pom.xml
@@ -0,0 +1,14 @@
+<?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.sysml16.core</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.edit</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.edit</name>
+	<description>This plug-in has been generated from this file : /org.eclipse.papyrus-sysml/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.genmodel</description>
+</project>
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ActivitiesItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ActivitiesItemProviderAdapterFactory.java
new file mode 100644
index 0000000..898cee4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ActivitiesItemProviderAdapterFactory.java
@@ -0,0 +1,384 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.activities.util.ActivitiesAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActivitiesItemProviderAdapterFactory extends ActivitiesAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ActivitiesItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.Continuous} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ContinuousItemProvider continuousItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.Continuous}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createContinuousAdapter() {
+		if (continuousItemProvider == null) {
+			continuousItemProvider = new ContinuousItemProvider(this);
+		}
+
+		return continuousItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.Rate} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RateItemProvider rateItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.Rate}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createRateAdapter() {
+		if (rateItemProvider == null) {
+			rateItemProvider = new RateItemProvider(this);
+		}
+
+		return rateItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.ControlOperator} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ControlOperatorItemProvider controlOperatorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.ControlOperator}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createControlOperatorAdapter() {
+		if (controlOperatorItemProvider == null) {
+			controlOperatorItemProvider = new ControlOperatorItemProvider(this);
+		}
+
+		return controlOperatorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.Discrete} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DiscreteItemProvider discreteItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.Discrete}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDiscreteAdapter() {
+		if (discreteItemProvider == null) {
+			discreteItemProvider = new DiscreteItemProvider(this);
+		}
+
+		return discreteItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.NoBuffer} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected NoBufferItemProvider noBufferItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.NoBuffer}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createNoBufferAdapter() {
+		if (noBufferItemProvider == null) {
+			noBufferItemProvider = new NoBufferItemProvider(this);
+		}
+
+		return noBufferItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.Optional} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected OptionalItemProvider optionalItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.Optional}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createOptionalAdapter() {
+		if (optionalItemProvider == null) {
+			optionalItemProvider = new OptionalItemProvider(this);
+		}
+
+		return optionalItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.Overwrite} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected OverwriteItemProvider overwriteItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.Overwrite}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createOverwriteAdapter() {
+		if (overwriteItemProvider == null) {
+			overwriteItemProvider = new OverwriteItemProvider(this);
+		}
+
+		return overwriteItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.Probability} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProbabilityItemProvider probabilityItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.Probability}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createProbabilityAdapter() {
+		if (probabilityItemProvider == null) {
+			probabilityItemProvider = new ProbabilityItemProvider(this);
+		}
+
+		return probabilityItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		if (continuousItemProvider != null) continuousItemProvider.dispose();
+		if (rateItemProvider != null) rateItemProvider.dispose();
+		if (controlOperatorItemProvider != null) controlOperatorItemProvider.dispose();
+		if (discreteItemProvider != null) discreteItemProvider.dispose();
+		if (noBufferItemProvider != null) noBufferItemProvider.dispose();
+		if (optionalItemProvider != null) optionalItemProvider.dispose();
+		if (overwriteItemProvider != null) overwriteItemProvider.dispose();
+		if (probabilityItemProvider != null) probabilityItemProvider.dispose();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ContinuousItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ContinuousItemProvider.java
new file mode 100644
index 0000000..55ff721
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ContinuousItemProvider.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.Continuous} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ContinuousItemProvider extends RateItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ContinuousItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns Continuous.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Continuous")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Continuous_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ControlOperatorItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ControlOperatorItemProvider.java
new file mode 100644
index 0000000..94a3e58
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ControlOperatorItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.ControlOperator} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ControlOperatorItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ControlOperatorItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_BehaviorPropertyDescriptor(object);
+			addBase_OperationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Behavior feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_BehaviorPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ControlOperator_base_Behavior_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ControlOperator_base_Behavior_feature", "_UI_ControlOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ActivitiesPackage.Literals.CONTROL_OPERATOR__BASE_BEHAVIOR,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Operation feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_OperationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ControlOperator_base_Operation_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ControlOperator_base_Operation_feature", "_UI_ControlOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ActivitiesPackage.Literals.CONTROL_OPERATOR__BASE_OPERATION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ControlOperator.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ControlOperator")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ControlOperator_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/DiscreteItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/DiscreteItemProvider.java
new file mode 100644
index 0000000..c156596
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/DiscreteItemProvider.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.Discrete} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DiscreteItemProvider extends RateItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DiscreteItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns Discrete.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Discrete")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Discrete_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/NoBufferItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/NoBufferItemProvider.java
new file mode 100644
index 0000000..5220046
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/NoBufferItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.NoBuffer} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NoBufferItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NoBufferItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ObjectNodePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Object Node feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ObjectNodePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_NoBuffer_base_ObjectNode_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_NoBuffer_base_ObjectNode_feature", "_UI_NoBuffer_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ActivitiesPackage.Literals.NO_BUFFER__BASE_OBJECT_NODE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns NoBuffer.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/NoBuffer")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_NoBuffer_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/OptionalItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/OptionalItemProvider.java
new file mode 100644
index 0000000..bbc99a6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/OptionalItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.Optional} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OptionalItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OptionalItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ParameterPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Parameter feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ParameterPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Optional_base_Parameter_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Optional_base_Parameter_feature", "_UI_Optional_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ActivitiesPackage.Literals.OPTIONAL__BASE_PARAMETER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Optional.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Optional")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Optional_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/OverwriteItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/OverwriteItemProvider.java
new file mode 100644
index 0000000..e78045b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/OverwriteItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.Overwrite} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OverwriteItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OverwriteItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ObjectNodePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Object Node feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ObjectNodePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Overwrite_base_ObjectNode_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Overwrite_base_ObjectNode_feature", "_UI_Overwrite_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ActivitiesPackage.Literals.OVERWRITE__BASE_OBJECT_NODE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Overwrite.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Overwrite")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Overwrite_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ProbabilityItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ProbabilityItemProvider.java
new file mode 100644
index 0000000..8857953
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ProbabilityItemProvider.java
@@ -0,0 +1,205 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.Probability} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProbabilityItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProbabilityItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ActivityEdgePropertyDescriptor(object);
+			addBase_ParameterSetPropertyDescriptor(object);
+			addProbabilityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Activity Edge feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ActivityEdgePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Probability_base_ActivityEdge_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Probability_base_ActivityEdge_feature", "_UI_Probability_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ActivitiesPackage.Literals.PROBABILITY__BASE_ACTIVITY_EDGE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Parameter Set feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ParameterSetPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Probability_base_ParameterSet_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Probability_base_ParameterSet_feature", "_UI_Probability_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ActivitiesPackage.Literals.PROBABILITY__BASE_PARAMETER_SET,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Probability feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbabilityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Probability_probability_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Probability_probability_feature", "_UI_Probability_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ActivitiesPackage.Literals.PROBABILITY__PROBABILITY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Probability.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Probability")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Probability_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/RateItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/RateItemProvider.java
new file mode 100644
index 0000000..dd7629c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/RateItemProvider.java
@@ -0,0 +1,228 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.Rate} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RateItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RateItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ActivityEdgePropertyDescriptor(object);
+			addBase_ObjectNodePropertyDescriptor(object);
+			addBase_ParameterPropertyDescriptor(object);
+			addRatePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Activity Edge feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ActivityEdgePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Rate_base_ActivityEdge_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Rate_base_ActivityEdge_feature", "_UI_Rate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ActivitiesPackage.Literals.RATE__BASE_ACTIVITY_EDGE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Object Node feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ObjectNodePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Rate_base_ObjectNode_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Rate_base_ObjectNode_feature", "_UI_Rate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ActivitiesPackage.Literals.RATE__BASE_OBJECT_NODE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Parameter feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ParameterPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Rate_base_Parameter_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Rate_base_Parameter_feature", "_UI_Rate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ActivitiesPackage.Literals.RATE__BASE_PARAMETER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Rate feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRatePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Rate_rate_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Rate_rate_feature", "_UI_Rate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ActivitiesPackage.Literals.RATE__RATE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Rate.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Rate")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Rate_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocateActivityPartitionItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocateActivityPartitionItemProvider.java
new file mode 100644
index 0000000..12376ff
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocateActivityPartitionItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AllocateActivityPartitionItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AllocateActivityPartitionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ActivityPartitionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Activity Partition feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ActivityPartitionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AllocateActivityPartition_base_ActivityPartition_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AllocateActivityPartition_base_ActivityPartition_feature", "_UI_AllocateActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 AllocationsPackage.Literals.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns AllocateActivityPartition.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/AllocateActivityPartition")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_AllocateActivityPartition_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocateItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocateItemProvider.java
new file mode 100644
index 0000000..b66ac9b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocateItemProvider.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.DirectedRelationshipPropertyPathItemProvider;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.allocations.Allocate} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AllocateItemProvider extends DirectedRelationshipPropertyPathItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AllocateItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_AbstractionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Abstraction feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_AbstractionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Allocate_base_Abstraction_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Allocate_base_Abstraction_feature", "_UI_Allocate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 AllocationsPackage.Literals.ALLOCATE__BASE_ABSTRACTION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Allocate.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Allocate")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Allocate_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocationsItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocationsItemProviderAdapterFactory.java
new file mode 100644
index 0000000..4441f88
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocationsItemProviderAdapterFactory.java
@@ -0,0 +1,240 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.allocations.util.AllocationsAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AllocationsItemProviderAdapterFactory extends AllocationsAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AllocationsItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.allocations.Allocate} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AllocateItemProvider allocateItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.allocations.Allocate}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createAllocateAdapter() {
+		if (allocateItemProvider == null) {
+			allocateItemProvider = new AllocateItemProvider(this);
+		}
+
+		return allocateItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AllocateActivityPartitionItemProvider allocateActivityPartitionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createAllocateActivityPartitionAdapter() {
+		if (allocateActivityPartitionItemProvider == null) {
+			allocateActivityPartitionItemProvider = new AllocateActivityPartitionItemProvider(this);
+		}
+
+		return allocateActivityPartitionItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		if (allocateItemProvider != null) allocateItemProvider.dispose();
+		if (allocateActivityPartitionItemProvider != null) allocateActivityPartitionItemProvider.dispose();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/AdjunctPropertyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/AdjunctPropertyItemProvider.java
new file mode 100644
index 0000000..401e6a6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/AdjunctPropertyItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AdjunctPropertyItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AdjunctPropertyItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_PropertyPropertyDescriptor(object);
+			addPrincipalPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Property feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_PropertyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AdjunctProperty_base_Property_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AdjunctProperty_base_Property_feature", "_UI_AdjunctProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.ADJUNCT_PROPERTY__BASE_PROPERTY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Principal feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addPrincipalPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AdjunctProperty_principal_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AdjunctProperty_principal_feature", "_UI_AdjunctProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.ADJUNCT_PROPERTY__PRINCIPAL,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns AdjunctProperty.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/AdjunctProperty")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_AdjunctProperty_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BindingConnectorItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BindingConnectorItemProvider.java
new file mode 100644
index 0000000..174ca74
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BindingConnectorItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.BindingConnector} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BindingConnectorItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BindingConnectorItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ConnectorPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Connector feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ConnectorPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BindingConnector_base_Connector_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_BindingConnector_base_Connector_feature", "_UI_BindingConnector_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.BINDING_CONNECTOR__BASE_CONNECTOR,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns BindingConnector.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BindingConnector")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_BindingConnector_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BlockItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BlockItemProvider.java
new file mode 100644
index 0000000..744f1ad
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BlockItemProvider.java
@@ -0,0 +1,192 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.Block} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BlockItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BlockItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ClassPropertyDescriptor(object);
+			addIsEncapsulatedPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Class feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ClassPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Block_base_Class_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Block_base_Class_feature", "_UI_Block_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.BLOCK__BASE_CLASS,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Is Encapsulated feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addIsEncapsulatedPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Block_isEncapsulated_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Block_isEncapsulated_feature", "_UI_Block_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.BLOCK__IS_ENCAPSULATED,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Block.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Block")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		Block block = (Block)object;
+		return getString("_UI_Block_type") + " " + block.isEncapsulated(); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(Block.class)) {
+			case BlocksPackage.BLOCK__IS_ENCAPSULATED:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BlocksItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BlocksItemProviderAdapterFactory.java
new file mode 100644
index 0000000..9635e8e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BlocksItemProviderAdapterFactory.java
@@ -0,0 +1,480 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.blocks.util.BlocksAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BlocksItemProviderAdapterFactory extends BlocksAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BlocksItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AdjunctPropertyItemProvider adjunctPropertyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdjunctPropertyAdapter() {
+		if (adjunctPropertyItemProvider == null) {
+			adjunctPropertyItemProvider = new AdjunctPropertyItemProvider(this);
+		}
+
+		return adjunctPropertyItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.BindingConnector} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BindingConnectorItemProvider bindingConnectorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.BindingConnector}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBindingConnectorAdapter() {
+		if (bindingConnectorItemProvider == null) {
+			bindingConnectorItemProvider = new BindingConnectorItemProvider(this);
+		}
+
+		return bindingConnectorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.Block} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BlockItemProvider blockItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.Block}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBlockAdapter() {
+		if (blockItemProvider == null) {
+			blockItemProvider = new BlockItemProvider(this);
+		}
+
+		return blockItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.BoundReference} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BoundReferenceItemProvider boundReferenceItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.BoundReference}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBoundReferenceAdapter() {
+		if (boundReferenceItemProvider == null) {
+			boundReferenceItemProvider = new BoundReferenceItemProvider(this);
+		}
+
+		return boundReferenceItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EndPathMultiplicityItemProvider endPathMultiplicityItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createEndPathMultiplicityAdapter() {
+		if (endPathMultiplicityItemProvider == null) {
+			endPathMultiplicityItemProvider = new EndPathMultiplicityItemProvider(this);
+		}
+
+		return endPathMultiplicityItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ClassifierBehaviorPropertyItemProvider classifierBehaviorPropertyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createClassifierBehaviorPropertyAdapter() {
+		if (classifierBehaviorPropertyItemProvider == null) {
+			classifierBehaviorPropertyItemProvider = new ClassifierBehaviorPropertyItemProvider(this);
+		}
+
+		return classifierBehaviorPropertyItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.ConnectorProperty} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ConnectorPropertyItemProvider connectorPropertyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ConnectorProperty}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createConnectorPropertyAdapter() {
+		if (connectorPropertyItemProvider == null) {
+			connectorPropertyItemProvider = new ConnectorPropertyItemProvider(this);
+		}
+
+		return connectorPropertyItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.DistributedProperty} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DistributedPropertyItemProvider distributedPropertyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.DistributedProperty}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDistributedPropertyAdapter() {
+		if (distributedPropertyItemProvider == null) {
+			distributedPropertyItemProvider = new DistributedPropertyItemProvider(this);
+		}
+
+		return distributedPropertyItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected NestedConnectorEndItemProvider nestedConnectorEndItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createNestedConnectorEndAdapter() {
+		if (nestedConnectorEndItemProvider == null) {
+			nestedConnectorEndItemProvider = new NestedConnectorEndItemProvider(this);
+		}
+
+		return nestedConnectorEndItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.ParticipantProperty} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ParticipantPropertyItemProvider participantPropertyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ParticipantProperty}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createParticipantPropertyAdapter() {
+		if (participantPropertyItemProvider == null) {
+			participantPropertyItemProvider = new ParticipantPropertyItemProvider(this);
+		}
+
+		return participantPropertyItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.PropertySpecificType} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertySpecificTypeItemProvider propertySpecificTypeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.PropertySpecificType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createPropertySpecificTypeAdapter() {
+		if (propertySpecificTypeItemProvider == null) {
+			propertySpecificTypeItemProvider = new PropertySpecificTypeItemProvider(this);
+		}
+
+		return propertySpecificTypeItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.ValueType} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ValueTypeItemProvider valueTypeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ValueType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createValueTypeAdapter() {
+		if (valueTypeItemProvider == null) {
+			valueTypeItemProvider = new ValueTypeItemProvider(this);
+		}
+
+		return valueTypeItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		if (adjunctPropertyItemProvider != null) adjunctPropertyItemProvider.dispose();
+		if (bindingConnectorItemProvider != null) bindingConnectorItemProvider.dispose();
+		if (blockItemProvider != null) blockItemProvider.dispose();
+		if (boundReferenceItemProvider != null) boundReferenceItemProvider.dispose();
+		if (endPathMultiplicityItemProvider != null) endPathMultiplicityItemProvider.dispose();
+		if (classifierBehaviorPropertyItemProvider != null) classifierBehaviorPropertyItemProvider.dispose();
+		if (connectorPropertyItemProvider != null) connectorPropertyItemProvider.dispose();
+		if (distributedPropertyItemProvider != null) distributedPropertyItemProvider.dispose();
+		if (nestedConnectorEndItemProvider != null) nestedConnectorEndItemProvider.dispose();
+		if (participantPropertyItemProvider != null) participantPropertyItemProvider.dispose();
+		if (propertySpecificTypeItemProvider != null) propertySpecificTypeItemProvider.dispose();
+		if (valueTypeItemProvider != null) valueTypeItemProvider.dispose();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BoundReferenceItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BoundReferenceItemProvider.java
new file mode 100644
index 0000000..1f98ee5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BoundReferenceItemProvider.java
@@ -0,0 +1,156 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.BoundReference;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.BoundReference} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BoundReferenceItemProvider extends EndPathMultiplicityItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BoundReferenceItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBindingPathPropertyDescriptor(object);
+			addBoundEndPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Binding Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBindingPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BoundReference_bindingPath_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_BoundReference_bindingPath_feature", "_UI_BoundReference_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.BOUND_REFERENCE__BINDING_PATH,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Bound End feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBoundEndPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BoundReference_boundEnd_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_BoundReference_boundEnd_feature", "_UI_BoundReference_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.BOUND_REFERENCE__BOUND_END,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns BoundReference.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BoundReference")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BoundReference boundReference = (BoundReference)object;
+		return getString("_UI_BoundReference_type") + " " + boundReference.getLower(); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ClassifierBehaviorPropertyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ClassifierBehaviorPropertyItemProvider.java
new file mode 100644
index 0000000..6fe39ec
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ClassifierBehaviorPropertyItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ClassifierBehaviorPropertyItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ClassifierBehaviorPropertyItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_PropertyPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Property feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_PropertyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ClassifierBehaviorProperty_base_Property_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ClassifierBehaviorProperty_base_Property_feature", "_UI_ClassifierBehaviorProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.CLASSIFIER_BEHAVIOR_PROPERTY__BASE_PROPERTY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ClassifierBehaviorProperty.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ClassifierBehaviorProperty")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ClassifierBehaviorProperty_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ConnectorPropertyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ConnectorPropertyItemProvider.java
new file mode 100644
index 0000000..e69e7f0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ConnectorPropertyItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ConnectorProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConnectorPropertyItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ConnectorPropertyItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_PropertyPropertyDescriptor(object);
+			addConnectorPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Property feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_PropertyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ConnectorProperty_base_Property_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ConnectorProperty_base_Property_feature", "_UI_ConnectorProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.CONNECTOR_PROPERTY__BASE_PROPERTY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Connector feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addConnectorPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ConnectorProperty_connector_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ConnectorProperty_connector_feature", "_UI_ConnectorProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.CONNECTOR_PROPERTY__CONNECTOR,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ConnectorProperty.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ConnectorProperty")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ConnectorProperty_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/DirectedRelationshipPropertyPathItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/DirectedRelationshipPropertyPathItemProvider.java
new file mode 100644
index 0000000..1d57ec7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/DirectedRelationshipPropertyPathItemProvider.java
@@ -0,0 +1,240 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DirectedRelationshipPropertyPathItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DirectedRelationshipPropertyPathItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_DirectedRelationshipPropertyDescriptor(object);
+			addSourceContextPropertyDescriptor(object);
+			addSourcePropertyPathPropertyDescriptor(object);
+			addTargetContextPropertyDescriptor(object);
+			addTargetPropertyPathPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Directed Relationship feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_DirectedRelationshipPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DirectedRelationshipPropertyPath_base_DirectedRelationship_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_DirectedRelationshipPropertyPath_base_DirectedRelationship_feature", "_UI_DirectedRelationshipPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Source Context feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSourceContextPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DirectedRelationshipPropertyPath_sourceContext_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_DirectedRelationshipPropertyPath_sourceContext_feature", "_UI_DirectedRelationshipPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Source Property Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSourcePropertyPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DirectedRelationshipPropertyPath_sourcePropertyPath_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_DirectedRelationshipPropertyPath_sourcePropertyPath_feature", "_UI_DirectedRelationshipPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Target Context feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTargetContextPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DirectedRelationshipPropertyPath_targetContext_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_DirectedRelationshipPropertyPath_targetContext_feature", "_UI_DirectedRelationshipPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Target Property Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTargetPropertyPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DirectedRelationshipPropertyPath_targetPropertyPath_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_DirectedRelationshipPropertyPath_targetPropertyPath_feature", "_UI_DirectedRelationshipPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_DirectedRelationshipPropertyPath_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/DistributedPropertyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/DistributedPropertyItemProvider.java
new file mode 100644
index 0000000..4050b62
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/DistributedPropertyItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.DistributedProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DistributedPropertyItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DistributedPropertyItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_PropertyPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Property feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_PropertyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DistributedProperty_base_Property_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_DistributedProperty_base_Property_feature", "_UI_DistributedProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.DISTRIBUTED_PROPERTY__BASE_PROPERTY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns DistributedProperty.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DistributedProperty")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_DistributedProperty_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ElementPropertyPathItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ElementPropertyPathItemProvider.java
new file mode 100644
index 0000000..b12cb0c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ElementPropertyPathItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ElementPropertyPathItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ElementPropertyPathItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ElementPropertyDescriptor(object);
+			addPropertyPathPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Element feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ElementPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ElementPropertyPath_base_Element_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ElementPropertyPath_base_Element_feature", "_UI_ElementPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.ELEMENT_PROPERTY_PATH__BASE_ELEMENT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Property Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addPropertyPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ElementPropertyPath_propertyPath_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ElementPropertyPath_propertyPath_feature", "_UI_ElementPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.ELEMENT_PROPERTY_PATH__PROPERTY_PATH,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ElementPropertyPath_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/EndPathMultiplicityItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/EndPathMultiplicityItemProvider.java
new file mode 100644
index 0000000..bf2c82c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/EndPathMultiplicityItemProvider.java
@@ -0,0 +1,216 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EndPathMultiplicityItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EndPathMultiplicityItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_PropertyPropertyDescriptor(object);
+			addLowerPropertyDescriptor(object);
+			addUpperPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Property feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_PropertyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_EndPathMultiplicity_base_Property_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_EndPathMultiplicity_base_Property_feature", "_UI_EndPathMultiplicity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.END_PATH_MULTIPLICITY__BASE_PROPERTY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Lower feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addLowerPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_EndPathMultiplicity_lower_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_EndPathMultiplicity_lower_feature", "_UI_EndPathMultiplicity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.END_PATH_MULTIPLICITY__LOWER,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Upper feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addUpperPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_EndPathMultiplicity_upper_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_EndPathMultiplicity_upper_feature", "_UI_EndPathMultiplicity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.END_PATH_MULTIPLICITY__UPPER,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns EndPathMultiplicity.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/EndPathMultiplicity")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		EndPathMultiplicity endPathMultiplicity = (EndPathMultiplicity)object;
+		return getString("_UI_EndPathMultiplicity_type") + " " + endPathMultiplicity.getLower(); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(EndPathMultiplicity.class)) {
+			case BlocksPackage.END_PATH_MULTIPLICITY__LOWER:
+			case BlocksPackage.END_PATH_MULTIPLICITY__UPPER:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/NestedConnectorEndItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/NestedConnectorEndItemProvider.java
new file mode 100644
index 0000000..bb0b85f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/NestedConnectorEndItemProvider.java
@@ -0,0 +1,131 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NestedConnectorEndItemProvider extends ElementPropertyPathItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NestedConnectorEndItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ConnectorEndPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Connector End feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ConnectorEndPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_NestedConnectorEnd_base_ConnectorEnd_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_NestedConnectorEnd_base_ConnectorEnd_feature", "_UI_NestedConnectorEnd_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.NESTED_CONNECTOR_END__BASE_CONNECTOR_END,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns NestedConnectorEnd.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/NestedConnectorEnd")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_NestedConnectorEnd_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ParticipantPropertyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ParticipantPropertyItemProvider.java
new file mode 100644
index 0000000..8e8d9f0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ParticipantPropertyItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ParticipantProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ParticipantPropertyItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ParticipantPropertyItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_PropertyPropertyDescriptor(object);
+			addEndPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Property feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_PropertyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ParticipantProperty_base_Property_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ParticipantProperty_base_Property_feature", "_UI_ParticipantProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.PARTICIPANT_PROPERTY__BASE_PROPERTY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the End feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addEndPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ParticipantProperty_end_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ParticipantProperty_end_feature", "_UI_ParticipantProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.PARTICIPANT_PROPERTY__END,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ParticipantProperty.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ParticipantProperty")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ParticipantProperty_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/PropertySpecificTypeItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/PropertySpecificTypeItemProvider.java
new file mode 100644
index 0000000..43384a2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/PropertySpecificTypeItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.PropertySpecificType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PropertySpecificTypeItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertySpecificTypeItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ClassifierPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Classifier feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ClassifierPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_PropertySpecificType_base_Classifier_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_PropertySpecificType_base_Classifier_feature", "_UI_PropertySpecificType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.PROPERTY_SPECIFIC_TYPE__BASE_CLASSIFIER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns PropertySpecificType.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/PropertySpecificType")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_PropertySpecificType_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ValueTypeItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ValueTypeItemProvider.java
new file mode 100644
index 0000000..2086eab
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ValueTypeItemProvider.java
@@ -0,0 +1,205 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ValueType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueTypeItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ValueTypeItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_DataTypePropertyDescriptor(object);
+			addQuantityKindPropertyDescriptor(object);
+			addUnitPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Data Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_DataTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ValueType_base_DataType_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ValueType_base_DataType_feature", "_UI_ValueType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.VALUE_TYPE__BASE_DATA_TYPE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Quantity Kind feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addQuantityKindPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ValueType_quantityKind_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ValueType_quantityKind_feature", "_UI_ValueType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.VALUE_TYPE__QUANTITY_KIND,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Unit feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addUnitPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ValueType_unit_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ValueType_unit_feature", "_UI_ValueType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 BlocksPackage.Literals.VALUE_TYPE__UNIT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ValueType.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ValueType")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ValueType_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/provider/ConstraintBlockItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/provider/ConstraintBlockItemProvider.java
new file mode 100644
index 0000000..7f4fb53
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/provider/ConstraintBlockItemProvider.java
@@ -0,0 +1,125 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.constraintblocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.BlockItemProvider;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConstraintBlockItemProvider extends BlockItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ConstraintBlockItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns ConstraintBlock.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ConstraintBlock")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		ConstraintBlock constraintBlock = (ConstraintBlock)object;
+		return getString("_UI_ConstraintBlock_type") + " " + constraintBlock.isEncapsulated(); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/provider/ConstraintBlocksItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/provider/ConstraintBlocksItemProviderAdapterFactory.java
new file mode 100644
index 0000000..5941199
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/provider/ConstraintBlocksItemProviderAdapterFactory.java
@@ -0,0 +1,216 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.constraintblocks.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.util.ConstraintBlocksAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConstraintBlocksItemProviderAdapterFactory extends ConstraintBlocksAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ConstraintBlocksItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ConstraintBlockItemProvider constraintBlockItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createConstraintBlockAdapter() {
+		if (constraintBlockItemProvider == null) {
+			constraintBlockItemProvider = new ConstraintBlockItemProvider(this);
+		}
+
+		return constraintBlockItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		if (constraintBlockItemProvider != null) constraintBlockItemProvider.dispose();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/DeprecatedElementsItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/DeprecatedElementsItemProviderAdapterFactory.java
new file mode 100644
index 0000000..e6d72b6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/DeprecatedElementsItemProviderAdapterFactory.java
@@ -0,0 +1,240 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.util.DeprecatedElementsAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeprecatedElementsItemProviderAdapterFactory extends DeprecatedElementsAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeprecatedElementsItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FlowPortItemProvider flowPortItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFlowPortAdapter() {
+		if (flowPortItemProvider == null) {
+			flowPortItemProvider = new FlowPortItemProvider(this);
+		}
+
+		return flowPortItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FlowSpecificationItemProvider flowSpecificationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFlowSpecificationAdapter() {
+		if (flowSpecificationItemProvider == null) {
+			flowSpecificationItemProvider = new FlowSpecificationItemProvider(this);
+		}
+
+		return flowSpecificationItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		if (flowPortItemProvider != null) flowPortItemProvider.dispose();
+		if (flowSpecificationItemProvider != null) flowSpecificationItemProvider.dispose();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/FlowPortItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/FlowPortItemProvider.java
new file mode 100644
index 0000000..15b3123
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/FlowPortItemProvider.java
@@ -0,0 +1,221 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FlowPortItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FlowPortItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_PortPropertyDescriptor(object);
+			addDirectionPropertyDescriptor(object);
+			addIsAtomicPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Port feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_PortPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FlowPort_base_Port_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_FlowPort_base_Port_feature", "_UI_FlowPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 DeprecatedElementsPackage.Literals.FLOW_PORT__BASE_PORT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Direction feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDirectionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FlowPort_direction_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_FlowPort_direction_feature", "_UI_FlowPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 DeprecatedElementsPackage.Literals.FLOW_PORT__DIRECTION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Is Atomic feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addIsAtomicPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FlowPort_isAtomic_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_FlowPort_isAtomic_feature", "_UI_FlowPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 DeprecatedElementsPackage.Literals.FLOW_PORT__IS_ATOMIC,
+				 false,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns FlowPort.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FlowPort")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		FlowDirectionKind labelValue = ((FlowPort)object).getDirection();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_FlowPort_type") : //$NON-NLS-1$
+			getString("_UI_FlowPort_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(FlowPort.class)) {
+			case DeprecatedElementsPackage.FLOW_PORT__DIRECTION:
+			case DeprecatedElementsPackage.FLOW_PORT__IS_ATOMIC:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/FlowSpecificationItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/FlowSpecificationItemProvider.java
new file mode 100644
index 0000000..e85ab11
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/FlowSpecificationItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FlowSpecificationItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FlowSpecificationItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_InterfacePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Interface feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_InterfacePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FlowSpecification_base_Interface_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_FlowSpecification_base_Interface_feature", "_UI_FlowSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 DeprecatedElementsPackage.Literals.FLOW_SPECIFICATION__BASE_INTERFACE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns FlowSpecification.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FlowSpecification")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_FlowSpecification_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ConformItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ConformItemProvider.java
new file mode 100644
index 0000000..9a7c35d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ConformItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Conform} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConformItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ConformItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_GeneralizationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Generalization feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_GeneralizationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Conform_base_Generalization_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Conform_base_Generalization_feature", "_UI_Conform_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.CONFORM__BASE_GENERALIZATION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Conform.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Conform")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Conform_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ElementGroupItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ElementGroupItemProvider.java
new file mode 100644
index 0000000..4ddda55
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ElementGroupItemProvider.java
@@ -0,0 +1,288 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.modelelements.ElementGroup;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ElementGroupItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ElementGroupItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_CommentPropertyDescriptor(object);
+			addCriterionPropertyDescriptor(object);
+			addMemberPropertyDescriptor(object);
+			addNamePropertyDescriptor(object);
+			addOrderedMemberPropertyDescriptor(object);
+			addSizePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Comment feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_CommentPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ElementGroup_base_Comment_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ElementGroup_base_Comment_feature", "_UI_ElementGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.ELEMENT_GROUP__BASE_COMMENT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Criterion feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addCriterionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ElementGroup_criterion_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ElementGroup_criterion_feature", "_UI_ElementGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.ELEMENT_GROUP__CRITERION,
+				 false,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Member feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addMemberPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ElementGroup_member_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ElementGroup_member_feature", "_UI_ElementGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.ELEMENT_GROUP__MEMBER,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Name feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ElementGroup_name_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ElementGroup_name_feature", "_UI_ElementGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.ELEMENT_GROUP__NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Ordered Member feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOrderedMemberPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ElementGroup_orderedMember_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ElementGroup_orderedMember_feature", "_UI_ElementGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.ELEMENT_GROUP__ORDERED_MEMBER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Size feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSizePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ElementGroup_size_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ElementGroup_size_feature", "_UI_ElementGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.ELEMENT_GROUP__SIZE,
+				 false,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ElementGroup.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ElementGroup")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ElementGroup)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ElementGroup_type") : //$NON-NLS-1$
+			getString("_UI_ElementGroup_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(ElementGroup.class)) {
+			case ModelElementsPackage.ELEMENT_GROUP__CRITERION:
+			case ModelElementsPackage.ELEMENT_GROUP__NAME:
+			case ModelElementsPackage.ELEMENT_GROUP__SIZE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ExposeItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ExposeItemProvider.java
new file mode 100644
index 0000000..3209742
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ExposeItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Expose} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExposeItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExposeItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_DependencyPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Dependency feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_DependencyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Expose_base_Dependency_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Expose_base_Dependency_feature", "_UI_Expose_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.EXPOSE__BASE_DEPENDENCY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Expose.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Expose")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Expose_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ModelElementsItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ModelElementsItemProviderAdapterFactory.java
new file mode 100644
index 0000000..6d51e53
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ModelElementsItemProviderAdapterFactory.java
@@ -0,0 +1,384 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.modelelements.util.ModelElementsAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModelElementsItemProviderAdapterFactory extends ModelElementsAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ModelElementsItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.Conform} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ConformItemProvider conformItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Conform}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createConformAdapter() {
+		if (conformItemProvider == null) {
+			conformItemProvider = new ConformItemProvider(this);
+		}
+
+		return conformItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ElementGroupItemProvider elementGroupItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createElementGroupAdapter() {
+		if (elementGroupItemProvider == null) {
+			elementGroupItemProvider = new ElementGroupItemProvider(this);
+		}
+
+		return elementGroupItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.Expose} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExposeItemProvider exposeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Expose}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExposeAdapter() {
+		if (exposeItemProvider == null) {
+			exposeItemProvider = new ExposeItemProvider(this);
+		}
+
+		return exposeItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.Problem} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProblemItemProvider problemItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Problem}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createProblemAdapter() {
+		if (problemItemProvider == null) {
+			problemItemProvider = new ProblemItemProvider(this);
+		}
+
+		return problemItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.Rationale} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RationaleItemProvider rationaleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Rationale}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createRationaleAdapter() {
+		if (rationaleItemProvider == null) {
+			rationaleItemProvider = new RationaleItemProvider(this);
+		}
+
+		return rationaleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StakeholderItemProvider stakeholderItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createStakeholderAdapter() {
+		if (stakeholderItemProvider == null) {
+			stakeholderItemProvider = new StakeholderItemProvider(this);
+		}
+
+		return stakeholderItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.View} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ViewItemProvider viewItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.View}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createViewAdapter() {
+		if (viewItemProvider == null) {
+			viewItemProvider = new ViewItemProvider(this);
+		}
+
+		return viewItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ViewpointItemProvider viewpointItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createViewpointAdapter() {
+		if (viewpointItemProvider == null) {
+			viewpointItemProvider = new ViewpointItemProvider(this);
+		}
+
+		return viewpointItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		if (conformItemProvider != null) conformItemProvider.dispose();
+		if (elementGroupItemProvider != null) elementGroupItemProvider.dispose();
+		if (exposeItemProvider != null) exposeItemProvider.dispose();
+		if (problemItemProvider != null) problemItemProvider.dispose();
+		if (rationaleItemProvider != null) rationaleItemProvider.dispose();
+		if (stakeholderItemProvider != null) stakeholderItemProvider.dispose();
+		if (viewItemProvider != null) viewItemProvider.dispose();
+		if (viewpointItemProvider != null) viewpointItemProvider.dispose();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ProblemItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ProblemItemProvider.java
new file mode 100644
index 0000000..a595100
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ProblemItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Problem} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProblemItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProblemItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_CommentPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Comment feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_CommentPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Problem_base_Comment_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Problem_base_Comment_feature", "_UI_Problem_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.PROBLEM__BASE_COMMENT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Problem.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Problem")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Problem_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/RationaleItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/RationaleItemProvider.java
new file mode 100644
index 0000000..0584823
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/RationaleItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Rationale} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RationaleItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RationaleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_CommentPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Comment feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_CommentPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Rationale_base_Comment_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Rationale_base_Comment_feature", "_UI_Rationale_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.RATIONALE__BASE_COMMENT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Rationale.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Rationale")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Rationale_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/StakeholderItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/StakeholderItemProvider.java
new file mode 100644
index 0000000..a6c5854
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/StakeholderItemProvider.java
@@ -0,0 +1,214 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.modelelements.Stakeholder;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StakeholderItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StakeholderItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ClassifierPropertyDescriptor(object);
+			addConcernListPropertyDescriptor(object);
+			addConcernPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Classifier feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ClassifierPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Stakeholder_base_Classifier_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Stakeholder_base_Classifier_feature", "_UI_Stakeholder_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.STAKEHOLDER__BASE_CLASSIFIER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Concern List feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addConcernListPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Stakeholder_concernList_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Stakeholder_concernList_feature", "_UI_Stakeholder_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.STAKEHOLDER__CONCERN_LIST,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Concern feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addConcernPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Stakeholder_concern_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Stakeholder_concern_feature", "_UI_Stakeholder_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.STAKEHOLDER__CONCERN,
+				 false,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Stakeholder.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Stakeholder")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Stakeholder_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(Stakeholder.class)) {
+			case ModelElementsPackage.STAKEHOLDER__CONCERN:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ViewItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ViewItemProvider.java
new file mode 100644
index 0000000..1c889be
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ViewItemProvider.java
@@ -0,0 +1,205 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.View} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ViewItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ViewItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ClassPropertyDescriptor(object);
+			addStakeholderPropertyDescriptor(object);
+			addViewPointPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Class feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ClassPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_View_base_Class_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_View_base_Class_feature", "_UI_View_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.VIEW__BASE_CLASS,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Stakeholder feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addStakeholderPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_View_stakeholder_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_View_stakeholder_feature", "_UI_View_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.VIEW__STAKEHOLDER,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the View Point feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addViewPointPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_View_viewPoint_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_View_viewPoint_feature", "_UI_View_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.VIEW__VIEW_POINT,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns View.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/View")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_View_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ViewpointItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ViewpointItemProvider.java
new file mode 100644
index 0000000..cc45f2b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ViewpointItemProvider.java
@@ -0,0 +1,335 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ViewpointItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ViewpointItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ClassPropertyDescriptor(object);
+			addConcernPropertyDescriptor(object);
+			addConcernListPropertyDescriptor(object);
+			addLanguagePropertyDescriptor(object);
+			addMethodPropertyDescriptor(object);
+			addPresentationPropertyDescriptor(object);
+			addPurposePropertyDescriptor(object);
+			addStakeholderPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Class feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ClassPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Viewpoint_base_Class_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_base_Class_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.VIEWPOINT__BASE_CLASS,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Concern feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addConcernPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Viewpoint_concern_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_concern_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.VIEWPOINT__CONCERN,
+				 false,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Concern List feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addConcernListPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Viewpoint_concernList_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_concernList_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.VIEWPOINT__CONCERN_LIST,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Language feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addLanguagePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Viewpoint_language_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_language_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.VIEWPOINT__LANGUAGE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Method feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addMethodPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Viewpoint_method_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_method_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.VIEWPOINT__METHOD,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Presentation feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addPresentationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Viewpoint_presentation_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_presentation_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.VIEWPOINT__PRESENTATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Purpose feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addPurposePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Viewpoint_purpose_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_purpose_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.VIEWPOINT__PURPOSE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Stakeholder feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addStakeholderPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Viewpoint_stakeholder_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_stakeholder_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 ModelElementsPackage.Literals.VIEWPOINT__STAKEHOLDER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Viewpoint.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Viewpoint")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Viewpoint)object).getPurpose();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Viewpoint_type") : //$NON-NLS-1$
+			getString("_UI_Viewpoint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(Viewpoint.class)) {
+			case ModelElementsPackage.VIEWPOINT__CONCERN:
+			case ModelElementsPackage.VIEWPOINT__LANGUAGE:
+			case ModelElementsPackage.VIEWPOINT__PRESENTATION:
+			case ModelElementsPackage.VIEWPOINT__PURPOSE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/AcceptChangeStructuralFeatureEventActionItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/AcceptChangeStructuralFeatureEventActionItemProvider.java
new file mode 100644
index 0000000..87d69fa
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/AcceptChangeStructuralFeatureEventActionItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AcceptChangeStructuralFeatureEventActionItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AcceptChangeStructuralFeatureEventActionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_AcceptEventActionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Accept Event Action feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_AcceptEventActionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_feature", "_UI_AcceptChangeStructuralFeatureEventAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION__BASE_ACCEPT_EVENT_ACTION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns AcceptChangeStructuralFeatureEventAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/AcceptChangeStructuralFeatureEventAction")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_AcceptChangeStructuralFeatureEventAction_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/AddFlowPropertyValueOnNestedPortActionItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/AddFlowPropertyValueOnNestedPortActionItemProvider.java
new file mode 100644
index 0000000..f067c55
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/AddFlowPropertyValueOnNestedPortActionItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.ElementPropertyPathItemProvider;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AddFlowPropertyValueOnNestedPortActionItemProvider extends ElementPropertyPathItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AddFlowPropertyValueOnNestedPortActionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addOnNestedPortPropertyDescriptor(object);
+			addBase_AddStructuralFeatureValueActionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the On Nested Port feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOnNestedPortPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AddFlowPropertyValueOnNestedPortAction_onNestedPort_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AddFlowPropertyValueOnNestedPortAction_onNestedPort_feature", "_UI_AddFlowPropertyValueOnNestedPortAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__ON_NESTED_PORT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Add Structural Feature Value Action feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_AddStructuralFeatureValueActionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AddFlowPropertyValueOnNestedPortAction_base_AddStructuralFeatureValueAction_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AddFlowPropertyValueOnNestedPortAction_base_AddStructuralFeatureValueAction_feature", "_UI_AddFlowPropertyValueOnNestedPortAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__BASE_ADD_STRUCTURAL_FEATURE_VALUE_ACTION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns AddFlowPropertyValueOnNestedPortAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/AddFlowPropertyValueOnNestedPortAction")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_AddFlowPropertyValueOnNestedPortAction_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ChangeStructuralFeatureEventItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ChangeStructuralFeatureEventItemProvider.java
new file mode 100644
index 0000000..a27b2de
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ChangeStructuralFeatureEventItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ChangeStructuralFeatureEventItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ChangeStructuralFeatureEventItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ChangeEventPropertyDescriptor(object);
+			addStructuralFeaturePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Change Event feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ChangeEventPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ChangeStructuralFeatureEvent_base_ChangeEvent_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ChangeStructuralFeatureEvent_base_ChangeEvent_feature", "_UI_ChangeStructuralFeatureEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.CHANGE_STRUCTURAL_FEATURE_EVENT__BASE_CHANGE_EVENT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Structural Feature feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addStructuralFeaturePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ChangeStructuralFeatureEvent_structuralFeature_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ChangeStructuralFeatureEvent_structuralFeature_feature", "_UI_ChangeStructuralFeatureEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.CHANGE_STRUCTURAL_FEATURE_EVENT__STRUCTURAL_FEATURE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ChangeStructuralFeatureEvent.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ChangeStructuralFeatureEvent")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ChangeStructuralFeatureEvent_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ConjugatedInterfaceBlockItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ConjugatedInterfaceBlockItemProvider.java
new file mode 100644
index 0000000..19e5bc3
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ConjugatedInterfaceBlockItemProvider.java
@@ -0,0 +1,133 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConjugatedInterfaceBlockItemProvider extends InterfaceBlockItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ConjugatedInterfaceBlockItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addOriginalPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Original feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOriginalPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ConjugatedInterfaceBlock_original_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ConjugatedInterfaceBlock_original_feature", "_UI_ConjugatedInterfaceBlock_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.CONJUGATED_INTERFACE_BLOCK__ORIGINAL,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ConjugatedInterfaceBlock.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ConjugatedInterfaceBlock")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		ConjugatedInterfaceBlock conjugatedInterfaceBlock = (ConjugatedInterfaceBlock)object;
+		return getString("_UI_ConjugatedInterfaceBlock_type") + " " + conjugatedInterfaceBlock.isEncapsulated(); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/DirectedFeatureItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/DirectedFeatureItemProvider.java
new file mode 100644
index 0000000..4c2725f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/DirectedFeatureItemProvider.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature;
+import org.eclipse.papyrus.sysml16.portsandflows.FeatureDirectionKind;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DirectedFeatureItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DirectedFeatureItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_FeaturePropertyDescriptor(object);
+			addFeatureDirectionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Feature feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_FeaturePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DirectedFeature_base_Feature_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_DirectedFeature_base_Feature_feature", "_UI_DirectedFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.DIRECTED_FEATURE__BASE_FEATURE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Feature Direction feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addFeatureDirectionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DirectedFeature_featureDirection_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_DirectedFeature_featureDirection_feature", "_UI_DirectedFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.DIRECTED_FEATURE__FEATURE_DIRECTION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns DirectedFeature.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DirectedFeature")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		FeatureDirectionKind labelValue = ((DirectedFeature)object).getFeatureDirection();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_DirectedFeature_type") : //$NON-NLS-1$
+			getString("_UI_DirectedFeature_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(DirectedFeature.class)) {
+			case PortsAndFlowsPackage.DIRECTED_FEATURE__FEATURE_DIRECTION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/FlowPropertyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/FlowPropertyItemProvider.java
new file mode 100644
index 0000000..9a57482
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/FlowPropertyItemProvider.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.FlowProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FlowPropertyItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FlowPropertyItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_PropertyPropertyDescriptor(object);
+			addDirectionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Property feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_PropertyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FlowProperty_base_Property_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_FlowProperty_base_Property_feature", "_UI_FlowProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.FLOW_PROPERTY__BASE_PROPERTY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Direction feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDirectionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FlowProperty_direction_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_FlowProperty_direction_feature", "_UI_FlowProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.FLOW_PROPERTY__DIRECTION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns FlowProperty.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FlowProperty")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		FlowDirectionKind labelValue = ((FlowProperty)object).getDirection();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_FlowProperty_type") : //$NON-NLS-1$
+			getString("_UI_FlowProperty_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(FlowProperty.class)) {
+			case PortsAndFlowsPackage.FLOW_PROPERTY__DIRECTION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/FullPortItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/FullPortItemProvider.java
new file mode 100644
index 0000000..93d82b5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/FullPortItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.FullPort} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FullPortItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FullPortItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_PortPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Port feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_PortPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FullPort_base_Port_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_FullPort_base_Port_feature", "_UI_FullPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.FULL_PORT__BASE_PORT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns FullPort.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FullPort")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_FullPort_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/InterfaceBlockItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/InterfaceBlockItemProvider.java
new file mode 100644
index 0000000..2efa602
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/InterfaceBlockItemProvider.java
@@ -0,0 +1,125 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.BlockItemProvider;
+
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InterfaceBlockItemProvider extends BlockItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InterfaceBlockItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns InterfaceBlock.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/InterfaceBlock")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		InterfaceBlock interfaceBlock = (InterfaceBlock)object;
+		return getString("_UI_InterfaceBlock_type") + " " + interfaceBlock.isEncapsulated(); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/InvocationOnNestedPortActionItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/InvocationOnNestedPortActionItemProvider.java
new file mode 100644
index 0000000..ffdb79b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/InvocationOnNestedPortActionItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.ElementPropertyPathItemProvider;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvocationOnNestedPortActionItemProvider extends ElementPropertyPathItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InvocationOnNestedPortActionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_InvocationActionPropertyDescriptor(object);
+			addOnNestedPortPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Invocation Action feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_InvocationActionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InvocationOnNestedPortAction_base_InvocationAction_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_InvocationOnNestedPortAction_base_InvocationAction_feature", "_UI_InvocationOnNestedPortAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.INVOCATION_ON_NESTED_PORT_ACTION__BASE_INVOCATION_ACTION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the On Nested Port feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOnNestedPortPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InvocationOnNestedPortAction_onNestedPort_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_InvocationOnNestedPortAction_onNestedPort_feature", "_UI_InvocationOnNestedPortAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.INVOCATION_ON_NESTED_PORT_ACTION__ON_NESTED_PORT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns InvocationOnNestedPortAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/InvocationOnNestedPortAction")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_InvocationOnNestedPortAction_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ItemFlowItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ItemFlowItemProvider.java
new file mode 100644
index 0000000..f4d24d1
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ItemFlowItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ItemFlow} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ItemFlowItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ItemFlowItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_InformationFlowPropertyDescriptor(object);
+			addItemPropertyPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Information Flow feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_InformationFlowPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ItemFlow_base_InformationFlow_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ItemFlow_base_InformationFlow_feature", "_UI_ItemFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.ITEM_FLOW__BASE_INFORMATION_FLOW,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Item Property feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addItemPropertyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ItemFlow_itemProperty_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ItemFlow_itemProperty_feature", "_UI_ItemFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.ITEM_FLOW__ITEM_PROPERTY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ItemFlow.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ItemFlow")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ItemFlow_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/PortsAndFlowsItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/PortsAndFlowsItemProviderAdapterFactory.java
new file mode 100644
index 0000000..b08f2f2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/PortsAndFlowsItemProviderAdapterFactory.java
@@ -0,0 +1,480 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.portsandflows.util.PortsAndFlowsAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PortsAndFlowsItemProviderAdapterFactory extends PortsAndFlowsAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PortsAndFlowsItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AcceptChangeStructuralFeatureEventActionItemProvider acceptChangeStructuralFeatureEventActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createAcceptChangeStructuralFeatureEventActionAdapter() {
+		if (acceptChangeStructuralFeatureEventActionItemProvider == null) {
+			acceptChangeStructuralFeatureEventActionItemProvider = new AcceptChangeStructuralFeatureEventActionItemProvider(this);
+		}
+
+		return acceptChangeStructuralFeatureEventActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ChangeStructuralFeatureEventItemProvider changeStructuralFeatureEventItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createChangeStructuralFeatureEventAdapter() {
+		if (changeStructuralFeatureEventItemProvider == null) {
+			changeStructuralFeatureEventItemProvider = new ChangeStructuralFeatureEventItemProvider(this);
+		}
+
+		return changeStructuralFeatureEventItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DirectedFeatureItemProvider directedFeatureItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDirectedFeatureAdapter() {
+		if (directedFeatureItemProvider == null) {
+			directedFeatureItemProvider = new DirectedFeatureItemProvider(this);
+		}
+
+		return directedFeatureItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.FlowProperty} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FlowPropertyItemProvider flowPropertyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.FlowProperty}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFlowPropertyAdapter() {
+		if (flowPropertyItemProvider == null) {
+			flowPropertyItemProvider = new FlowPropertyItemProvider(this);
+		}
+
+		return flowPropertyItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.FullPort} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FullPortItemProvider fullPortItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.FullPort}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFullPortAdapter() {
+		if (fullPortItemProvider == null) {
+			fullPortItemProvider = new FullPortItemProvider(this);
+		}
+
+		return fullPortItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InterfaceBlockItemProvider interfaceBlockItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInterfaceBlockAdapter() {
+		if (interfaceBlockItemProvider == null) {
+			interfaceBlockItemProvider = new InterfaceBlockItemProvider(this);
+		}
+
+		return interfaceBlockItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InvocationOnNestedPortActionItemProvider invocationOnNestedPortActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInvocationOnNestedPortActionAdapter() {
+		if (invocationOnNestedPortActionItemProvider == null) {
+			invocationOnNestedPortActionItemProvider = new InvocationOnNestedPortActionItemProvider(this);
+		}
+
+		return invocationOnNestedPortActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.ItemFlow} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ItemFlowItemProvider itemFlowItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ItemFlow}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createItemFlowAdapter() {
+		if (itemFlowItemProvider == null) {
+			itemFlowItemProvider = new ItemFlowItemProvider(this);
+		}
+
+		return itemFlowItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.ProxyPort} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProxyPortItemProvider proxyPortItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ProxyPort}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createProxyPortAdapter() {
+		if (proxyPortItemProvider == null) {
+			proxyPortItemProvider = new ProxyPortItemProvider(this);
+		}
+
+		return proxyPortItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TriggerOnNestedPortItemProvider triggerOnNestedPortItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createTriggerOnNestedPortAdapter() {
+		if (triggerOnNestedPortItemProvider == null) {
+			triggerOnNestedPortItemProvider = new TriggerOnNestedPortItemProvider(this);
+		}
+
+		return triggerOnNestedPortItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ConjugatedInterfaceBlockItemProvider conjugatedInterfaceBlockItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createConjugatedInterfaceBlockAdapter() {
+		if (conjugatedInterfaceBlockItemProvider == null) {
+			conjugatedInterfaceBlockItemProvider = new ConjugatedInterfaceBlockItemProvider(this);
+		}
+
+		return conjugatedInterfaceBlockItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AddFlowPropertyValueOnNestedPortActionItemProvider addFlowPropertyValueOnNestedPortActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createAddFlowPropertyValueOnNestedPortActionAdapter() {
+		if (addFlowPropertyValueOnNestedPortActionItemProvider == null) {
+			addFlowPropertyValueOnNestedPortActionItemProvider = new AddFlowPropertyValueOnNestedPortActionItemProvider(this);
+		}
+
+		return addFlowPropertyValueOnNestedPortActionItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		if (acceptChangeStructuralFeatureEventActionItemProvider != null) acceptChangeStructuralFeatureEventActionItemProvider.dispose();
+		if (changeStructuralFeatureEventItemProvider != null) changeStructuralFeatureEventItemProvider.dispose();
+		if (directedFeatureItemProvider != null) directedFeatureItemProvider.dispose();
+		if (flowPropertyItemProvider != null) flowPropertyItemProvider.dispose();
+		if (fullPortItemProvider != null) fullPortItemProvider.dispose();
+		if (interfaceBlockItemProvider != null) interfaceBlockItemProvider.dispose();
+		if (invocationOnNestedPortActionItemProvider != null) invocationOnNestedPortActionItemProvider.dispose();
+		if (itemFlowItemProvider != null) itemFlowItemProvider.dispose();
+		if (proxyPortItemProvider != null) proxyPortItemProvider.dispose();
+		if (triggerOnNestedPortItemProvider != null) triggerOnNestedPortItemProvider.dispose();
+		if (conjugatedInterfaceBlockItemProvider != null) conjugatedInterfaceBlockItemProvider.dispose();
+		if (addFlowPropertyValueOnNestedPortActionItemProvider != null) addFlowPropertyValueOnNestedPortActionItemProvider.dispose();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ProxyPortItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ProxyPortItemProvider.java
new file mode 100644
index 0000000..7b6d708
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ProxyPortItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ProxyPort} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProxyPortItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProxyPortItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_PortPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Port feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_PortPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ProxyPort_base_Port_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ProxyPort_base_Port_feature", "_UI_ProxyPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.PROXY_PORT__BASE_PORT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ProxyPort.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ProxyPort")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ProxyPort_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/TriggerOnNestedPortItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/TriggerOnNestedPortItemProvider.java
new file mode 100644
index 0000000..2b2104c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/TriggerOnNestedPortItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.ElementPropertyPathItemProvider;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TriggerOnNestedPortItemProvider extends ElementPropertyPathItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TriggerOnNestedPortItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_TriggerPropertyDescriptor(object);
+			addOnNestedPortPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Trigger feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_TriggerPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_TriggerOnNestedPort_base_Trigger_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_TriggerOnNestedPort_base_Trigger_feature", "_UI_TriggerOnNestedPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.TRIGGER_ON_NESTED_PORT__BASE_TRIGGER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the On Nested Port feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOnNestedPortPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_TriggerOnNestedPort_onNestedPort_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_TriggerOnNestedPort_onNestedPort_feature", "_UI_TriggerOnNestedPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 PortsAndFlowsPackage.Literals.TRIGGER_ON_NESTED_PORT__ON_NESTED_PORT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns TriggerOnNestedPort.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/TriggerOnNestedPort")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_TriggerOnNestedPort_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/provider/SysMLEditPlugin.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/provider/SysMLEditPlugin.java
new file mode 100644
index 0000000..688839c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/provider/SysMLEditPlugin.java
@@ -0,0 +1,106 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the SysML edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class SysMLEditPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final SysMLEditPlugin INSTANCE = new SysMLEditPlugin();
+
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+	/**
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SysMLEditPlugin() {
+		super
+		  (new ResourceLocator [] {
+		     EcoreEditPlugin.INSTANCE,
+		     UMLEditPlugin.INSTANCE,
+		   });
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getPluginResourceLocator() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin() {
+		return plugin;
+	}
+
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Implementation extends EclipsePlugin {
+		/**
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public Implementation() {
+			super();
+
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/AbstractRequirementItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/AbstractRequirementItemProvider.java
new file mode 100644
index 0000000..f2e173c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/AbstractRequirementItemProvider.java
@@ -0,0 +1,368 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AbstractRequirementItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AbstractRequirementItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_NamedElementPropertyDescriptor(object);
+			addDerivedPropertyDescriptor(object);
+			addDerivedFromPropertyDescriptor(object);
+			addIdPropertyDescriptor(object);
+			addMasterPropertyDescriptor(object);
+			addRefinedByPropertyDescriptor(object);
+			addSatisfiedByPropertyDescriptor(object);
+			addTextPropertyDescriptor(object);
+			addTracedToPropertyDescriptor(object);
+			addVerifiedByPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Named Element feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_NamedElementPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AbstractRequirement_base_NamedElement_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_base_NamedElement_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__BASE_NAMED_ELEMENT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Derived feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDerivedPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AbstractRequirement_derived_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_derived_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__DERIVED,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Derived From feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDerivedFromPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AbstractRequirement_derivedFrom_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_derivedFrom_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__DERIVED_FROM,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Id feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addIdPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AbstractRequirement_id_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_id_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__ID,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Master feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addMasterPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AbstractRequirement_master_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_master_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__MASTER,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Refined By feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRefinedByPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AbstractRequirement_refinedBy_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_refinedBy_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__REFINED_BY,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Satisfied By feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSatisfiedByPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AbstractRequirement_satisfiedBy_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_satisfiedBy_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__SATISFIED_BY,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Text feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTextPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AbstractRequirement_text_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_text_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__TEXT,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Traced To feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTracedToPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AbstractRequirement_tracedTo_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_tracedTo_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__TRACED_TO,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Verified By feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addVerifiedByPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AbstractRequirement_verifiedBy_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_verifiedBy_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__VERIFIED_BY,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((AbstractRequirement)object).getId();
+		return label == null || label.length() == 0 ?
+			getString("_UI_AbstractRequirement_type") : //$NON-NLS-1$
+			getString("_UI_AbstractRequirement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(AbstractRequirement.class)) {
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__ID:
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__TEXT:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/CopyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/CopyItemProvider.java
new file mode 100644
index 0000000..68befe5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/CopyItemProvider.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Copy} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CopyItemProvider extends TraceItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CopyItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns Copy.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Copy")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Copy_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/DeriveReqtItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/DeriveReqtItemProvider.java
new file mode 100644
index 0000000..2bb03bf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/DeriveReqtItemProvider.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.DeriveReqt} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeriveReqtItemProvider extends TraceItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeriveReqtItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns DeriveReqt.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DeriveReqt")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_DeriveReqt_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RefineItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RefineItemProvider.java
new file mode 100644
index 0000000..fed0a20
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RefineItemProvider.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.DirectedRelationshipPropertyPathItemProvider;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Refine} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RefineItemProvider extends DirectedRelationshipPropertyPathItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RefineItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_AbstractionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Abstraction feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_AbstractionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Refine_base_Abstraction_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Refine_base_Abstraction_feature", "_UI_Refine_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 StandardPackage.Literals.REFINE__BASE_ABSTRACTION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Refine.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Refine")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Refine_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RequirementItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RequirementItemProvider.java
new file mode 100644
index 0000000..3032054
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RequirementItemProvider.java
@@ -0,0 +1,135 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Requirement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RequirementItemProvider extends AbstractRequirementItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RequirementItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_ClassPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Class feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_ClassPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Requirement_base_Class_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Requirement_base_Class_feature", "_UI_Requirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsPackage.Literals.REQUIREMENT__BASE_CLASS,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Requirement.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Requirement")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Requirement)object).getId();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Requirement_type") : //$NON-NLS-1$
+			getString("_UI_Requirement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RequirementsItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RequirementsItemProviderAdapterFactory.java
new file mode 100644
index 0000000..f6d73f5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RequirementsItemProviderAdapterFactory.java
@@ -0,0 +1,384 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.requirements.util.RequirementsAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RequirementsItemProviderAdapterFactory extends RequirementsAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RequirementsItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.Copy} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CopyItemProvider copyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Copy}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCopyAdapter() {
+		if (copyItemProvider == null) {
+			copyItemProvider = new CopyItemProvider(this);
+		}
+
+		return copyItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.Trace} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TraceItemProvider traceItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Trace}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createTraceAdapter() {
+		if (traceItemProvider == null) {
+			traceItemProvider = new TraceItemProvider(this);
+		}
+
+		return traceItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.Requirement} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RequirementItemProvider requirementItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Requirement}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createRequirementAdapter() {
+		if (requirementItemProvider == null) {
+			requirementItemProvider = new RequirementItemProvider(this);
+		}
+
+		return requirementItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.DeriveReqt} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DeriveReqtItemProvider deriveReqtItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.DeriveReqt}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDeriveReqtAdapter() {
+		if (deriveReqtItemProvider == null) {
+			deriveReqtItemProvider = new DeriveReqtItemProvider(this);
+		}
+
+		return deriveReqtItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.Refine} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RefineItemProvider refineItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Refine}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createRefineAdapter() {
+		if (refineItemProvider == null) {
+			refineItemProvider = new RefineItemProvider(this);
+		}
+
+		return refineItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.Satisfy} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SatisfyItemProvider satisfyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Satisfy}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createSatisfyAdapter() {
+		if (satisfyItemProvider == null) {
+			satisfyItemProvider = new SatisfyItemProvider(this);
+		}
+
+		return satisfyItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.TestCase} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TestCaseItemProvider testCaseItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.TestCase}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createTestCaseAdapter() {
+		if (testCaseItemProvider == null) {
+			testCaseItemProvider = new TestCaseItemProvider(this);
+		}
+
+		return testCaseItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.Verify} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected VerifyItemProvider verifyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Verify}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createVerifyAdapter() {
+		if (verifyItemProvider == null) {
+			verifyItemProvider = new VerifyItemProvider(this);
+		}
+
+		return verifyItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		if (copyItemProvider != null) copyItemProvider.dispose();
+		if (traceItemProvider != null) traceItemProvider.dispose();
+		if (requirementItemProvider != null) requirementItemProvider.dispose();
+		if (deriveReqtItemProvider != null) deriveReqtItemProvider.dispose();
+		if (refineItemProvider != null) refineItemProvider.dispose();
+		if (satisfyItemProvider != null) satisfyItemProvider.dispose();
+		if (testCaseItemProvider != null) testCaseItemProvider.dispose();
+		if (verifyItemProvider != null) verifyItemProvider.dispose();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/SatisfyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/SatisfyItemProvider.java
new file mode 100644
index 0000000..6d3e195
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/SatisfyItemProvider.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Satisfy} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SatisfyItemProvider extends TraceItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SatisfyItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns Satisfy.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Satisfy")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Satisfy_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/TestCaseItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/TestCaseItemProvider.java
new file mode 100644
index 0000000..46c12b4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/TestCaseItemProvider.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.TestCase} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TestCaseItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TestCaseItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_BehaviorPropertyDescriptor(object);
+			addBase_OperationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Behavior feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_BehaviorPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_TestCase_base_Behavior_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_TestCase_base_Behavior_feature", "_UI_TestCase_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsPackage.Literals.TEST_CASE__BASE_BEHAVIOR,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Operation feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_OperationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_TestCase_base_Operation_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_TestCase_base_Operation_feature", "_UI_TestCase_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsPackage.Literals.TEST_CASE__BASE_OPERATION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns TestCase.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/TestCase")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_TestCase_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/TraceItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/TraceItemProvider.java
new file mode 100644
index 0000000..d78c371
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/TraceItemProvider.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.DirectedRelationshipPropertyPathItemProvider;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Trace} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TraceItemProvider extends DirectedRelationshipPropertyPathItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TraceItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addBase_AbstractionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Base Abstraction feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBase_AbstractionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Trace_base_Abstraction_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Trace_base_Abstraction_feature", "_UI_Trace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 StandardPackage.Literals.TRACE__BASE_ABSTRACTION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Trace.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Trace")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Trace_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SysMLEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/VerifyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/VerifyItemProvider.java
new file mode 100644
index 0000000..1f18307
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/VerifyItemProvider.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Verify} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class VerifyItemProvider extends TraceItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public VerifyItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns Verify.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Verify")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Verify_type"); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IComposableAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IComposableAdapterFactory.java
new file mode 100644
index 0000000..7d28743
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IComposableAdapterFactory.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.edit.provider;
+
+
+/**
+ * The purpose of this interface is to create composable adapterFactory but in a
+ * way much simpler than EMF does.
+ *
+ * @author "Arthur Daussy <a href="mailto:arthur.daussy@atos.net">arthur.daussy@atos.net</a>"
+ *
+ */
+public interface IComposableAdapterFactory {
+
+	/**
+	 * Return the root of the adapter factory
+	 *
+	 * @return {@link org.eclipse.emf.common.notify.AdapterFactory}
+	 */
+	IRootAdapterFactory getIRootAdapterFactory();
+
+	/**
+	 * Set the root AdapterFactory
+	 *
+	 * @param root
+	 */
+	void setRootAdapterFactory(IRootAdapterFactory root);
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IRootAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IRootAdapterFactory.java
new file mode 100644
index 0000000..30dd9df
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IRootAdapterFactory.java
@@ -0,0 +1,34 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.edit.provider;
+
+/**
+ * Interfaces which has to be implemented by Root AdapterFactory
+ */
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+public interface IRootAdapterFactory {
+
+	/**
+	 * Give back the itemProvider which correspond to the given EClass In this
+	 * prog : used to get back the UML ItemProvider of the EClass
+	 *
+	 * @param eClass
+	 * @return
+	 */
+	ItemProviderAdapter getItemProvider(EClass eClass);
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IVisibilityOverlayImage.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IVisibilityOverlayImage.java
new file mode 100644
index 0000000..8b2699c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IVisibilityOverlayImage.java
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.edit.provider;
+
+import org.eclipse.emf.edit.provider.ComposedImage;
+
+/**
+ * Interface that allow an ItemProvider to compose an overlay that handle
+ * visibility logo
+ *
+ * @author Arthur Daussy <a
+ *         href=mailto:arthur.daussy@atos.net>arthur.daussy@atos.net</a>
+ *
+ */
+public interface IVisibilityOverlayImage {
+
+	ComposedImage composeVisibilityImage(Object object, ComposedImage composedImage);
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/SysMLItemProviderAdapter.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/SysMLItemProviderAdapter.java
new file mode 100644
index 0000000..1bd53d7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/SysMLItemProviderAdapter.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.edit.provider;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedImage;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * Extends org.eclipse.emf.edit.provider.ItemProviderAdapter in order to
+ * implement specific SysML itemProvider fonctions
+ *
+ * @author "Arthur Daussy <a href="mailto:arthur.daussy@atos.net">arthur.daussy@atos.net</a>"
+ *
+ */
+public class SysMLItemProviderAdapter extends ItemProviderAdapter implements IVisibilityOverlayImage {
+
+	private static final String FULL_OVR16_VISIBILITY_KIND = "full/ovr16/VisibilityKind_"; //$NON-NLS-1$
+
+	public SysMLItemProviderAdapter(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * Compose the image with specific visibility logo Copied from UML
+	 * implementation
+	 *
+	 * @param object
+	 * @param composedImage
+	 * @return {@link ComposedImage}
+	 */
+	public ComposedImage composeVisibilityImage(Object object, ComposedImage composedImage) {
+		NamedElement namedElement = (NamedElement) object;
+		if (namedElement.isSetVisibility()) {
+			composedImage.getImages().add(UMLEditPlugin.INSTANCE.getImage(FULL_OVR16_VISIBILITY_KIND
+					+ namedElement.getVisibility().getName()));
+		}
+		return composedImage;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.classpath b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.project b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.project
new file mode 100644
index 0000000..482583a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.service.types</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.core.resources.prefs b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.core.runtime.prefs b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.jdt.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.jdt.ui.prefs b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.m2e.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.pde.api.tools.prefs b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/META-INF/MANIFEST.MF b/plugins/core/org.eclipse.papyrus.sysml16.service.types/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..cae849e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/META-INF/MANIFEST.MF
@@ -0,0 +1,28 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.service.types;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.papyrus.sysml16.service.types.Activator
+Require-Bundle: org.eclipse.gmf.runtime.emf.type.core;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.gmf.runtime.notation.edit;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.service.types;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Description: %Bundle-Description
+Bundle-Localization: plugin
+Export-Package: org.eclipse.papyrus.sysml16.service.types,
+ org.eclipse.papyrus.sysml16.service.types.advice,
+ org.eclipse.papyrus.sysml16.service.types.command,
+ org.eclipse.papyrus.sysml16.service.types.command.wrapper,
+ org.eclipse.papyrus.sysml16.service.types.matcher,
+ org.eclipse.papyrus.sysml16.service.types.matcher.internal;x-internal:=true,
+ org.eclipse.papyrus.sysml16.service.types.util
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.service.types
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/about.html b/plugins/core/org.eclipse.papyrus.sysml16.service.types/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/core/org.eclipse.papyrus.sysml16.service.types/build.properties b/plugins/core/org.eclipse.papyrus.sysml16.service.types/build.properties
new file mode 100644
index 0000000..89a13bf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/build.properties
@@ -0,0 +1,10 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               model/,\
+               plugin.properties,\
+               pom.xml,\
+               plugin.xml,\
+               about.html
+src.includes = about.html
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations b/plugins/core/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations
new file mode 100644
index 0000000..89fd107
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<elementtypesconfigurations:ElementTypeSetConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:applystereotypeadvice="http://www.eclipse.org/papyrus/uml/types/applystereotypeadvice/1.1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:setvaluesadvice="http://www.eclipse.org/papyrus/emf/types/setvaluesadvice/1.1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="org.eclipse.papyrus.sysml16.service.types.elementTypeSet.extension" description="SysML 1.6 extension element type set" identifier="org.eclipse.papyrus.sysml16.service.types.elementTypeSet.extension" name="SysML 1.6" metamodelNsURI="http://www.eclipse.org/uml2/5.0.0/UML">
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AbstractDefinition" identifier="org.eclipse.papyrus.SysML16.AbstractDefinition" name="AbstractDefinition" hint="UML::Classifier" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_p4UK8UcKEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Classifier.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4UyAEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Classifier"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AbstractDefinitionClass" identifier="org.eclipse.papyrus.SysML16.AbstractDefinitionClass" name="AbstractDefinitionClass" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_p4UyAkcKEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Classifier.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4UyA0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AbstractDefinition"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Unit" identifier="org.eclipse.papyrus.SysML16.Unit" name="Unit" hint="UML::InstanceSpecification" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_p4VZEUcKEemrpM9dj3x64Q" iconPath="/icons/full/obj16/InstanceSpecification.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4VZEkcKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.UnitEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4VZE0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InstanceSpecification"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.QuantityKind" identifier="org.eclipse.papyrus.SysML16.QuantityKind" name="QuantityKind" hint="UML::InstanceSpecification" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4WAIUcKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.QuantityKindEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4WAIkcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InstanceSpecification"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ConstraintProperty" description="Create a constraint Property" identifier="org.eclipse.papyrus.SysML16.ConstraintProperty" name="ConstraintProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4WnMUcKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConstraintPropertyEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4WnMkcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.ConstraintPropertyMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ActorPart" description="Create an actor Part" identifier="org.eclipse.papyrus.SysML16.ActorPart" name="ActorPart" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4XOQEcKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ActorPartEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4XOQUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Value" description="Create a value" identifier="org.eclipse.papyrus.SysML16.Value" name="Value" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4XOQ0cKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.AfterConfigureCommandEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4X1UEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Reference" description="Create a reference" identifier="org.eclipse.papyrus.SysML16.Reference" name="Reference" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4X1UkcKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.AfterConfigureCommandEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4YcYEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.ReferencePropertyMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Part" description="Create a part" identifier="org.eclipse.papyrus.SysML16.Part" name="Part" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4YcYkcKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.AfterConfigureCommandEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4YcY0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Parameter" description="Create a parameter" identifier="org.eclipse.papyrus.SysML16.Parameter" name="Parameter" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4ZDcUcKEemrpM9dj3x64Q" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.AfterConfigureCommandEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4ZDckcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ConfiguredFlowProperty" description="Create a FlowProperty" identifier="org.eclipse.papyrus.SysML16.ConfiguredFlowProperty" name="FlowProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4ZqgEcKEemrpM9dj3x64Q" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.AfterConfigureCommandEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4ZqgUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16.stereotypeinstance.Block" identifier="org.eclipse.papyrus.sysml16.stereotypeinstance.Block" name="SysML::StereotypeInstance::Block" hint="SysML::StereotypeInstance::Block" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType" editHelperClassName="org.eclipse.papyrus.infra.gmfdiag.common.helper.DefaultEditHelper">
+    <eClass xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.papyrus.sysml16/resources/profile/sysml.profile.ecore#//blocks/Block"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Activity" description="Create a TestCase Activity" identifier="org.eclipse.papyrus.SysML16.Activity" name="Activity" hint="UML::Activity" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4aRkEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Activity"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.FunctionBehavior" description="Create a TestCase FunctionBehavior" identifier="org.eclipse.papyrus.SysML16.FunctionBehavior" name="TestCase FunctionBehavior" hint="UML::FunctionBehavior" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4aRkkcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.FunctionBehavior"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Interaction" description="Create a TestCase Interaction" identifier="org.eclipse.papyrus.SysML16.Interaction" name="TestCase Interaction" hint="UML::Interaction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4a4oUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Interaction"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.OpaqueBehavior" description="Create a TestCase OpaqueBehavior" identifier="org.eclipse.papyrus.SysML16.OpaqueBehavior" name="TestCase OpaqueBehavior" hint="UML::OpaqueBehavior" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4a4o0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.OpaqueBehavior"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ProtocolStateMachine" description="Create a TestCase ProtocolStateMachine" identifier="org.eclipse.papyrus.SysML16.ProtocolStateMachine" name="TestCase ProtocolStateMachine" hint="UML::ProtocolStateMachine" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4bfsUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ProtocolStateMachine"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.StateMachine" description="Create a TestCase StateMachine" identifier="org.eclipse.papyrus.SysML16.StateMachine" name="TestCase StateMachine" hint="UML::StateMachine" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4bfs0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.StateMachine"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.PrivatePackageImport" description="Create a PrivatePackageImport" identifier="org.eclipse.papyrus.SysML16.PrivatePackageImport" name="PrivatePackageImport" hint="UML::PackageImport" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4cGwUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.PackageImport"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AssociationBlock" description="Create an AssociationBlock" identifier="org.eclipse.papyrus.SysML16.AssociationBlock" name="AssociationBlock" hint="UML::AssociationClass" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4cGw0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.AssociationClass"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ContinuousControlFlow" description="Create an ContinuousControlFlow" identifier="org.eclipse.papyrus.SysML16.ContinuousControlFlow" name="ContinuousControlFlow" hint="UML::ControlFlow" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4ct0UcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ControlFlow"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.StakeholderClass" identifier="org.eclipse.papyrus.SysML16.StakeholderClass" name="Stakeholder" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4dU4EcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Stakeholder"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.DiscreteControlFlow" description="Create an DiscreteControlFlow" identifier="org.eclipse.papyrus.SysML16.DiscreteControlFlow" name="DiscreteControlFlow" hint="UML::ControlFlow" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4dU4kcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ControlFlow"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.RateControlFlow" description="Create an RateControlFlow" identifier="org.eclipse.papyrus.SysML16.RateControlFlow" name="RateControlFlow" hint="UML::ControlFlow" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4d78EcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ControlFlow"/>
+  </elementTypeConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4d78UcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.apply.continuous" target="org.eclipse.papyrus.SysML16.ContinuousControlFlow">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4d78kcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Continuous" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4ejAEcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.apply.discrete" target="org.eclipse.papyrus.SysML16.DiscreteControlFlow">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4ejAUcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Discrete" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4ejAkcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.apply.rate" target="org.eclipse.papyrus.SysML16.RateControlFlow">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4ejA0cKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Rate" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4fKEEcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_001" identifier="org.eclipse.papyru.sysml16.advice.ConformCreation" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConformCreationEditHelperAdvice">
+    <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Classifier"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4fKEUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4fKEkcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_001" identifier="org.eclipse.papyru.sysml16.advice.ConformReorient" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConformReorientEditHelperAdvice">
+    <target xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Conform"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4fKE0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4fxIEcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_002" identifier="org.eclipse.papyru.sysml16.advice.ElementGroup" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ElementGroupEditHelperAdvice">
+    <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Comment"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4fxIUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4fxIkcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_004" identifier="org.eclipse.papyrus.sysml16.service.types.advice.PartCreationEditHelperAdvice" target="org.eclipse.papyrus.SysML16.Part" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.PartCreationEditHelperAdvice">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4fxI0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4gYMEcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_004" identifier="org.eclipse.papyrus.sysml16.service.types.advice.ReferenceCreationEditHelperAdvice" target="org.eclipse.papyrus.SysML16.Reference" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ReferenceCreationEditHelperAdvice">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4gYMUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4gYMkcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_007" identifier="org.eclipse.papyru.sysml16.advice.ConnectorReorientEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConnectorReorientEditHelperAdvice">
+    <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Connector"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4gYM0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4g_QEcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_007" identifier="org.eclipse.papyru.sysml16.advice.ConnectorCreationEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConnectorCreationEditHelperAdvice">
+    <target xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Block"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4g_QUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4g_QkcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_007" identifier="org.eclipse.papyru.sysml16.advice.ConnectorCreationConstraintBlockEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConnectorCreationEditHelperAdvice">
+    <target xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintBlock"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4hmUEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4hmUUcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_007" identifier="org.eclipse.papyrus.sysml16.service.types.advice.SetEncapsulatedEditHelperAdvice" target="org.eclipse.papyrus.sysml16.stereotypeinstance.Block" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.SetEncapsulatedEditHelperAdvice">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4hmUkcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4hmU0cKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.Activity" target="org.eclipse.papyrus.SysML16.Activity">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4iNYEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4iNYUcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4iNYkcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.FunctionBehavior" target="org.eclipse.papyrus.SysML16.FunctionBehavior">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4iNY0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4i0cEcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4i0cUcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.Interaction" target="org.eclipse.papyrus.SysML16.Interaction">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4i0ckcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4jbgEcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4jbgUcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.OpaqueBehavior" target="org.eclipse.papyrus.SysML16.OpaqueBehavior">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4jbgkcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4jbg0cKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4kCkEcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.ProtocolStateMachine" target="org.eclipse.papyrus.SysML16.ProtocolStateMachine">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4kCkUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4kCkkcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4kCk0cKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.StateMachine" target="org.eclipse.papyrus.SysML16.StateMachine">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4kpoEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4kpoUcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4kpokcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.StateMachine" target="org.eclipse.papyrus.SysML16.AssociationBlock">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4kpo0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4lQsEcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::Block">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4lQsUcKEemrpM9dj3x64Q" identifier="Allocate_Abstraction.DirectedRelationshipPropertyPathEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.DirectedRelationshipPropertyPathEditHelperAdvice">
+    <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Package"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4lQskcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4l3wEcKEemrpM9dj3x64Q" identifier="Allocate_Abstraction.ReorientDirectedRelationshipPPEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ReorientDirectedRelationshipPPEditHelperAdvice">
+    <target xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Allocate_Abstraction"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4l3wUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4l3wkcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.sysml16.service.types.advice.ConstraintCreationEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConstraintCreationEditHelperAdvice">
+    <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="setvaluesadvice:SetValuesAdviceConfiguration" xmi:id="_p4l3w0cKEemrpM9dj3x64Q" description="Set visibility to private " identifier="org.eclipse.papyrus.SysML16.PrivatePackageImport.setPrivate" target="org.eclipse.papyrus.SysML16.PrivatePackageImport">
+    <featuresToSet xmi:type="setvaluesadvice:FeatureToSet" xmi:id="_p4me0EcKEemrpM9dj3x64Q" featureName="visibility">
+      <value xmi:type="setvaluesadvice:ConstantValue" xmi:id="_p4me0UcKEemrpM9dj3x64Q">
+        <valueInstance xmi:type="uml:InstanceValue" xmi:id="_p4me0kcKEemrpM9dj3x64Q">
+          <type xmi:type="uml:Enumeration" href="pathmap://UML_METAMODELS/UML.metamodel.uml#VisibilityKind"/>
+          <instance xmi:type="uml:EnumerationLiteral" href="pathmap://UML_METAMODELS/UML.metamodel.uml#VisibilityKind-private"/>
+        </valueInstance>
+      </value>
+    </featuresToSet>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4me00cKEemrpM9dj3x64Q" description="" identifier="org.eclipse.papyru.sysml16.advice.DeriveReqtClient" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.DeriveReqtClientEditHelperAdvice">
+    <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4nF4EcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4nF4UcKEemrpM9dj3x64Q" description="" identifier="org.eclipse.papyru.sysml16.advice.DeriveReqtSupplier" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.DeriveReqtSupplierEditHelperAdvice">
+    <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Package"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4nF4kcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4nF40cKEemrpM9dj3x64Q" description="" identifier="org.eclipse.papyru.sysml16.advice.ConnectorPropertyEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConnectorPropertyEditHelperAdvice">
+    <target xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConnectorProperty"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4ns8EcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="setvaluesadvice:SetValuesAdviceConfiguration" xmi:id="_p4ns8UcKEemrpM9dj3x64Q" description="Set abstract to true " identifier="org.eclipse.papyrus.SysML16.AbstractDefinition.setAbstract" target="org.eclipse.papyrus.SysML16.AbstractDefinition">
+    <featuresToSet xmi:type="setvaluesadvice:FeatureToSet" xmi:id="_p4ns8kcKEemrpM9dj3x64Q" featureName="isAbstract">
+      <value xmi:type="setvaluesadvice:ConstantValue" xmi:id="_p4oUAEcKEemrpM9dj3x64Q">
+        <valueInstance xmi:type="uml:LiteralBoolean" xmi:id="_p4oUAUcKEemrpM9dj3x64Q" value="true"/>
+      </value>
+    </featuresToSet>
+  </adviceBindingsConfigurations>
+</elementtypesconfigurations:ElementTypeSetConfiguration>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations b/plugins/core/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations
new file mode 100644
index 0000000..467a90a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations
@@ -0,0 +1,891 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<elementtypesconfigurations:ElementTypeSetConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:applystereotypeadvice="http://www.eclipse.org/papyrus/uml/types/applystereotypeadvice/1.1" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:stereotypematcher="http://www.eclipse.org/papyrus/uml/types/stereotypematcher/1.1" xmi:id="org.eclipse.papyrus.sysml16.service.types.elementTypeSet" identifier="org.eclipse.papyrus.sysml16.service.types.elementTypeSet" name="SysML 1.6" metamodelNsURI="http://www.eclipse.org/uml2/5.0.0/UML">
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AcceptChangeStructuralFeatureEventAction" description="" identifier="org.eclipse.papyrus.SysML16.AcceptChangeStructuralFeatureEventAction" name="AcceptChangeStructuralFeatureEventAction" hint="UML::AcceptEventAction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2NsYUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/AcceptEventAction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2OTcEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::AcceptChangeStructuralFeatureEventAction</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.AcceptEventAction"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AddFlowPropertyValueOnNestedPortAction" description="" identifier="org.eclipse.papyrus.SysML16.AddFlowPropertyValueOnNestedPortAction" name="AddFlowPropertyValueOnNestedPortAction" hint="UML::AddStructuralFeatureValueAction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_z0SkgEcNEem3Z70iU-iUnQ" iconPath="/icons/full/obj16/AddStructuralFeatureValueAction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_z0SkgUcNEem3Z70iU-iUnQ" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::AddFlowPropertyValueOnNestedPortAction</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.AddStructuralFeatureValueAction"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AdjunctProperty" identifier="org.eclipse.papyrus.SysML16.AdjunctProperty" name="AdjunctProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2OTckcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2O6gEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::AdjunctProperty</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AllocateActivityPartition" identifier="org.eclipse.papyrus.SysML16.AllocateActivityPartition" name="AllocateActivityPartition" hint="UML::ActivityPartition" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2O6gkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ActivityPartition.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2O6g0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Allocations::AllocateActivityPartition</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActivityPartition"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Allocate_Abstraction" identifier="org.eclipse.papyrus.SysML16.Allocate_Abstraction" name="Allocate Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2PhkUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2PhkkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Allocations::Allocate</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Allocate_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.Allocate_DirectedRelationship" name="Allocate DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2PhlEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2QIoEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Allocations::Allocate</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.BindingConnector" identifier="org.eclipse.papyrus.SysML16.BindingConnector" name="BindingConnector" hint="UML::Connector" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2QIokcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Connector.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2QvsEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::BindingConnector</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Connector"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Block" identifier="org.eclipse.papyrus.SysML16.Block" name="Block" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2QvskcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2RWwEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::Block</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.BoundReference" identifier="org.eclipse.papyrus.SysML16.BoundReference" name="BoundReference" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2RWwkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2RWw0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::BoundReference</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ChangeStructuralFeatureEvent" identifier="org.eclipse.papyrus.SysML16.ChangeStructuralFeatureEvent" name="ChangeStructuralFeatureEvent" hint="UML::ChangeEvent" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2R90EcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ChangeEvent.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2R90UcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::ChangeStructuralFeatureEvent</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ChangeEvent"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty" identifier="org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty" name="ClassifierBehaviorProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2R900cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2Sk4EcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::ClassifierBehaviorProperty</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Conform" identifier="org.eclipse.papyrus.SysML16.Conform" name="Conform" hint="UML::Generalization" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2Sk4kcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Generalization.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2Sk40cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::ModelElements::Conform</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Generalization"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock" identifier="org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock" name="ConjugatedInterfaceBlock" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_agt7kEcaEem3Z70iU-iUnQ" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_aguioEcaEem3Z70iU-iUnQ" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::InterfaceBlock</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ConnectorProperty" identifier="org.eclipse.papyrus.SysML16.ConnectorProperty" name="ConnectorProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2TL8EcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2TL8UcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::ConnectorProperty</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ConstraintBlock" identifier="org.eclipse.papyrus.SysML16.ConstraintBlock" name="ConstraintBlock" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2TL80cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2TzAEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::ConstraintBlocks::ConstraintBlock</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Continuous_ActivityEdge" identifier="org.eclipse.papyrus.SysML16.Continuous_ActivityEdge" name="Continuous ActivityEdge" hint="UML::ActivityEdge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2TzAkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ActivityEdge.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2TzA0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::Continuous</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActivityEdge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Continuous_ObjectNode" identifier="org.eclipse.papyrus.SysML16.Continuous_ObjectNode" name="Continuous ObjectNode" hint="UML::ObjectNode" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2UaEUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ObjectNode.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2UaEkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::Continuous</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ObjectNode"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Continuous_Parameter" identifier="org.eclipse.papyrus.SysML16.Continuous_Parameter" name="Continuous Parameter" hint="UML::Parameter" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2UaFEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Parameter.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2VBIEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::Continuous</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Parameter"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ControlOperator_Behavior" identifier="org.eclipse.papyrus.SysML16.ControlOperator_Behavior" name="ControlOperator Behavior" hint="UML::Behavior" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2VBIkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Behavior.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2VBI0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::ControlOperator</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Behavior"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ControlOperator_Operation" identifier="org.eclipse.papyrus.SysML16.ControlOperator_Operation" name="ControlOperator Operation" hint="UML::Operation" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2VoMUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Operation.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2VoMkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::ControlOperator</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Operation"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Copy_Abstraction" identifier="org.eclipse.papyrus.SysML16.Copy_Abstraction" name="Copy Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2WPQEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2WPQUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::Copy</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Copy_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.Copy_DirectedRelationship" name="Copy DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2WPQ0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2WPREcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::Copy</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.DeriveReqt_Abstraction" identifier="org.eclipse.papyrus.SysML16.DeriveReqt_Abstraction" name="DeriveReqt Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2W2UUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2W2UkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::DeriveReqt</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.DeriveReqt_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.DeriveReqt_DirectedRelationship" name="DeriveReqt DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2XdYEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2XdYUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::DeriveReqt</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.DirectedFeature" identifier="org.eclipse.papyrus.SysML16.DirectedFeature" name="DirectedFeature" hint="UML::Feature" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2XdY0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Feature.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2YEcEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::DirectedFeature</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Feature"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.DirectedRelationshipPropertyPath" identifier="org.eclipse.papyrus.SysML16.DirectedRelationshipPropertyPath" name="DirectedRelationshipPropertyPath" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2YEckcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2YEc0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::DirectedRelationshipPropertyPath</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Discrete_ActivityEdge" identifier="org.eclipse.papyrus.SysML16.Discrete_ActivityEdge" name="Discrete ActivityEdge" hint="UML::ActivityEdge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2YrgUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ActivityEdge.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2YrgkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::Discrete</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActivityEdge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Discrete_ObjectNode" identifier="org.eclipse.papyrus.SysML16.Discrete_ObjectNode" name="Discrete ObjectNode" hint="UML::ObjectNode" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2ZSkEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ObjectNode.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2ZSkUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::Discrete</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ObjectNode"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Discrete_Parameter" identifier="org.eclipse.papyrus.SysML16.Discrete_Parameter" name="Discrete Parameter" hint="UML::Parameter" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2ZSk0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Parameter.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2Z5oEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::Discrete</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Parameter"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.DistributedProperty" identifier="org.eclipse.papyrus.SysML16.DistributedProperty" name="DistributedProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2Z5okcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2Z5o0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::DistributedProperty</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ElementGroup" identifier="org.eclipse.papyrus.SysML16.ElementGroup" name="ElementGroup" hint="UML::Comment" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2agsEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Comment.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2agsUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::ModelElements::ElementGroup</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Comment"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ElementPropertyPath" identifier="org.eclipse.papyrus.SysML16.ElementPropertyPath" name="ElementPropertyPath" hint="UML::Element" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2ags0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Element.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2bHwEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::ElementPropertyPath</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.EndPathMultiplicity" identifier="org.eclipse.papyrus.SysML16.EndPathMultiplicity" name="EndPathMultiplicity" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2bHwkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2bHw0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::EndPathMultiplicity</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Expose" identifier="org.eclipse.papyrus.SysML16.Expose" name="Expose" hint="UML::Dependency" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2bu0UcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Dependency.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2bu0kcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::ModelElements::Expose</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Dependency"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.FlowPort" identifier="org.eclipse.papyrus.SysML16.FlowPort" name="FlowPort" hint="UML::Port" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2cV4EcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Port.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2cV4UcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::DeprecatedElements::FlowPort</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Port"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.FlowProperty" identifier="org.eclipse.papyrus.SysML16.FlowProperty" name="FlowProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2cV40cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2c88EcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::FlowProperty</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.FlowSpecification" identifier="org.eclipse.papyrus.SysML16.FlowSpecification" name="FlowSpecification" hint="UML::Interface" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2c88kcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Interface.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2c880cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::DeprecatedElements::FlowSpecification</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Interface"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.FullPort" identifier="org.eclipse.papyrus.SysML16.FullPort" name="FullPort" hint="UML::Port" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2dkAUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Port.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2dkAkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::FullPort</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Port"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.InterfaceBlock" identifier="org.eclipse.papyrus.SysML16.InterfaceBlock" name="InterfaceBlock" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2dkBEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2eLEEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::InterfaceBlock</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_Element" identifier="org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_Element" name="InvocationOnNestedPortAction Element" hint="UML::Element" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2eLEkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Element.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2eLE0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::InvocationOnNestedPortAction</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_InvocationAction" identifier="org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_InvocationAction" name="InvocationOnNestedPortAction InvocationAction" hint="UML::InvocationAction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2eyIUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/InvocationAction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2eyIkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::InvocationOnNestedPortAction</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InvocationAction"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ItemFlow" identifier="org.eclipse.papyrus.SysML16.ItemFlow" name="ItemFlow" hint="UML::InformationFlow" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2fZMEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/InformationFlow.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2fZMUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::ItemFlow</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InformationFlow"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.NestedConnectorEnd_ConnectorEnd" identifier="org.eclipse.papyrus.SysML16.NestedConnectorEnd_ConnectorEnd" name="NestedConnectorEnd ConnectorEnd" hint="UML::ConnectorEnd" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2fZM0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ConnectorEnd.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2fZNEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::NestedConnectorEnd</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ConnectorEnd"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.NestedConnectorEnd_Element" identifier="org.eclipse.papyrus.SysML16.NestedConnectorEnd_Element" name="NestedConnectorEnd Element" hint="UML::Element" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2gAQUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Element.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2gAQkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::NestedConnectorEnd</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.NoBuffer" identifier="org.eclipse.papyrus.SysML16.NoBuffer" name="NoBuffer" hint="UML::ObjectNode" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2gnUEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ObjectNode.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2gnUUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::NoBuffer</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ObjectNode"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Optional" identifier="org.eclipse.papyrus.SysML16.Optional" name="Optional" hint="UML::Parameter" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2gnU0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Parameter.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2hOYEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::Optional</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Parameter"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Overwrite" identifier="org.eclipse.papyrus.SysML16.Overwrite" name="Overwrite" hint="UML::ObjectNode" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2hOYkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ObjectNode.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2hOY0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::Overwrite</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ObjectNode"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ParticipantProperty" identifier="org.eclipse.papyrus.SysML16.ParticipantProperty" name="ParticipantProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2h1cUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2h1ckcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::ParticipantProperty</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Probability_ActivityEdge" identifier="org.eclipse.papyrus.SysML16.Probability_ActivityEdge" name="Probability ActivityEdge" hint="UML::ActivityEdge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2icgEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ActivityEdge.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2icgUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::Probability</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActivityEdge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Probability_ParameterSet" identifier="org.eclipse.papyrus.SysML16.Probability_ParameterSet" name="Probability ParameterSet" hint="UML::ParameterSet" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2icg0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ParameterSet.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2ichEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::Probability</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ParameterSet"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Problem" identifier="org.eclipse.papyrus.SysML16.Problem" name="Problem" hint="UML::Comment" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2jDkUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Comment.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2jDkkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::ModelElements::Problem</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Comment"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.PropertySpecificType" identifier="org.eclipse.papyrus.SysML16.PropertySpecificType" name="PropertySpecificType" hint="UML::Classifier" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2jqoEcFEemrpM9dj3x64Q" iconPath="/icons/Classifier.gif" bundleId="org.eclipse.papyrus.uml.service.types"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2jqoUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::PropertySpecificType</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Classifier"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ProxyPort" identifier="org.eclipse.papyrus.SysML16.ProxyPort" name="ProxyPort" hint="UML::Port" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2jqo0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Port.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2jqpEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::ProxyPort</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Port"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Rate_ActivityEdge" identifier="org.eclipse.papyrus.SysML16.Rate_ActivityEdge" name="Rate ActivityEdge" hint="UML::ActivityEdge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2kRsUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ActivityEdge.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2kRskcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::Rate</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActivityEdge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Rate_ObjectNode" identifier="org.eclipse.papyrus.SysML16.Rate_ObjectNode" name="Rate ObjectNode" hint="UML::ObjectNode" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2k4wEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ObjectNode.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2k4wUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::Rate</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ObjectNode"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Rate_Parameter" identifier="org.eclipse.papyrus.SysML16.Rate_Parameter" name="Rate Parameter" hint="UML::Parameter" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2k4w0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Parameter.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2k4xEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Activities::Rate</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Parameter"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Rationale" identifier="org.eclipse.papyrus.SysML16.Rationale" name="Rationale" hint="UML::Comment" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2lf0UcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Comment.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2lf0kcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::ModelElements::Rationale</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Comment"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Refine_Abstraction" identifier="org.eclipse.papyrus.SysML16.Refine_Abstraction" name="Refine Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2mG4UcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2mG4kcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::Refine</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Refine_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.Refine_DirectedRelationship" name="Refine DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2mt8EcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2mt8UcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::Refine</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Requirement" identifier="org.eclipse.papyrus.SysML16.Requirement" name="Requirement" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2mt80cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2mt9EcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::Requirement</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Satisfy_Abstraction" identifier="org.eclipse.papyrus.SysML16.Satisfy_Abstraction" name="Satisfy Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2nVAUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2nVAkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::Satisfy</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Satisfy_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.Satisfy_DirectedRelationship" name="Satisfy DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2n8EEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2n8EUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::Satisfy</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Stakeholder" identifier="org.eclipse.papyrus.SysML16.Stakeholder" name="Stakeholder" hint="UML::Classifier" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2n8E0cFEemrpM9dj3x64Q" iconPath="/icons/Classifier.gif" bundleId="org.eclipse.papyrus.uml.service.types"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2n8FEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::ModelElements::Stakeholder</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Classifier"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.TestCase_Behavior" identifier="org.eclipse.papyrus.SysML16.TestCase_Behavior" name="TestCase Behavior" hint="UML::Behavior" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2ojIUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Behavior.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2ojIkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::TestCase</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Behavior"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.TestCase_Operation" identifier="org.eclipse.papyrus.SysML16.TestCase_Operation" name="TestCase Operation" hint="UML::Operation" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2pKMEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Operation.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2pKMUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::TestCase</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Operation"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Trace_Abstraction" identifier="org.eclipse.papyrus.SysML16.Trace_Abstraction" name="Trace Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2pKM0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2pKNEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::Trace</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Trace_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.Trace_DirectedRelationship" name="Trace DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2pxQUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2pxQkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::Trace</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Element" identifier="org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Element" name="TriggerOnNestedPort Element" hint="UML::Element" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2qYUEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Element.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2qYUUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::TriggerOnNestedPort</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Trigger" identifier="org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Trigger" name="TriggerOnNestedPort Trigger" hint="UML::Trigger" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2qYU0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Trigger.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2q_YEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::PortsAndFlows::TriggerOnNestedPort</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Trigger"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ValueType" identifier="org.eclipse.papyrus.SysML16.ValueType" name="ValueType" hint="UML::DataType" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2q_YkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DataType.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2q_Y0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Blocks::ValueType</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DataType"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Verify_Abstraction" identifier="org.eclipse.papyrus.SysML16.Verify_Abstraction" name="Verify Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2rmcEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2rmcUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::Verify</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Verify_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.Verify_DirectedRelationship" name="Verify DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2rmc0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2sNgEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::Requirements::Verify</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.View" identifier="org.eclipse.papyrus.SysML16.View" name="View" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2sNgkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2sNg0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::ModelElements::View</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Viewpoint" identifier="org.eclipse.papyrus.SysML16.Viewpoint" name="Viewpoint" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2s0kUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2s0kkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+      <stereotypesQualifiedNames>SysML::ModelElements::Viewpoint</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+  </elementTypeConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2s0k0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.acceptChangeStructuralFeatureEventAction" target="org.eclipse.papyrus.SysML16.AcceptChangeStructuralFeatureEventAction">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2tboEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::AcceptChangeStructuralFeatureEventAction" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_NxH58EcOEem3Z70iU-iUnQ" identifier="org.eclipse.papyrus.SysML16.addFlowPropertyValueOnNestedPortAction" target="org.eclipse.papyrus.SysML16.AddFlowPropertyValueOnNestedPortAction">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_NxJIEEcOEem3Z70iU-iUnQ" stereotypeQualifiedName="SysML::ModelElements::AddFlowPropertyValueOnNestedPortAction" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2tboUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.adjunctProperty" target="org.eclipse.papyrus.SysML16.AdjunctProperty">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2tbokcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::AdjunctProperty" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2tbo0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.allocate" target="org.eclipse.papyrus.SysML16.Allocate_Abstraction">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2uCsEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Allocations::Allocate" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2uCsUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.allocate" target="org.eclipse.papyrus.SysML16.Allocate_DirectedRelationship">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2uCskcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Allocations::Allocate" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2uCs0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.allocateActivityPartition" target="org.eclipse.papyrus.SysML16.AllocateActivityPartition">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2upwEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Allocations::AllocateActivityPartition" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2upwUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.bindingConnector" target="org.eclipse.papyrus.SysML16.BindingConnector">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2upwkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::BindingConnector" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2upw0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.block" target="org.eclipse.papyrus.SysML16.Block">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2upxEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::Block" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2vQ0EcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.boundReference" target="org.eclipse.papyrus.SysML16.BoundReference">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2vQ0UcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::BoundReference" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2vQ0kcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.changeStructuralFeatureEvent" target="org.eclipse.papyrus.SysML16.ChangeStructuralFeatureEvent">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2v34EcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::ChangeStructuralFeatureEvent" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2v34UcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.classifierBehaviorProperty" target="org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2v34kcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::ClassifierBehaviorProperty" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2v340cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.conform" target="org.eclipse.papyrus.SysML16.Conform">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2we8EcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::Conform" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_qyx00EcaEem3Z70iU-iUnQ" identifier="org.eclipse.papyrus.SysML16.ConjugatedinterfaceBlock" target="org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_qyx00UcaEem3Z70iU-iUnQ" stereotypeQualifiedName="SysML::PortsAndFlows::ConjugatedInterfaceBlock" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2we8UcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.connectorProperty" target="org.eclipse.papyrus.SysML16.ConnectorProperty">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2we8kcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::ConnectorProperty" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2we80cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.constraintBlock" target="org.eclipse.papyrus.SysML16.ConstraintBlock">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2xGAEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ConstraintBlocks::ConstraintBlock" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2xGAUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.continuous" target="org.eclipse.papyrus.SysML16.Continuous_ActivityEdge">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2xGAkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Continuous" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2xGA0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.continuous" target="org.eclipse.papyrus.SysML16.Continuous_ObjectNode">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2xGBEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Continuous" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2xtEEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.continuous" target="org.eclipse.papyrus.SysML16.Continuous_Parameter">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2xtEUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Continuous" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2xtEkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.controlOperator" target="org.eclipse.papyrus.SysML16.ControlOperator_Behavior">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2xtE0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::ControlOperator" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2yUIEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.controlOperator" target="org.eclipse.papyrus.SysML16.ControlOperator_Operation">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2yUIUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::ControlOperator" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2yUIkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.copy" target="org.eclipse.papyrus.SysML16.Copy_Abstraction">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2yUI0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Copy" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2yUJEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.copy" target="org.eclipse.papyrus.SysML16.Copy_DirectedRelationship">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2y7MEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Copy" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2y7MUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.deriveReqt" target="org.eclipse.papyrus.SysML16.DeriveReqt_Abstraction">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2y7MkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::DeriveReqt" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2y7M0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.deriveReqt" target="org.eclipse.papyrus.SysML16.DeriveReqt_DirectedRelationship">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2ziQEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::DeriveReqt" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2ziQUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.directedFeature" target="org.eclipse.papyrus.SysML16.DirectedFeature">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2ziQkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::DirectedFeature" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2ziQ0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.directedRelationshipPropertyPath" target="org.eclipse.papyrus.SysML16.DirectedRelationshipPropertyPath">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G20JUEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::DirectedRelationshipPropertyPath" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G20JUUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.discrete" target="org.eclipse.papyrus.SysML16.Discrete_ActivityEdge">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G20JUkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Discrete" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G20JU0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.discrete" target="org.eclipse.papyrus.SysML16.Discrete_ObjectNode">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G20JVEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Discrete" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G20wYEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.discrete" target="org.eclipse.papyrus.SysML16.Discrete_Parameter">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G20wYUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Discrete" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G20wYkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.distributedProperty" target="org.eclipse.papyrus.SysML16.DistributedProperty">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G20wY0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::DistributedProperty" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G21XcEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.elementGroup" target="org.eclipse.papyrus.SysML16.ElementGroup">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G21XcUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::ElementGroup" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G21XckcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.elementPropertyPath" target="org.eclipse.papyrus.SysML16.ElementPropertyPath">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G21Xc0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::ElementPropertyPath" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G21XdEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.endPathMultiplicity" target="org.eclipse.papyrus.SysML16.EndPathMultiplicity">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G21-gEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::EndPathMultiplicity" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G21-gUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.expose" target="org.eclipse.papyrus.SysML16.Expose">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G21-gkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::Expose" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G21-g0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.flowPort" target="org.eclipse.papyrus.SysML16.FlowPort">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G22lkEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::DeprecatedElements::FlowPort" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G22lkUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.flowProperty" target="org.eclipse.papyrus.SysML16.FlowProperty">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G22lkkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::FlowProperty" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G22lk0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.flowSpecification" target="org.eclipse.papyrus.SysML16.FlowSpecification">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G23MoEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::DeprecatedElements::FlowSpecification" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G23MoUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.fullPort" target="org.eclipse.papyrus.SysML16.FullPort">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G23MokcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::FullPort" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G23Mo0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.interfaceBlock" target="org.eclipse.papyrus.SysML16.InterfaceBlock">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G23zsEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::InterfaceBlock" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G23zsUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.invocationOnNestedPortAction" target="org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_InvocationAction">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G23zskcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::InvocationOnNestedPortAction" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G23zs0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.invocationOnNestedPortAction" target="org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_Element">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G24awEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::InvocationOnNestedPortAction" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G24awUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.itemFlow_UML::InformationFlow" target="org.eclipse.papyrus.SysML16.ItemFlow">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G24awkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::ItemFlow" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G24aw0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.nestedConnectorEnd" target="org.eclipse.papyrus.SysML16.NestedConnectorEnd_ConnectorEnd">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G24axEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::NestedConnectorEnd" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G25B0EcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.nestedConnectorEnd" target="org.eclipse.papyrus.SysML16.NestedConnectorEnd_Element">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G25B0UcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::NestedConnectorEnd" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G25B0kcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.noBuffer" target="org.eclipse.papyrus.SysML16.NoBuffer">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G25B00cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::NoBuffer" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G25o4EcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.optional" target="org.eclipse.papyrus.SysML16.Optional">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G25o4UcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Optional" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G25o4kcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.overwrite" target="org.eclipse.papyrus.SysML16.Overwrite">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G25o40cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Overwrite" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G25o5EcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.participantProperty" target="org.eclipse.papyrus.SysML16.ParticipantProperty">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G26P8EcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::ParticipantProperty" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G26P8UcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.probability" target="org.eclipse.papyrus.SysML16.Probability_ActivityEdge">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G26P8kcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Probability" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G26P80cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.probability" target="org.eclipse.papyrus.SysML16.Probability_ParameterSet">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G263AEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Probability" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G263AUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.problem" target="org.eclipse.papyrus.SysML16.Problem">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G263AkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::Problem" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G263A0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.propertySpecificType" target="org.eclipse.papyrus.SysML16.PropertySpecificType">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G263BEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::PropertySpecificType" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G27eEEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.proxyPort" target="org.eclipse.papyrus.SysML16.ProxyPort">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G27eEUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::ProxyPort" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G27eEkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.rate" target="org.eclipse.papyrus.SysML16.Rate_ActivityEdge">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G27eE0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Rate" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G28FIEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.rate" target="org.eclipse.papyrus.SysML16.Rate_ObjectNode">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G28FIUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Rate" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G28FIkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.rate" target="org.eclipse.papyrus.SysML16.Rate_Parameter">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G28FI0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Rate" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G28sMEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.rationale" target="org.eclipse.papyrus.SysML16.Rationale">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G28sMUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::Rationale" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G28sMkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.refine" target="org.eclipse.papyrus.SysML16.Refine_Abstraction">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G28sM0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Refine" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G29TQEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.refine" target="org.eclipse.papyrus.SysML16.Refine_DirectedRelationship">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G29TQUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Refine" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G29TQkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.requirement" target="org.eclipse.papyrus.SysML16.Requirement">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G29TQ0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Requirement" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G29TREcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.satisfy" target="org.eclipse.papyrus.SysML16.Satisfy_Abstraction">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G296UEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Satisfy" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G296UUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.satisfy" target="org.eclipse.papyrus.SysML16.Satisfy_DirectedRelationship">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G296UkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Satisfy" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G296U0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.stakeholder" target="org.eclipse.papyrus.SysML16.Stakeholder">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2-hYEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::Stakeholder" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2-hYUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testCase" target="org.eclipse.papyrus.SysML16.TestCase_Behavior">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2-hYkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2-hY0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testCase" target="org.eclipse.papyrus.SysML16.TestCase_Operation">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2-hZEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2_IcEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.trace" target="org.eclipse.papyrus.SysML16.Trace_Abstraction">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2_IcUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Trace" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2_IckcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.trace" target="org.eclipse.papyrus.SysML16.Trace_DirectedRelationship">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2_Ic0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Trace" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2_vgEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.triggerOnNestedPort" target="org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Trigger">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2_vgUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::TriggerOnNestedPort" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2_vgkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.triggerOnNestedPort" target="org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Element">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G3AWkEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::TriggerOnNestedPort" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G3AWkUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.valueType" target="org.eclipse.papyrus.SysML16.ValueType">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G3AWkkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::ValueType" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G3AWk0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.verify" target="org.eclipse.papyrus.SysML16.Verify_Abstraction">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G3A9oEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Verify" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G3A9oUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.verify" target="org.eclipse.papyrus.SysML16.Verify_DirectedRelationship">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G3A9okcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Verify" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G3A9o0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.view" target="org.eclipse.papyrus.SysML16.View">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G3BksEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::View" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G3BksUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.viewpoint" target="org.eclipse.papyrus.SysML16.Viewpoint">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G3BkskcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::Viewpoint" updateName="true">
+      <requiredProfiles>SysML</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+</elementtypesconfigurations:ElementTypeSetConfiguration>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/plugin.properties b/plugins/core/org.eclipse.papyrus.sysml16.service.types/plugin.properties
new file mode 100644
index 0000000..13f8dd8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/plugin.properties
@@ -0,0 +1,17 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Service Type
+Bundle-Description=This plug-in contains the SyML 1.6 element types.
+Bundle-Vendor=Eclipse Modeling Project
+
+
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/plugin.xml b/plugins/core/org.eclipse.papyrus.sysml16.service.types/plugin.xml
new file mode 100644
index 0000000..e9d1215
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/plugin.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+   <extension
+         point="org.eclipse.papyrus.infra.types.core.elementTypeSetConfiguration">
+      <elementTypeSet
+            clientContextID="org.eclipse.papyrus.infra.services.edit.TypeContext"
+            path="model/SysML16.elementtypesconfigurations">
+      </elementTypeSet>
+   </extension>
+
+   <extension
+         point="org.eclipse.papyrus.infra.types.core.elementTypeSetConfiguration">
+      <elementTypeSet
+            clientContextID="org.eclipse.papyrus.infra.services.edit.TypeContext"
+            path="model/SysML16-extension.elementtypesconfigurations">
+      </elementTypeSet>
+   </extension>
+
+</plugin>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/pom.xml b/plugins/core/org.eclipse.papyrus.sysml16.service.types/pom.xml
new file mode 100644
index 0000000..4ede0e6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/pom.xml
@@ -0,0 +1,14 @@
+<?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.sysml16.core</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.service.types</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.service.types</name>
+	<description>This plug-in contains the SyML 1.6 element types. Papyrus element type is the model based approach for managing object life cycle (based on eclipse gmf framework)</description>
+</project>
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/Activator.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/Activator.java
new file mode 100644
index 0000000..791685a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/Activator.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types;
+
+import org.eclipse.core.runtime.Plugin;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends Plugin {
+
+	/**
+	 * The plug-in ID.
+	 */
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.sysml16.service.types"; //$NON-NLS-1$
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ActorPartEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ActorPartEditHelperAdvice.java
new file mode 100644
index 0000000..f38d9e8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ActorPartEditHelperAdvice.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+
+/**
+ * The creation of element can imply launch of popup.
+ * 
+ * It must be possible to let the possibility to add a popup to create actor Part.
+ */
+public class ActorPartEditHelperAdvice extends AbstractEditHelperAdvice {
+
+
+	/**
+	 * Parameter id used to pass the command for setting the type of the property
+	 */
+	public static final String SET_ACTOR_ICOMMAND = "SET_ACTOR_ICOMMAND"; //$NON-NLS-1$
+
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getAfterConfigureCommand(ConfigureRequest request) {
+		Object parameter = request.getParameter(SET_ACTOR_ICOMMAND);
+
+		if (parameter instanceof ICommand) {
+			return (ICommand) parameter;
+		}
+		return super.getAfterConfigureCommand(request);
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/AfterConfigureCommandEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/AfterConfigureCommandEditHelperAdvice.java
new file mode 100644
index 0000000..f985e93
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/AfterConfigureCommandEditHelperAdvice.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+
+/**
+ * The EditHelperAdvice class used for:
+ * The property value can imply to launch a popup
+ *
+ * The reference can imply to launch a popup
+ *
+ * The part can imply to launch a popup
+ *
+ * The flowproperty value can imply to launch a popup
+ */
+public class AfterConfigureCommandEditHelperAdvice extends AbstractEditHelperAdvice {
+
+
+	/**
+	 * Parameter id used to pass the command for setting the type of the property
+	 */
+	public static final String AFTER_CONFIGURE_COMMAND = "AFTER_CONFIGURE_COMMAND"; //$NON-NLS-1$
+
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getAfterConfigureCommand(ConfigureRequest request) {
+		Object parameter = request.getParameter(AFTER_CONFIGURE_COMMAND);
+
+		if (parameter instanceof ICommand) {
+			return (ICommand) parameter;
+		}
+		return super.getAfterConfigureCommand(request);
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConformCreationEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConformCreationEditHelperAdvice.java
new file mode 100644
index 0000000..456e82d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConformCreationEditHelperAdvice.java
@@ -0,0 +1,121 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.sysml16.modelelements.Conform;
+import org.eclipse.papyrus.sysml16.modelelements.View;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 7.3.2.1 Conform
+ * the service edit must implement the following constraints
+ * [1] The general classifier must be an element stereotyped by Viewpoint.
+ * [2] The specific classifier must be an element that is stereotyped by View.
+ *
+ *7.3.2.7 View
+ *[1] A view must only conform to a single viewpoint.
+ *
+ */
+public class ConformCreationEditHelperAdvice extends AbstractEditHelperAdvice {
+	
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#approveRequest(org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	public boolean approveRequest(IEditCommandRequest request) {
+		//only CreateRelationshipRequest are interested for conform
+		if(request instanceof CreateRelationshipRequest){
+			CreateRelationshipRequest createRelationshipRequest=(CreateRelationshipRequest)request;
+			//only elementType conform are interested for conform
+			IElementType elementType=createRelationshipRequest.getElementType();
+			if (elementType instanceof ISpecializationType){
+				List<IElementType> elementTypesHierarchy= new ArrayList<>();
+				elementTypesHierarchy.add(elementType);
+				ISpecializationType iSpecializationType=(ISpecializationType)elementType;
+				elementTypesHierarchy.addAll(Arrays.asList(iSpecializationType.getAllSuperTypes()));
+				if(elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONFORM))){
+					return approveCreateRelationshipRequest(createRelationshipRequest);
+				} 
+			}
+		}
+		return super.approveRequest(request);	
+	}
+
+	/**
+	 * is the createRelationshipRequest on Conform (or one sub specialization is approved)
+	 * @param createRelationshipRequest
+	 * @return
+	 */
+	private boolean approveCreateRelationshipRequest(CreateRelationshipRequest createRelationshipRequest) {
+		//test source
+		EObject source = createRelationshipRequest.getSource();
+		if (!(source instanceof Classifier)){			
+			return false;
+		}
+		else{
+			// this is a view, but has it a conform link?
+			Conform conformLink=null;
+			Classifier viewBaseClass= (Classifier)source;
+			// Find Conform link
+			EList<Generalization> generalizations = viewBaseClass.getGeneralizations();
+			if (generalizations != null) {
+				Iterator<Generalization> itGen = generalizations.iterator();
+				while (itGen.hasNext() && (conformLink == null)) {
+					conformLink = UMLUtil.getStereotypeApplication(itGen.next(), Conform.class);
+				}
+			}
+			//Test to verify if the view has already a conform link.
+			if(conformLink!=null){
+				return false;
+			}
+		}
+		//the source is ok
+		if( UMLUtil.getStereotypeApplication((Classifier)source, View.class)==null){
+			return false;
+		}
+
+		//test target
+		EObject target = createRelationshipRequest.getTarget();
+		if(target==null){
+			return true;
+		}
+		if (!(target instanceof Classifier)){
+			return false;
+		}
+		return UMLUtil.getStereotypeApplication((Classifier)target, Viewpoint.class)!=null;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConformReorientEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConformReorientEditHelperAdvice.java
new file mode 100644
index 0000000..c8cc808
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConformReorientEditHelperAdvice.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.papyrus.sysml16.modelelements.Conform;
+import org.eclipse.papyrus.sysml16.modelelements.View;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 7.3.2.1 Conform
+ * the service edit must implement the following constraints
+ * [1] The general classifier must be an element stereotyped by Viewpoint.
+ * [2] The specific classifier must be an element that is stereotyped by View.
+ *
+ * 7.3.2.7 View
+ *A view must only conform to a single viewpoint.
+ *
+ */
+public class ConformReorientEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#approveRequest(org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	public boolean approveRequest(IEditCommandRequest request) {
+		if(!(request instanceof ReorientRelationshipRequest)){
+			return super.approveRequest(request);
+		}
+		ReorientRelationshipRequest reorientRelationshipRequest= (ReorientRelationshipRequest) request;
+		EObject newRelationshipEnd = reorientRelationshipRequest.getNewRelationshipEnd();
+		if (!(newRelationshipEnd instanceof Classifier)){
+			return false;
+		}
+		
+		Classifier newRelationshipEndClassifier = (Classifier) newRelationshipEnd ;
+		//SOURCE
+		if(ReorientRelationshipRequest.REORIENT_SOURCE==reorientRelationshipRequest.getDirection()){
+			if( UMLUtil.getStereotypeApplication(newRelationshipEndClassifier, View.class)!=null){
+				// this is a view, but has it a conform link?
+				Conform conformLink=null;
+				// Find Conform link
+				EList<Generalization> generalizations = newRelationshipEndClassifier.getGeneralizations();
+				if (generalizations != null) {
+					Iterator<Generalization> itGen = generalizations.iterator();
+					while (itGen.hasNext() && (conformLink == null)) {
+						conformLink = UMLUtil.getStereotypeApplication(itGen.next(), Conform.class);
+					}
+				}
+				//Test to verify if the view has already a conform link.
+				if(conformLink!=null){
+					return false;
+				}
+				return true;
+			}
+		}else{//TARGET
+			if( UMLUtil.getStereotypeApplication(newRelationshipEndClassifier, Viewpoint.class)!=null){
+				return true;
+			}
+		}
+		return false;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorCreationEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorCreationEditHelperAdvice.java
new file mode 100644
index 0000000..2a97e35
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorCreationEditHelperAdvice.java
@@ -0,0 +1,155 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.Arrays;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.service.types.command.UpdateNestedPathConnectorEnd;
+import org.eclipse.papyrus.sysml16.service.types.util.ConnectorUtil;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.service.types.util.UMLConnectorUtils;
+import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
+import org.eclipse.papyrus.uml.service.types.utils.RequestParameterUtils;
+import org.eclipse.uml2.uml.ConnectableElement;
+
+/**
+ * 8.3.2.3 Block
+ * the service edit must implement the following constraints
+ * isEncapsulated: Boolean [0..1]
+ * If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or
+ * directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of
+ * its internal structure via deep-nested connector ends.
+ */
+public class ConnectorCreationEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	private UMLConnectorUtils utils = new UMLConnectorUtils();
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getBeforeCreateRelationshipCommand(org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getBeforeCreateRelationshipCommand(CreateRelationshipRequest request) {
+
+		EObject source = request.getSource();
+		EObject target = request.getTarget();
+		EObject container = request.getContainer();
+		View sourceView = RequestParameterUtils.getSourceView(request);
+		View targetView = RequestParameterUtils.getTargetView(request);
+
+		// Restrict this advice action to the end of Connector creation gesture (before clicking on target)
+		// in order to add SysML specific constraint
+		if ((Arrays.asList(request.getElementType().getAllSuperTypes()).contains(UMLElementTypes.CONNECTOR))
+				&& (source != null) && (target != null) && (container != null)) {
+
+			// Restrict action to SysML Connector (meaning owned by Block)
+			if (((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_BLOCK)).getMatcher().matches(container)
+				|| ((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK)).getMatcher().matches(container)) {
+				// If the source or target view is enclosed in a structure encapsulated view, forbid creation.
+				if (ConnectorUtil.isCrossingEncapsulation(sourceView, targetView)
+						|| ConnectorUtil.isCrossingEncapsulation(targetView, sourceView)) {
+					return UnexecutableCommand.INSTANCE;
+				}
+				if (canCreate(source, target, sourceView, targetView)) {
+					request.setParameter(org.eclipse.papyrus.uml.service.types.utils.RequestParameterConstants.UML_STRICT, false);
+				}
+			}
+		}
+		return super.getBeforeCreateRelationshipCommand(request);
+	}
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterCreateRelationshipCommand(org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getAfterCreateRelationshipCommand(CreateRelationshipRequest request) {
+
+		ICommand defaultCommand = super.getAfterCreateRelationshipCommand(request);
+
+		EObject container = request.getContainer();
+		View sourceView = RequestParameterUtils.getSourceView(request);
+		View targetView = RequestParameterUtils.getTargetView(request);
+
+		// Restrict this advice action to the end of Connector creation gesture (before clicking on target)
+		// in order to add SysML specific constraint
+		if ((Arrays.asList(request.getElementType().getAllSuperTypes()).contains(UMLElementTypes.CONNECTOR))
+				&& (request.getSource() != null) && (request.getTarget() != null) && (container != null)) {
+			// Restrict action to SysML Connector (meaning owned by Block)
+			if (((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_BLOCK)).getMatcher().matches(container)
+					|| ((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK)).getMatcher().matches(container)) {
+				UpdateNestedPathConnectorEnd updateNestedPathConnectorEndSource = new UpdateNestedPathConnectorEnd("UpdateNestedPathConnectorEnd Source", sourceView, request, true);
+				defaultCommand = CompositeCommand.compose(defaultCommand, updateNestedPathConnectorEndSource);
+				UpdateNestedPathConnectorEnd updateNestedPathConnectorEndTarget = new UpdateNestedPathConnectorEnd("UpdateNestedPathConnectorEnd Target", targetView, request, false);
+				defaultCommand = CompositeCommand.compose(defaultCommand, updateNestedPathConnectorEndTarget);
+			}
+		}
+
+		return defaultCommand;
+	}
+	
+	/**
+	 * Test if the relationship creation is allowed.
+	 *
+	 * @param source
+	 *            the relationship source can be null
+	 * @param target
+	 *            the relationship target can be null
+	 * @param sourceView
+	 *            the relationship graphical source can be null
+	 * @param targetView
+	 *            the relationship graphical target can be null
+	 * @return true if the creation is allowed
+	 */
+	//FIXME test creation should be done in approve request
+	private boolean canCreate(EObject source, EObject target, View sourceView, View targetView) {
+
+		if ((source != null) && !(source instanceof ConnectableElement)) {
+			return false;
+		}
+
+		if ((target != null) && !(target instanceof ConnectableElement)) {
+			return false;
+		}
+
+		if ((sourceView != null) && (targetView != null)) {
+			// Cannot create a connector from a view representing a Part to its own Port (or the opposite)
+			if ((sourceView.getChildren().contains(targetView)) || (targetView.getChildren().contains(sourceView))) {
+				return false;
+			}
+
+			// Cannot connect a Part to one of its (possibly indirect) containment, must connect to one of its Port.
+			if (utils.getStructureContainers(sourceView).contains(targetView) || utils.getStructureContainers(targetView).contains(sourceView)) {
+				return false;
+			}
+		}
+		return true;
+	}
+	
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorPropertyEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorPropertyEditHelperAdvice.java
new file mode 100644
index 0000000..d875410
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorPropertyEditHelperAdvice.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.ConfigureElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * The EditHelperAdvice class used for ConnectorProperty
+ * [3]The aggregation of a property stereotyped by ConnectorProperty must be composite.
+ */
+public class ConnectorPropertyEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	@Override
+	protected ICommand getBeforeConfigureCommand(ConfigureRequest request) {
+		final Property property = (Property) request.getElementToConfigure();
+		return new ConfigureElementCommand(request) {
+			@Override
+			protected CommandResult doExecuteWithResult(IProgressMonitor progressMonitor, IAdaptable info) throws ExecutionException {
+				property.setAggregation(AggregationKind.COMPOSITE_LITERAL);
+				return CommandResult.newOKCommandResult(property);
+			}
+		};
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorReorientEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorReorientEditHelperAdvice.java
new file mode 100644
index 0000000..892050c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorReorientEditHelperAdvice.java
@@ -0,0 +1,98 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.service.types.command.UpdateNestedPathConnectorEnd;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.service.types.utils.RequestParameterUtils;
+import org.eclipse.uml2.uml.Connector;
+
+/**
+ * 8.3.2.3 Block
+ * the service edit must implement the following constraints
+ * isEncapsulated: Boolean [0..1]
+ * If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or
+ * directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of
+ * its internal structure via deep-nested connector ends.
+ */
+public class ConnectorReorientEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * Update the nested path from the NestedConnectorEnd stereotype
+	 * ( Remove the stereotype if the new nested path is empty)
+	 * 
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterReorientRelationshipCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getAfterReorientRelationshipCommand(final ReorientRelationshipRequest request) {
+		ICommand defaultCommand = super.getAfterReorientRelationshipCommand(request);
+		Connector connector = (Connector) request.getRelationship();
+		// Restrict action to SysML Connector (meaning owned by Block)
+		EObject eContainer = connector.eContainer();
+		if (((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_BLOCK)).getMatcher().matches(eContainer)
+				|| ((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK)).getMatcher().matches(eContainer)) {
+			View reconnectedEndView = RequestParameterUtils.getReconnectedEndView(request);
+			if (reconnectedEndView != null) {
+				boolean isSourceReorientation = request.getDirection() == ReorientRequest.REORIENT_SOURCE;
+				UpdateNestedPathConnectorEnd updateNestedPathConnectorEndSource = new UpdateNestedPathConnectorEnd("UpdateNestedPathConnectorEnd Reconnected End", reconnectedEndView, request, isSourceReorientation);
+				defaultCommand = CompositeCommand.compose(defaultCommand, updateNestedPathConnectorEndSource);
+			}
+		}
+		return defaultCommand;
+	}
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+	 *      After a re-configuration update the NestedPathConnectorEnd
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getAfterConfigureCommand(ConfigureRequest request) {
+		ICommand defaultCommand = super.getAfterConfigureCommand(request);
+		View sourceView = RequestParameterUtils.getSourceView(request);
+		View targetView = RequestParameterUtils.getTargetView(request);
+		if (request.getElementToConfigure() instanceof Connector) {
+			Connector connector = (Connector) request.getElementToConfigure();
+			EObject eContainer = connector.eContainer();
+			if (((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_BLOCK)).getMatcher().matches(eContainer)
+					|| ((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK)).getMatcher().matches(eContainer)) {
+				if (sourceView != null) {
+					UpdateNestedPathConnectorEnd updateNestedPathConnectorEndSource = new UpdateNestedPathConnectorEnd("UpdateNestedPathConnectorEnd Source", sourceView, request, true);
+					defaultCommand = CompositeCommand.compose(defaultCommand, updateNestedPathConnectorEndSource);
+				}
+				if (targetView != null) {
+					UpdateNestedPathConnectorEnd updateNestedPathConnectorEndTarget = new UpdateNestedPathConnectorEnd("UpdateNestedPathConnectorEnd Target", targetView, request, false);
+					defaultCommand = CompositeCommand.compose(defaultCommand, updateNestedPathConnectorEndTarget);
+				}
+			}
+		}
+		return defaultCommand;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConstraintCreationEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConstraintCreationEditHelperAdvice.java
new file mode 100644
index 0000000..85d1f71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConstraintCreationEditHelperAdvice.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.Arrays;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * This advice is used to redirect creation of constraint inside a property to the type of the property
+ */
+public class ConstraintCreationEditHelperAdvice extends AbstractEditHelperAdvice {
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#configureRequest(org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest)
+	 *
+	 * @param request
+	 */
+	@Override
+	public void configureRequest(IEditCommandRequest request) {
+		if (request instanceof CreateElementRequest) {
+			// check the element to create is a sub kind of UML Constraint
+			CreateElementRequest createElementRequest = (CreateElementRequest) request;
+			if (Arrays.asList(createElementRequest.getElementType().getAllSuperTypes()).contains(UMLElementTypes.CONSTRAINT)) {
+				// check the container as Constraint Block property
+				if (((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTPROPERTY)).getMatcher().matches(createElementRequest.getContainer())) {
+					if (createElementRequest.getContainer() instanceof Property) {
+						// this line is very important
+						// change the context ok, but the feature must be change in order to create a port inside the class
+						createElementRequest.setContainmentFeature(UMLPackage.eINSTANCE.getNamespace_OwnedRule());
+						Property p = (Property) createElementRequest.getContainer();
+						if (p.getType() != null) {
+							createElementRequest.setContainer(p.getType());
+						}
+
+					}
+				}
+			}
+		}
+
+		super.configureRequest(request);
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConstraintPropertyEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConstraintPropertyEditHelperAdvice.java
new file mode 100644
index 0000000..4e603ad
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConstraintPropertyEditHelperAdvice.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+
+/**
+ * The EditHelperAdvice class used for ConstraintProperty
+ * Get the command from graphical element type to type the property by a constraint block
+ */
+public class ConstraintPropertyEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * Parameter id used to pass the command for setting the type of the property
+	 */
+	public static final String SET_CONSTRAINT_ICOMMAND = "SET_CONSTRAINT_ICOMMAND"; //$NON-NLS-1$
+
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getAfterConfigureCommand(ConfigureRequest request) {
+		Object parameter = request.getParameter(SET_CONSTRAINT_ICOMMAND);
+
+		if (parameter instanceof ICommand) {
+			return (ICommand) parameter;
+		}
+		return super.getAfterConfigureCommand(request);
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DeriveReqtClientEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DeriveReqtClientEditHelperAdvice.java
new file mode 100644
index 0000000..16773d7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DeriveReqtClientEditHelperAdvice.java
@@ -0,0 +1,90 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.2 DeriveReqt (SysML 1.6)
+ * Constraints
+ * [2] The client must be an element stereotyped by «requirement» or one of «requirement» subtypes.
+ */
+public class DeriveReqtClientEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#approveRequest(org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	public boolean approveRequest(IEditCommandRequest request) {
+		// only CreateRelationshipRequest are interested for conform
+		if (request instanceof CreateRelationshipRequest) {
+			CreateRelationshipRequest createRelationshipRequest = (CreateRelationshipRequest) request;
+			// only elementType conform are interested for conform
+			IElementType elementType = createRelationshipRequest.getElementType();
+			if (elementType instanceof ISpecializationType) {
+				if (isSpecializationof((ISpecializationType) elementType, SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_DERIVEREQT_ABSTRACTION) ||
+						isSpecializationof((ISpecializationType) elementType, SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_DERIVEREQT_DIRECTEDRELATIONSHIP)) {
+					return approveCreateRelationshipRequest(createRelationshipRequest);
+				}
+			}
+		}
+		return super.approveRequest(request);
+	}
+
+	/**
+	 * Client (source) of the createRelationshipRequest should be a requirement
+	 * 
+	 * @param createRelationshipRequest
+	 * @return
+	 */
+	private boolean approveCreateRelationshipRequest(CreateRelationshipRequest createRelationshipRequest) {
+		EObject source = createRelationshipRequest.getSource();
+		return (source instanceof Classifier) && UMLUtil.getStereotypeApplication((Classifier) source, Requirement.class) != null;
+	}
+
+	/**
+	 * Check if iSpecializationType is a specialization of elementTypeId
+	 * 
+	 * @param iSpecializationType
+	 * @param elementTypeId
+	 * @return
+	 */
+	// FIXME : this utility should be provided by the elementType API
+	private boolean isSpecializationof(ISpecializationType iSpecializationType, String elementTypeId) {
+		List<IElementType> elementTypesHierarchy = new ArrayList<>();
+		elementTypesHierarchy.add(iSpecializationType);
+		elementTypesHierarchy.addAll(Arrays.asList(iSpecializationType.getAllSuperTypes()));
+		return elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(elementTypeId));
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DeriveReqtSupplierEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DeriveReqtSupplierEditHelperAdvice.java
new file mode 100644
index 0000000..2d801b4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DeriveReqtSupplierEditHelperAdvice.java
@@ -0,0 +1,90 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.2 DeriveReqt (SysML 1.6)
+ * Constraints
+ * [1] The supplier must be an element stereotyped by «requirement» or one of «requirement» subtypes.
+ */
+public class DeriveReqtSupplierEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#approveRequest(org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	public boolean approveRequest(IEditCommandRequest request) {
+		// only CreateRelationshipRequest are interested for conform
+		if (request instanceof CreateRelationshipRequest) {
+			CreateRelationshipRequest createRelationshipRequest = (CreateRelationshipRequest) request;
+			// only elementType conform are interested for conform
+			IElementType elementType = createRelationshipRequest.getElementType();
+			if (elementType instanceof ISpecializationType) {
+				if (isSpecializationof((ISpecializationType) elementType, SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_DERIVEREQT_ABSTRACTION) ||
+						isSpecializationof((ISpecializationType) elementType, SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_DERIVEREQT_DIRECTEDRELATIONSHIP)) {
+					return approveCreateRelationshipRequest(createRelationshipRequest);
+				}
+			}
+		}
+		return super.approveRequest(request);
+	}
+
+	/**
+	 * supplier (target) of the createRelationshipRequest should be a requirement
+	 * 
+	 * @param createRelationshipRequest
+	 * @return
+	 */
+	private boolean approveCreateRelationshipRequest(CreateRelationshipRequest createRelationshipRequest) {
+		EObject target = createRelationshipRequest.getTarget();
+		return (target instanceof Classifier) && UMLUtil.getStereotypeApplication((Classifier) target, Requirement.class) != null;
+	}
+
+	/**
+	 * Check if iSpecializationType is a specialization of elementTypeId
+	 * 
+	 * @param iSpecializationType
+	 * @param elementTypeId
+	 * @return
+	 */
+	// FIXME : this utility should be provided by the elementType API
+	private boolean isSpecializationof(ISpecializationType iSpecializationType, String elementTypeId) {
+		List<IElementType> elementTypesHierarchy = new ArrayList<>();
+		elementTypesHierarchy.add(iSpecializationType);
+		elementTypesHierarchy.addAll(Arrays.asList(iSpecializationType.getAllSuperTypes()));
+		return elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(elementTypeId));
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DirectedRelationshipPropertyPathEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DirectedRelationshipPropertyPathEditHelperAdvice.java
new file mode 100644
index 0000000..70b7ddf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DirectedRelationshipPropertyPathEditHelperAdvice.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.service.types.command.SetDirectedRelationshipPropertyPathCommand;
+import org.eclipse.papyrus.sysml16.service.types.command.wrapper.EMFToCreateElementEditCommandWrapper;
+import org.eclipse.papyrus.sysml16.service.types.command.wrapper.EMFToIEditCommandWrapper;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.service.types.utils.RequestParameterUtils;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath
+ * sourcePropertyPath: Property [0..*] {ordered, nonunique}
+ * A series of properties that identifies the source of the directed relationship in the context of the block specified by the
+ * sourceContext property. The ordering of properties is from a property of the sourceContext block, through a property
+ * of each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+ * source of the directed relationship. The source is not included in the propertyPath list. The same property might
+ * appear more than once because a block can own a property with the same or specialized block as a type.
+ * • targetPropertyPath: Property [0..*] {ordered, nonunique}
+ * A series of properties that identifies the target of the directed relationship in the context of the block specified by the
+ * targetContext property. The ordering of properties is from a property of the targetContext block, through a property of
+ * each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+ * target of the directed relationship. The target is not included in the propertyPath list. The same property might appear
+ * more than once because a block can own a property with the same or specialized block as a type.
+ * • sourceContext: Classifier [0.1]
+ * Gives the context for sourcePropertyPath to begin from.
+ * • targetContext: Classifier [0.1]
+ * Gives the context for targetPropertyPath to begin from.
+ *
+ */
+public class DirectedRelationshipPropertyPathEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterCreateRelationshipCommand(org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getAfterCreateRelationshipCommand(CreateRelationshipRequest request) {
+
+		ICommand defaultCommand = super.getAfterCreateRelationshipCommand(request);
+		View sourceView = RequestParameterUtils.getSourceView(request);
+		View targetView = RequestParameterUtils.getTargetView(request);
+		if (request.getElementType() instanceof ISpecializationType) {
+			// get all specializations from elementTypes
+			List<IElementType> elementTypesHierarchy = new ArrayList<>();
+			elementTypesHierarchy.add(request.getElementType());
+			ISpecializationType iSpecializationType = (ISpecializationType) request.getElementType();
+			elementTypesHierarchy.addAll(Arrays.asList(iSpecializationType.getAllSuperTypes()));
+
+			if ((elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_ALLOCATE_ABSTRACTION))) ||
+					(elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_REFINE_ABSTRACTION))) ||
+					(elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_TRACE_ABSTRACTION)))) {
+				
+				if (sourceView!=null && sourceView.getElement() instanceof Property) {
+					SetDirectedRelationshipPropertyPathCommand setPropertyPathCommand = new SetDirectedRelationshipPropertyPathCommand(request.getEditingDomain(), sourceView, true);
+					EMFToIEditCommandWrapper editCommandWrapper = new EMFToCreateElementEditCommandWrapper(request.getContainer(), request, setPropertyPathCommand);
+					defaultCommand = CompositeCommand.compose(defaultCommand, editCommandWrapper);
+				}
+
+				if (targetView!=null && targetView.getElement() instanceof Property) {
+					SetDirectedRelationshipPropertyPathCommand setPropertyPathCommand = new SetDirectedRelationshipPropertyPathCommand(request.getEditingDomain(), targetView, false);
+					EMFToIEditCommandWrapper editCommandWrapper = new EMFToCreateElementEditCommandWrapper(request.getContainer(), request, setPropertyPathCommand);
+					defaultCommand = CompositeCommand.compose(defaultCommand, editCommandWrapper);
+				}
+			}
+		}
+		return defaultCommand;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ElementGroupEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ElementGroupEditHelperAdvice.java
new file mode 100644
index 0000000..b4e2d0d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ElementGroupEditHelperAdvice.java
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+
+/**
+ * 7.3.2. ElementGroup
+ * /member: Element[0..*]
+ *   Set specifying the members of the group.
+ *   Derived from Comment::annotatedElement.
+ * orderedMember: Element[0..*] {ordered, subsets member}
+ *   Organize member according to an arbitrary order.
+ *
+ */
+public class ElementGroupEditHelperAdvice extends AbstractEditHelperAdvice {
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/PartCreationEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/PartCreationEditHelperAdvice.java
new file mode 100644
index 0000000..83a810a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/PartCreationEditHelperAdvice.java
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.papyrus.sysml16.service.types.command.CreateAssociationCommand;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.uml2.uml.AggregationKind;
+
+/**
+ *
+ *8.3.2.3 Block
+ *[1] For an association in which both ends are typed by blocks, the number of ends must be exactly two.
+ *
+ *[3] In the UML metamodel on which SysML is built, any instance of the Property metaclass that is typed by a block (a Class
+ *with the «block» stereotype applied) and which is owned by an Association may not have a name and may not be defined
+ *as a navigable owned end of the association. (While the Property has a “name” property as defined by its NamedElement
+ *superclass, the value of the “name” property, which is optional, must be missing.)
+ *
+ *[4] In the UML metamodel on which SysML is built, a Property that is typed by a block must be defined as an end of an association.
+ *(An inverse end of this association, whether owned by another block or the association itself, must always be present
+ *so there is always a metamodel element to record the inverse multiplicity of the reference.)
+ */
+public class PartCreationEditHelperAdvice extends AbstractEditHelperAdvice {
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected org.eclipse.gmf.runtime.common.core.command.ICommand getAfterConfigureCommand(final ConfigureRequest request) {
+		IElementType elementType=request.getTypeToConfigure();
+
+		if (elementType instanceof ISpecializationType){
+			List<IElementType> elementTypesHierarchy= new ArrayList<>();
+			elementTypesHierarchy.add(elementType);
+			ISpecializationType iSpecializationType=(ISpecializationType)elementType;
+			elementTypesHierarchy.addAll(Arrays.asList(iSpecializationType.getAllSuperTypes()));
+
+			//this is part
+			if(elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_PART))){
+				return new CreateAssociationCommand( request, AggregationKind.COMPOSITE_LITERAL);
+			}
+			
+		}
+		return super.getAfterConfigureCommand(request);
+		
+	}
+
+	}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/QuantityKindEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/QuantityKindEditHelperAdvice.java
new file mode 100644
index 0000000..8ea6e23
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/QuantityKindEditHelperAdvice.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+
+
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.papyrus.sysml16.service.types.command.InstanceSpecificationWithSlotConfigureElementCommand;
+import org.eclipse.papyrus.sysml16.util.QUDVUtil;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * The helperadvice class used for QuantityKind.
+ *  - Init the type of the instance specification
+ *  - create all slot corresponding to quantityKind attributes
+ */
+public class QuantityKindEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getBeforeConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getBeforeConfigureCommand(ConfigureRequest request) {
+		Classifier quantityKindClassifier = QUDVUtil.getClassifierByNameSpaceFromQUDV(QUDVUtil.UNIT_AND_QUANTITY_KIND, QUDVUtil.QUANTITY_KIND);		
+		return new InstanceSpecificationWithSlotConfigureElementCommand(request,quantityKindClassifier);
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ReferenceCreationEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ReferenceCreationEditHelperAdvice.java
new file mode 100644
index 0000000..1ccdedf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ReferenceCreationEditHelperAdvice.java
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.papyrus.sysml16.service.types.command.CreateAssociationCommand;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.uml2.uml.AggregationKind;
+
+/**
+ * 8.3.2.3 Block
+ * [1] For an association in which both ends are typed by blocks, the number of ends must be exactly two.
+ *
+ * [3] In the UML metamodel on which SysML is built, any instance of the Property metaclass that is typed by a block (a Class
+ * with the «block» stereotype applied) and which is owned by an Association may not have a name and may not be defined
+ * as a navigable owned end of the association. (While the Property has a “name” property as defined by its NamedElement
+ * superclass, the value of the “name” property, which is optional, must be missing.)
+ *
+ * [4] In the UML metamodel on which SysML is built, a Property that is typed by a block must be defined as an end of an association.
+ * (An inverse end of this association, whether owned by another block or the association itself, must always be present
+ * so there is always a metamodel element to record the inverse multiplicity of the reference.)
+ **/
+public class ReferenceCreationEditHelperAdvice extends AbstractEditHelperAdvice {
+	
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected org.eclipse.gmf.runtime.common.core.command.ICommand getAfterConfigureCommand(final ConfigureRequest request) {
+		IElementType elementType = request.getTypeToConfigure();
+
+		if (elementType instanceof ISpecializationType) {
+			List<IElementType> elementTypesHierarchy = new ArrayList<>();
+			elementTypesHierarchy.add(elementType);
+			ISpecializationType iSpecializationType = (ISpecializationType) elementType;
+			elementTypesHierarchy.addAll(Arrays.asList(iSpecializationType.getAllSuperTypes()));
+
+			// this is a reference
+			if (elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_REFERENCE))) {
+				return new CreateAssociationCommand(request, AggregationKind.SHARED_LITERAL);
+			}
+
+		}
+		return super.getAfterConfigureCommand(request);
+
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ReorientDirectedRelationshipPPEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ReorientDirectedRelationshipPPEditHelperAdvice.java
new file mode 100644
index 0000000..79daacd
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ReorientDirectedRelationshipPPEditHelperAdvice.java
@@ -0,0 +1,76 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.service.types.command.SetDirectedRelationshipPropertyPathCommand;
+import org.eclipse.papyrus.sysml16.service.types.command.wrapper.EMFToIEditCommandWrapper;
+import org.eclipse.papyrus.sysml16.service.types.command.wrapper.EMFToReorientRelationshipEditCommandWrapper;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.service.types.utils.RequestParameterUtils;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath
+ * sourcePropertyPath: Property [0..*] {ordered, nonunique}
+ * A series of properties that identifies the source of the directed relationship in the context of the block specified by the
+ * sourceContext property. The ordering of properties is from a property of the sourceContext block, through a property
+ * of each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+ * source of the directed relationship. The source is not included in the propertyPath list. The same property might
+ * appear more than once because a block can own a property with the same or specialized block as a type.
+ * • targetPropertyPath: Property [0..*] {ordered, nonunique}
+ * A series of properties that identifies the target of the directed relationship in the context of the block specified by the
+ * targetContext property. The ordering of properties is from a property of the targetContext block, through a property of
+ * each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+ * target of the directed relationship. The target is not included in the propertyPath list. The same property might appear
+ * more than once because a block can own a property with the same or specialized block as a type.
+ * • sourceContext: Classifier [0.1]
+ * Gives the context for sourcePropertyPath to begin from.
+ * • targetContext: Classifier [0.1]
+ * Gives the context for targetPropertyPath to begin from.
+ */
+public class ReorientDirectedRelationshipPPEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterReorientRelationshipCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getAfterReorientRelationshipCommand(ReorientRelationshipRequest request) {
+		ICommand defaultCommand = super.getAfterReorientRelationshipCommand(request);
+		int reorientDirection = request.getDirection();
+		View newEndView = RequestParameterUtils.getReconnectedEndView(request);
+		if ((((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_ALLOCATE_ABSTRACTION)).getMatcher().matches(request.getRelationship())) ||
+				(((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_REFINE_ABSTRACTION)).getMatcher().matches(request.getRelationship())) ||
+				(((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_TRACE_ABSTRACTION)).getMatcher().matches(request.getRelationship()))) {
+			boolean isSource = ReorientRequest.REORIENT_SOURCE == reorientDirection;
+			if (newEndView.getElement() instanceof Property) {
+				SetDirectedRelationshipPropertyPathCommand setPropertyPathCommand = new SetDirectedRelationshipPropertyPathCommand(request.getEditingDomain(), newEndView, isSource);
+				EMFToIEditCommandWrapper editCommandWrapper = new EMFToReorientRelationshipEditCommandWrapper(request.getRelationship(), request, setPropertyPathCommand);
+				defaultCommand = CompositeCommand.compose(defaultCommand, editCommandWrapper);
+			}
+		}
+		return defaultCommand;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/SetEncapsulatedEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/SetEncapsulatedEditHelperAdvice.java
new file mode 100644
index 0000000..49bce80
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/SetEncapsulatedEditHelperAdvice.java
@@ -0,0 +1,142 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyDependentsRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * 8.3.2.3 Block
+ * the service edit must implement the following constraints
+ * isEncapsulated: Boolean [0..1]
+ * If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or
+ * directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of
+ * its internal structure via deep-nested connector ends.
+ * 
+ * <pre>
+ * This advice is used to remove inconsistent {@link Connector} when a related {@link Block}
+ * is set as encapsulated ({@link Block#isEncapsulated()} property).
+ * </pre>
+ */
+public class SetEncapsulatedEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * <pre>
+	 * {@inheritDoc}
+	 * 
+	 * Returns the command to destroy any {@link Connector} breaking encapsulation rules.
+	 * </pre>
+	 *
+	 * @param request
+	 *            the request to modify the model
+	 * @return
+	 * 		the command to destroy the views of the parts which are not owned by the new type
+	 *
+	 */
+	@Override
+	protected ICommand getBeforeSetCommand(SetRequest request) {
+		ICommand setCommand = super.getBeforeSetCommand(request);
+		Set<Connector> connectorToDelete = new HashSet<>();
+
+		EObject elementToEdit = request.getElementToEdit();
+		if ((elementToEdit instanceof Block) && (request.getFeature() == BlocksPackage.eINSTANCE.getBlock_IsEncapsulated())) {
+
+			Block blockApp = (Block) elementToEdit;
+			Boolean setAsEncapsulated = (request.getValue() instanceof Boolean) ? (Boolean) request.getValue() : false;
+			if (!blockApp.isEncapsulated() && setAsEncapsulated) {
+
+				for (Property property : getPropertyTypedByBlock(blockApp)) {
+					for (NestedConnectorEnd nestedEnd : getRelatedNestedConnectorEnd(property)) {
+						ConnectorEnd end = nestedEnd.getBase_ConnectorEnd();
+						Connector connector = (end != null) ? (Connector) end.eContainer() : null;
+						if (connector != null) {
+							connectorToDelete.add(connector);
+						}
+					}
+				}
+			}
+		}
+
+		// Add connector destroy command if needed
+		if (!(connectorToDelete.isEmpty())) {
+			DestroyDependentsRequest req = new DestroyDependentsRequest(request.getEditingDomain(), elementToEdit, false);
+			req.setClientContext(request.getClientContext());
+			req.addParameters(request.getParameters());
+			ICommand connectorDestroyCommand = req.getDestroyDependentsCommand(connectorToDelete);
+			if (connectorDestroyCommand != null) {
+				setCommand = CompositeCommand.compose(connectorDestroyCommand, setCommand);
+			}
+		}
+
+		return setCommand;
+	}
+
+	/**
+	 * Get any {@link Property} typed by the given {@link Block} (its base class).
+	 *
+	 * @param block
+	 *            the block.
+	 * @return a collection of {@link Property}
+	 */
+	private Collection<Property> getPropertyTypedByBlock(Block block) {
+		EReference[] eRefs = new EReference[] { UMLPackage.eINSTANCE.getTypedElement_Type() };
+
+		Collection<?> references = EMFCoreUtil.getReferencers(block.getBase_Class(), eRefs);
+		List<Property> propertyReferences = new LinkedList<>();
+		for (Object reference : references) {
+			if (reference instanceof Property) {
+				propertyReferences.add((Property) reference);
+			}
+		}
+
+		return propertyReferences;
+	}
+
+	/**
+	 * Get any {@link NestedConnectorEnd} stereotype application that holds the property in its path.
+	 *
+	 * @param property
+	 *            the property that should be in the path.
+	 * @return a collection of {@link NestedConnectorEnd}
+	 */
+	@SuppressWarnings("unchecked")
+	private Collection<NestedConnectorEnd> getRelatedNestedConnectorEnd(Property property) {
+		EReference[] eRefs = new EReference[] { BlocksPackage.eINSTANCE.getElementPropertyPath_PropertyPath() };
+
+		Collection<NestedConnectorEnd> references = EMFCoreUtil.getReferencers(property, eRefs);
+		return (references != null) ? references : Collections.unmodifiableList(new ArrayList<NestedConnectorEnd>());
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/UnitEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/UnitEditHelperAdvice.java
new file mode 100644
index 0000000..3e949f4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/UnitEditHelperAdvice.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.papyrus.sysml16.service.types.command.InstanceSpecificationWithSlotConfigureElementCommand;
+import org.eclipse.papyrus.sysml16.util.QUDVUtil;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * The helper advice class used for Unit.
+ *  - Init the type of the instance specification
+ *  - create all slot corresponding to Unit attributes
+ */
+public class UnitEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getBeforeConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getBeforeConfigureCommand(ConfigureRequest request) {
+		Classifier unitClassifier = QUDVUtil.getClassifierByNameSpaceFromQUDV(QUDVUtil.UNIT_AND_QUANTITY_KIND, QUDVUtil.UNIT);
+		return new InstanceSpecificationWithSlotConfigureElementCommand(request,unitClassifier);
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/CreateAssociationCommand.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/CreateAssociationCommand.java
new file mode 100644
index 0000000..796240d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/CreateAssociationCommand.java
@@ -0,0 +1,100 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.command;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.ConfigureElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLFactory;
+
+/**
+ * This class is used to create an association from a property
+ */
+public class CreateAssociationCommand extends ConfigureElementCommand {
+	
+	private final AggregationKind aggregationKind;
+
+	/**
+	 * Constructor using default Aggregation
+	 *
+	 * @param request
+	 * @param aggregationKind
+	 */
+	public CreateAssociationCommand(ConfigureRequest request) {
+		this(request,AggregationKind.NONE_LITERAL);
+	}	
+	
+	/**
+	 * Constructor.
+	 *
+	 * @param request
+	 * @param aggregationKind
+	 */
+	public CreateAssociationCommand(ConfigureRequest request, AggregationKind aggregationKind) {
+		super(request);
+		this.aggregationKind = aggregationKind;
+	}
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand#canExecute()
+	 *
+	 * @return
+	 */
+	@Override
+	public boolean canExecute() {
+		if (aggregationKind!= null && (getElementToEdit() instanceof Property)) {
+			return super.canExecute();
+		}
+		return false;
+	}
+	
+	@Override
+	protected CommandResult doExecuteWithResult(IProgressMonitor progressMonitor, IAdaptable info) throws ExecutionException {
+		Property sourcePart = (Property) getElementToEdit();
+		
+		// set the aggregation
+		if (sourcePart != null) {
+			sourcePart.setAggregation(aggregationKind);
+
+			// construct the Association
+			if (sourcePart.getType() != null) {
+
+				// Create association between element owner and element type
+				Type sourceType = (Type) sourcePart.getOwner();
+				Package associationContainer = sourceType.getNearestPackage();
+
+				// Create targetProperty
+				Property targetProperty = UMLFactory.eINSTANCE.createProperty();
+				targetProperty.setType(sourceType);
+
+				Association association = UMLFactory.eINSTANCE.createAssociation();
+				association.setPackage(associationContainer);
+				association.getMemberEnds().add(sourcePart);
+				association.getOwnedEnds().add(targetProperty);
+				association.getMemberEnds().add(targetProperty);		
+			}
+		}
+		return CommandResult.newOKCommandResult(sourcePart);
+	}
+}
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/InstanceSpecificationWithSlotConfigureElementCommand.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/InstanceSpecificationWithSlotConfigureElementCommand.java
new file mode 100644
index 0000000..b98b78f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/InstanceSpecificationWithSlotConfigureElementCommand.java
@@ -0,0 +1,84 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.command;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.ConfigureElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * A command to configure an instance specification from a classifier
+ */
+public class InstanceSpecificationWithSlotConfigureElementCommand extends ConfigureElementCommand {
+
+	private Classifier classifier;
+	
+	/**
+	 * Configure the instance specification to use this classifier
+	 *
+	 * @param request
+	 * @param classifier
+	 */
+	public InstanceSpecificationWithSlotConfigureElementCommand(ConfigureRequest request,Classifier classifier) {
+		super(request);
+		this.classifier = classifier;
+	}	
+	
+	
+	/**
+	 * Add the classifier to the instance specification and create slots for each attributes
+	 * 
+	 * @see org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+	 *
+	 * @param monitor
+	 * @param info
+	 * @return
+	 * @throws ExecutionException
+	 */
+	@Override
+	protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+		final InstanceSpecification instanceSpecification = (InstanceSpecification) getElementToEdit();
+		if (classifier != null){
+			// set instance classifier
+			instanceSpecification.getClassifiers().add(classifier);
+			EList<Property> attributes = classifier.getAttributes();		
+			// create the slots
+			for (Property property : attributes) {
+				Slot slot = instanceSpecification.createSlot();
+				Type type = property.getType();
+				if (type!=null){
+					ValueSpecification valueSpecification = slot.createValue(property.getName(), type, UMLPackage.eINSTANCE.getInstanceValue());
+					valueSpecification.setType(type);
+				}else {
+					slot.createValue(property.getName(), null, UMLPackage.eINSTANCE.getLiteralString());
+				}
+				slot.setDefiningFeature(property);
+			}						
+		}
+		return CommandResult.newOKCommandResult(instanceSpecification);
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/SetDirectedRelationshipPropertyPathCommand.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/SetDirectedRelationshipPropertyPathCommand.java
new file mode 100644
index 0000000..a0e8e78
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/SetDirectedRelationshipPropertyPathCommand.java
@@ -0,0 +1,114 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.command;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.papyrus.sysml16.service.types.command.wrapper.IEMFElementToEditCommand;
+import org.eclipse.papyrus.sysml16.service.types.util.PropertyPathUtil;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath
+ * sourcePropertyPath: Property [0..*] {ordered, nonunique}
+ * A series of properties that identifies the source of the directed relationship in the context of the block specified by the
+ * sourceContext property. The ordering of properties is from a property of the sourceContext block, through a property
+ * of each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+ * source of the directed relationship. The source is not included in the propertyPath list. The same property might
+ * appear more than once because a block can own a property with the same or specialized block as a type.
+ * • targetPropertyPath: Property [0..*] {ordered, nonunique}
+ * A series of properties that identifies the target of the directed relationship in the context of the block specified by the
+ * targetContext property. The ordering of properties is from a property of the targetContext block, through a property of
+ * each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+ * target of the directed relationship. The target is not included in the propertyPath list. The same property might appear
+ * more than once because a block can own a property with the same or specialized block as a type.
+ * • sourceContext: Classifier [0.1]
+ * Gives the context for sourcePropertyPath to begin from.
+ * • targetContext: Classifier [0.1]
+ * Gives the context for targetPropertyPath to begin from.
+ */
+public class SetDirectedRelationshipPropertyPathCommand extends RecordingCommand implements IEMFElementToEditCommand {
+
+	protected Element directedRelationShipPropertyPath = null;
+	protected View sourceView = null;
+	protected boolean isSource;
+
+	/**
+	 * Constructor.
+	 *
+	 * @param domain
+	 * @param view
+	 *            the view that reference the semantic element, it is need to calculus the context...
+	 * @param isSource
+	 *            if true fill information about the source, false fill information about the target
+	 */
+	public SetDirectedRelationshipPropertyPathCommand(TransactionalEditingDomain domain, View view, boolean isSource) {
+		super(domain);
+		this.sourceView = view;
+		this.isSource = isSource;
+	}
+
+	/**
+	 * @see org.eclipse.emf.common.command.AbstractCommand#canExecute()
+	 *
+	 * @return
+	 */
+	@Override
+	public boolean canExecute() {
+		if (directedRelationShipPropertyPath == null || sourceView == null) {
+			return false;
+		}
+		return super.canExecute();
+	}
+
+	/**
+	 * @see org.eclipse.emf.transaction.RecordingCommand#doExecute()
+	 *
+	 */
+	@Override
+	protected void doExecute() {
+		if (canExecute()) {
+			if (isSource) {
+				DirectedRelationshipPropertyPath stereotypeApplication = UMLUtil.getStereotypeApplication(directedRelationShipPropertyPath, DirectedRelationshipPropertyPath.class);
+				stereotypeApplication.getSourcePropertyPath().clear();
+				stereotypeApplication.getSourcePropertyPath().addAll(PropertyPathUtil.getPropertyPath(sourceView));
+				stereotypeApplication.setSourceContext(PropertyPathUtil.getCompositeContext(sourceView));
+			} else {
+				DirectedRelationshipPropertyPath stereotypeApplication = UMLUtil.getStereotypeApplication(directedRelationShipPropertyPath, DirectedRelationshipPropertyPath.class);
+				stereotypeApplication.getTargetPropertyPath().clear();
+				stereotypeApplication.getTargetPropertyPath().addAll(PropertyPathUtil.getPropertyPath(sourceView));
+				stereotypeApplication.setTargetContext(PropertyPathUtil.getCompositeContext(sourceView));
+			}
+		}
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.sysml16.service.types.command.wrapper.IEMFElementToEditCommand#SetElementToEdit(org.eclipse.emf.ecore.EObject)
+	 *
+	 * @param eObject
+	 */
+	@Override
+	public void setElementToEdit(EObject eObject) {
+		if (eObject instanceof Element) {
+			directedRelationShipPropertyPath = (Element) eObject;
+		}
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/UpdateNestedPathConnectorEnd.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/UpdateNestedPathConnectorEnd.java
new file mode 100644
index 0000000..5dfff1b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/UpdateNestedPathConnectorEnd.java
@@ -0,0 +1,172 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.command;
+
+import java.util.List;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.papyrus.sysml16.service.types.util.ConnectorUtil;
+import org.eclipse.papyrus.uml.service.types.utils.ConnectorUtils;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+
+/**
+ * NestedConnectorEnd
+ * 
+ * The NestedConnectorEnd stereotype of UML ConnectorEnd extends a UML ConnectorEnd so that the connected property
+ * may be identified by a multi-level path of accessible properties from the block that owns the connector. The propertyPath
+ * inherited from ElementPropertyPath gives a series of properties that identifies the connected property in the context of the
+ * block that owns the connector.
+ * 
+ * The ordering of properties is from a property of the block that owns the connector, through
+ * a property of each intermediate block that types the preceding property, ending in a property with a type that owns or
+ * inherits the property that is the role of the connector end (the property that the connector graphically attaches to at that
+ * end). The property that is the role of the connector end is not included in the propertyPath list.
+ */
+public class UpdateNestedPathConnectorEnd extends EditElementCommand {
+
+	/**
+	 * The current ConnectorEnd is the source of the Connector
+	 */
+	private Boolean isSource;
+
+	@Deprecated // deprecated in 1.1.0
+	public UpdateNestedPathConnectorEnd(String label, EObject elementToEdit, IEditCommandRequest request) {
+		super(label, elementToEdit, request);
+	}
+
+	public UpdateNestedPathConnectorEnd(String label, EObject elementToEdit, IEditCommandRequest request, boolean isSource) {
+		super(label, elementToEdit, request);
+		this.isSource = isSource;
+	}
+
+	/**
+	 * Check that the command access the connector and that the we have a view for NestedConnectorEnd target.
+	 */
+	@Override
+	public boolean canExecute() {
+		return getElementToEdit() instanceof View && super.canExecute();
+	}
+
+	/**
+	 * Get the class owning the connector that owns the connector end
+	 * 
+	 * @param connectorEnd
+	 * @return
+	 */
+	private org.eclipse.uml2.uml.Class getConnectorClass(ConnectorEnd connectorEnd) {
+		Element connectorEndOwner = connectorEnd.getOwner();
+		if (connectorEndOwner instanceof Connector) {
+			Connector connector = (Connector) connectorEndOwner;
+			Element connectorOwner = connector.getOwner();
+			if (connectorOwner instanceof org.eclipse.uml2.uml.Class) {
+				return (org.eclipse.uml2.uml.Class) connectorOwner;
+			}
+		}
+		return null;
+	}
+
+	@Override
+	protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+		if (!(canExecute() && getConnector() != null)) {
+			throw new ExecutionException("Can't update NesteConnectorEnd, missing View or connector."); //$NON-NLS-1$
+		}
+		EList<ConnectorEnd> ends = getConnector().getEnds();
+		if (ends != null && ends.size() > 1) {
+			ConnectorEnd connectorEnd = null;
+			View elementToEdit = (View) getElementToEdit();
+			connectorEnd = getCalculatedConnectorEnd();
+			if (connectorEnd != null) {
+				List<Property> nestedPath = ConnectorUtil.getNestedPath(getConnectorClass(connectorEnd), elementToEdit);
+				NestedConnectorEnd nestedConnectorEnd = UMLUtil.getStereotypeApplication(connectorEnd, NestedConnectorEnd.class);
+
+				if (nestedPath.isEmpty()) {
+					if (nestedConnectorEnd != null) {
+						EcoreUtil.delete(nestedConnectorEnd, true);// Remove stereotype if applied
+					}
+				} else {
+					if (nestedConnectorEnd == null) {
+						nestedConnectorEnd = (NestedConnectorEnd) StereotypeApplicationHelper.getInstance(null).applyStereotype(connectorEnd, BlocksPackage.eINSTANCE.getNestedConnectorEnd(),null);
+					}
+					// set new path if different from existing
+					if (!nestedConnectorEnd.getPropertyPath().equals(nestedPath)) {
+						nestedConnectorEnd.getPropertyPath().clear();
+						nestedConnectorEnd.getPropertyPath().addAll(nestedPath);
+					}
+				}
+			}
+		}
+		return CommandResult.newOKCommandResult(getElementToEdit());
+	}
+
+
+	private Connector getConnector() {
+		if (getRequest() instanceof CreateRelationshipRequest) {
+			return (Connector) ((CreateRelationshipRequest) getRequest()).getNewElement();
+		} else if (getRequest() instanceof ReorientRelationshipRequest) {
+			return (Connector) ((ReorientRelationshipRequest) getRequest()).getRelationship();
+		} else if (getRequest() instanceof ConfigureRequest) {
+			return (Connector) ((ConfigureRequest) getRequest()).getElementToConfigure();
+		}
+		return null;
+	}
+
+	/**
+	 * Get the calculated connector end
+	 * 
+	 * @return the calculated connector end or null is isSource is null
+	 */
+	private ConnectorEnd getCalculatedConnectorEnd() {
+		Connector connector = getConnector();
+		EList<ConnectorEnd> ends = getConnector().getEnds();
+		if (ends != null && ends.size() > 1) {
+			if (isSource != null) {
+				if (isSource) {
+					return new ConnectorUtils().getSourceConnectorEnd(connector);
+				} else {
+					return new ConnectorUtils().getTargetConnectorEnd(connector);
+				}
+			} else {
+				View elementToEdit = (View) getElementToEdit();
+				ConnectorEnd connectorEndSource = ends.get(0);
+				if (elementToEdit.getElement().equals(connectorEndSource.getRole())) {
+					return connectorEndSource;
+				} else {
+					return ends.get(1);
+				}
+			}
+		}
+		return null;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToCreateElementEditCommandWrapper.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToCreateElementEditCommandWrapper.java
new file mode 100644
index 0000000..d99e096
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToCreateElementEditCommandWrapper.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.command.wrapper;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+
+/**
+ * This class is a specialization to wrap creation command of editCommand (element or relationship).
+ */
+public class EMFToCreateElementEditCommandWrapper extends EMFToIEditCommandWrapper {
+
+	/**
+	 * Constructor.
+	 *
+	 * @param label
+	 * @param elementToEdit
+	 *            the element to edit maybe different to the created element! it could be the container ...
+	 * @param request
+	 *            the {@link org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest}
+	 * @param emfCommand
+	 *            the EMF command that is wrapped see {@link IEMFElementToEditCommand}
+	 */
+	public EMFToCreateElementEditCommandWrapper(EObject elementToEdit, CreateElementRequest request, IEMFElementToEditCommand emfCommand) {
+		super(elementToEdit, request, emfCommand);
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.sysml16.service.types.command.wrapper.EMFToIEditCommandWrapper#getEMFElementToEdit()
+	 *
+	 * @return
+	 */
+	@Override
+	protected EObject getEMFElementToEdit() {
+		return ((CreateElementRequest) getRequest()).getNewElement();
+
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToIEditCommandWrapper.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToIEditCommandWrapper.java
new file mode 100644
index 0000000..d1bdf84
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToIEditCommandWrapper.java
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.command.wrapper;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+
+/**
+ * This class is used to delegate the execution to a emf command as recording command...
+ */
+public abstract class EMFToIEditCommandWrapper extends EditElementCommand {
+
+	/** the wrapped EMF command **/
+	protected IEMFElementToEditCommand emfCommand;
+
+	/**
+	 * Constructor.
+	 *
+	 * @param label
+	 * @param elementToEdit
+	 *            the element to edit maybe different to the created element! it could be the container ...
+	 * @param request
+	 *            the {@link IEditCommandRequest}
+	 * @param emfCommand
+	 *            the EMF command that is wrapped see {@link IEMFElementToEditCommand}
+	 */
+	protected EMFToIEditCommandWrapper(EObject elementToEdit, IEditCommandRequest request, IEMFElementToEditCommand emfCommand) {
+		super(emfCommand.getLabel(), elementToEdit, request);
+		this.emfCommand = emfCommand;
+	}
+
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+	 *
+	 * @param arg0
+	 * @param arg1
+	 * @return
+	 * @throws ExecutionException
+	 */
+	@Override
+	protected CommandResult doExecuteWithResult(IProgressMonitor arg0, IAdaptable arg1) throws ExecutionException {
+		emfCommand.setElementToEdit(getEMFElementToEdit());
+		if (emfCommand.canExecute()) {
+			emfCommand.execute();
+		}
+		return CommandResult.newOKCommandResult(getEMFElementToEdit());
+	}
+
+	/**
+	 * get the real element that will be created or modified not the container
+	 */
+	protected abstract EObject getEMFElementToEdit();
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToReorientRelationshipEditCommandWrapper.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToReorientRelationshipEditCommandWrapper.java
new file mode 100644
index 0000000..de29d61
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToReorientRelationshipEditCommandWrapper.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.command.wrapper;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+
+/**
+ * This class is a specialization to wrap re-orient command of editCommand.
+ */
+public class EMFToReorientRelationshipEditCommandWrapper extends EMFToIEditCommandWrapper {
+
+	/**
+	 * Constructor.
+	 *
+	 * @param label
+	 * @param elementToEdit
+	 *            the element to edit maybe different to the created element! it could be the container ...
+	 * @param request
+	 *            the {@link org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest}
+	 * @param emfCommand
+	 *            the EMF command that is wrapped see {@link IEMFElementToEditCommand}
+	 */
+	public EMFToReorientRelationshipEditCommandWrapper(EObject elementToEdit, ReorientRelationshipRequest request, IEMFElementToEditCommand emfCommand) {
+		super(elementToEdit, request, emfCommand);
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.sysml16.service.types.command.wrapper.EMFToIEditCommandWrapper#getEMFElementToEdit()
+	 *
+	 * @return
+	 */
+	@Override
+	protected EObject getEMFElementToEdit() {
+		return ((ReorientRelationshipRequest) getRequest()).getRelationship();
+
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/IEMFElementToEditCommand.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/IEMFElementToEditCommand.java
new file mode 100644
index 0000000..a5ac492
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/IEMFElementToEditCommand.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.command.wrapper;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * This class is used in the context of @see {@link IEMFElementToEditCommand}
+ * This command will modified an element that must be given in parameter of the operation <B>setElementToEdit</B>
+ */
+public interface IEMFElementToEditCommand extends Command {
+
+	/**
+	 * set the element that will be modified in this EMF command, typically request.getNewElement() from {@link org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest}
+	 * 
+	 * @param eObject
+	 *            EOject that will be modified in this EMF command.
+	 */
+	void setElementToEdit(EObject eObject);
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ActorPartPropertyMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ActorPartPropertyMatcher.java
new file mode 100644
index 0000000..40eb6c5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ActorPartPropertyMatcher.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * Test if current {@link Property} is a {@link Actor} Part
+ */
+public class ActorPartPropertyMatcher implements IElementMatcher {
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean matches(EObject eObject) {
+		boolean isMatch = false;
+		if ((eObject instanceof Property) && !(eObject instanceof Port)) {
+			Property element = (Property) eObject;
+			// The property is necessary a composition and has a type
+			if ((element.getType() != null) && (element.getAggregation() == AggregationKind.COMPOSITE_LITERAL)) {
+				// Moreover its type has to be a Actor
+				isMatch = element.getType() instanceof Actor;
+			}
+		}
+		return isMatch;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ConstraintPropertyMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ConstraintPropertyMatcher.java
new file mode 100644
index 0000000..e1a4a5f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ConstraintPropertyMatcher.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if type {@link Type} is a {@link ConstraintBlock}
+ */
+public class ConstraintPropertyMatcher implements IElementMatcher {
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.IElementMatcher#matches(org.eclipse.emf.ecore.EObject)
+	 *
+	 * @param eObject
+	 * @return
+	 */
+	@Override
+	public boolean matches(EObject eObject) {
+		if (eObject instanceof Property) {
+			Property property = (Property) eObject;
+			Type type= property.getType();
+			if(type instanceof Class && UMLUtil.getStereotypeApplication(type, ConstraintBlock.class)!=null){
+				return true;
+			}
+		}
+
+		return false;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortInMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortInMatcher.java
new file mode 100644
index 0000000..170e580
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortInMatcher.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Port} is a {@link FlowPort} with IN direction
+ */
+public class FlowPortInMatcher implements IElementMatcher {
+
+	/**
+	 * Test if the parameter match a FlowPortIn, so if it :
+	 *  - is a Uml Port
+	 *  - has the Flow Port stereotype applied
+	 *  - the direction of the applied FlowPort is IN
+	 * 
+	 * @see org.eclipse.gmf.runtime.emf.type.core.IElementMatcher#matches(org.eclipse.emf.ecore.EObject)
+	 *
+	 * @param eObject
+	 * @return
+	 */
+	@Override
+	public boolean matches(EObject eObject) {
+		boolean isFlowPortIn = false;
+		if (eObject instanceof Port) {
+			Port port = (Port) eObject;
+			FlowPort flowPort = UMLUtil.getStereotypeApplication(port, FlowPort.class);
+			if ((flowPort != null) && (flowPort.getDirection() == FlowDirectionKind.IN)) {
+				isFlowPortIn = true;
+			}
+		}
+		return isFlowPortIn;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortInOutMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortInOutMatcher.java
new file mode 100644
index 0000000..9ad6fe7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortInOutMatcher.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Port} is a {@link FlowPort} with INOUT direction
+ */
+public class FlowPortInOutMatcher implements IElementMatcher {
+
+	/**
+	 * Test if the parameter match a FlowPortINOut, so if it :
+	 *  - is a Uml Port
+	 *  - has the Flow Port stereotype applied
+	 *  - the direction of the applied FlowPort is INOUT
+	 * 
+	 * @see org.eclipse.gmf.runtime.emf.type.core.IElementMatcher#matches(org.eclipse.emf.ecore.EObject)
+	 *
+	 * @param eObject
+	 * @return
+	 */
+	@Override
+	public boolean matches(EObject eObject) {
+		boolean isFlowPortInOut = false;
+		if (eObject instanceof Port) {
+			Port port = (Port) eObject;
+			FlowPort flowPort = UMLUtil.getStereotypeApplication(port, FlowPort.class);
+			if ((flowPort != null) && (flowPort.getDirection() == FlowDirectionKind.INOUT)) {
+				isFlowPortInOut = true;
+			}
+		}
+		return isFlowPortInOut;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortNAMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortNAMatcher.java
new file mode 100644
index 0000000..262bb8a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortNAMatcher.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Port} is a non atomic {@link FlowPort}.
+ */
+public class FlowPortNAMatcher implements IElementMatcher {
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.IElementMatcher#matches(org.eclipse.emf.ecore.EObject)
+	 *
+	 * @param eObject
+	 * @return
+	 */
+	@Override
+	public boolean matches(EObject eObject) {
+		boolean isFlowPortNa = false;
+		if (eObject instanceof Port) {
+			Port port = (Port) eObject;
+			FlowPort flowPort = UMLUtil.getStereotypeApplication(port, FlowPort.class);
+			if ((flowPort != null) && (!flowPort.isAtomic())) {
+				isFlowPortNa = true;
+			}
+		}
+		return isFlowPortNa;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortOutMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortOutMatcher.java
new file mode 100644
index 0000000..43cf899
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortOutMatcher.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Port} is a {@link FlowPort} with OUT direction
+ */
+public class FlowPortOutMatcher implements IElementMatcher {
+	
+	/**
+	 * Test if the parameter match a FlowPortOut, so if it :
+	 *  - is a Uml Port
+	 *  - has the Flow Port stereotype applied
+	 *  - the direction of the applied FlowPort is OUT
+	 * 
+	 * @see org.eclipse.gmf.runtime.emf.type.core.IElementMatcher#matches(org.eclipse.emf.ecore.EObject)
+	 *
+	 * @param eObject
+	 * @return
+	 */
+	@Override
+	public boolean matches(EObject eObject) {
+		boolean isFlowPortOut = false;
+		if (eObject instanceof Port) {
+			Port port = (Port) eObject;
+			FlowPort flowPort = UMLUtil.getStereotypeApplication(port, FlowPort.class);
+			if ((flowPort != null) && (flowPort.getDirection() == FlowDirectionKind.OUT)) {
+				isFlowPortOut = true;
+			}
+		}
+		return isFlowPortOut;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/PartPropertyMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/PartPropertyMatcher.java
new file mode 100644
index 0000000..ae7e6ba
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/PartPropertyMatcher.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Property} is a {@link Block} Part
+ */
+public class PartPropertyMatcher implements IElementMatcher {
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean matches(EObject eObject) {
+		boolean isMatch = false;
+		if ((eObject instanceof Property) && !(eObject instanceof Port)) {
+			Property element = (Property) eObject;
+			// The property is necessary a composition and has a type
+			Type type = element.getType();
+			if (type != null && (element.getAggregation() == AggregationKind.COMPOSITE_LITERAL)) {
+				// Moreover its type has to be a Block (type is tested as class before for performance)
+				isMatch = type instanceof Class && UMLUtil.getStereotypeApplication(type, Block.class) != null;
+			}
+		}
+		return isMatch;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ReferencePropertyMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ReferencePropertyMatcher.java
new file mode 100644
index 0000000..39e0e59
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ReferencePropertyMatcher.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Property} is a {@link Block} Reference
+ */
+public class ReferencePropertyMatcher implements IElementMatcher {
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean matches(EObject eObject) {
+		boolean isMatch = false;
+		if ((eObject instanceof Property) && !(eObject instanceof Port)) {
+			Property element = (Property) eObject;
+			// The property is not a composition and has a type
+			Type type = element.getType();
+			if (type != null && (element.getAggregation() != AggregationKind.COMPOSITE_LITERAL)) {
+				// Moreover its type has to be a Block (type is tested as class before for performance)
+				isMatch = type instanceof Class && (UMLUtil.getStereotypeApplication(type, Block.class) != null);
+			}
+		}
+		return isMatch;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ValuePropertyMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ValuePropertyMatcher.java
new file mode 100644
index 0000000..2b325a1
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ValuePropertyMatcher.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Property} is a value.
+ */
+public class ValuePropertyMatcher implements IElementMatcher {
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean matches(EObject eObject) {
+		boolean isMatch = false;
+		if ((eObject instanceof Property) && !(eObject instanceof Port)) {
+			Property element = (Property) eObject;
+			// The property is necessary a composition and has a type
+			Type type = element.getType();
+			if (type != null && (element.getAggregation() == AggregationKind.COMPOSITE_LITERAL)) {
+
+				// Moreover its type has either to be a DataType or a ValueType
+				// (for performance avoid when possible to look for stereotype)
+				if (type instanceof DataType || UMLUtil.getStereotypeApplication(type, ValueType.class) != null) {
+					isMatch = true;
+				}						
+
+
+			}
+		}
+		return isMatch;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/internal/SysML16ProfileMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/internal/SysML16ProfileMatcher.java
new file mode 100644
index 0000000..4c96e7d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/internal/SysML16ProfileMatcher.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher.internal;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Profile;
+
+/**
+ * org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher
+ */
+public class SysML16ProfileMatcher implements IElementMatcher {
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean matches(EObject eObject) {
+		if (!(eObject instanceof Element)) {
+			return false;
+		}
+		Element element = (Element) eObject;
+		Model model = element.getModel();
+		if (model == null) {
+			return false;
+		}
+		
+		EList<Profile> allAppliedProfiles = model.getAllAppliedProfiles();
+		if (allAppliedProfiles!=null){
+			List<String> appliedProfileByUri = new ArrayList<>();
+			for (Profile appliedProfile : allAppliedProfiles) {
+				appliedProfileByUri.add(appliedProfile.getURI());
+			}
+
+			if (!appliedProfileByUri.contains(SysMLResource.PROFILE_URI)) {
+				return false;
+			}			
+		}
+		return true;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/ConnectorUtil.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/ConnectorUtil.java
new file mode 100644
index 0000000..6e574eb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/ConnectorUtil.java
@@ -0,0 +1,291 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.util;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StructuredClassifier;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Utility class for Connector
+ */
+public class ConnectorUtil {
+
+	public static final UMLConnectorUtils umlUtility = new UMLConnectorUtils(); // TODO all methods should be static in an utility class
+
+	/**
+	 * the key used to store the nested path as parameter of the request. The value will be a List of {@link Property}
+	 */
+	public static final String NESTED_CONNECTOR_END_PATH = "connectorEndPath"; //$NON-NLS-1$
+
+	/** the separator used in the role path to distinguish the part. */
+	public static final String PART_SEPARATOR = "."; //$NON-NLS-1$
+
+	/** allow to know if a string contains others characters than a-z A-Z 0-9 and _. */
+	public static final String HAS_NO_WORD_CHAR_REGEX = "\\W+"; //$NON-NLS-1$
+
+	/** String used to delimit a name with contains special chars. */
+	public static final String STRING_DELIMITER = "\'"; //$NON-NLS-1$
+
+	/**
+	 * Utility class avoid instantiation.
+	 *
+	 */
+	private ConnectorUtil() {
+	}
+
+	/**
+	 * Gets the encapsulated container.
+	 *
+	 * @param view
+	 *            the view
+	 * @return the nearest encapsulated structure container or null
+	 */
+	public static View getEncapsulatedContainer(View view) {
+		View encapsulatedContainer = null;
+
+		for (View containerView : umlUtility.getStructureContainers(view)) {
+
+			if (view == containerView) {
+				continue;
+			}
+
+			if ((view.getElement() instanceof Port) && (containerView.getChildren().contains(view))) {
+				continue;
+			}
+
+			StructuredClassifier structuredClassifier = umlUtility.getStructuredClassifier(containerView);
+			Block block = UMLUtil.getStereotypeApplication(structuredClassifier, Block.class);
+			if (block != null && block.isEncapsulated()) {
+				encapsulatedContainer = containerView;
+				break;
+			}
+		}
+
+		return encapsulatedContainer;
+	}
+
+	/**
+	 * Test if an encapsulation crossing is required to connect the checked end to the opposite end.
+	 *
+	 * @param checkedEnd
+	 *            the checked end view.
+	 * @param oppositeEnd
+	 *            the opposite end view.
+	 * @return true if the gesture break encapsulation rule.
+	 */
+	public static boolean isCrossingEncapsulation(View checkedEnd, View oppositeEnd) {
+		boolean isCrossingEncapsulation = false;
+
+		View encapsulatedContainer = getEncapsulatedContainer(checkedEnd);
+		if (encapsulatedContainer != null) {
+			View containerView = umlUtility.deduceViewContainer(checkedEnd, oppositeEnd);
+			List<View> containers = umlUtility.getStructureContainers(checkedEnd);
+
+			if (containers.indexOf(encapsulatedContainer) < containers.indexOf(containerView)) {
+				isCrossingEncapsulation = true;
+			}
+		}
+
+		return isCrossingEncapsulation;
+	}
+
+
+	/**
+	 * Gets the role path.
+	 *
+	 * @param end
+	 *            the connector end
+	 * @return the role path
+	 *         the path for the role of the connector end (without using label provider)
+	 */
+	public static final String getRolePath(final ConnectorEnd end) {
+		final NestedConnectorEnd nestedConnectorEnd = UMLUtil.getStereotypeApplication(end, NestedConnectorEnd.class);
+		final ConnectableElement role = end.getRole();
+		final StringBuilder rolePath = new StringBuilder();
+		if (role != null) {
+			if (nestedConnectorEnd != null) {
+				final List<Property> properties = nestedConnectorEnd.getPropertyPath();
+				for (final Property current : properties) {
+					rolePath.append(UMLConnectorUtils.getNameWithQuotes(current));
+					rolePath.append(UMLConnectorUtils.PART_SEPARATOR);
+				}
+			} else {
+				// when the stereotype is applied, the Property for partWithPort is included in the stereotype#path
+				final Property partWithPort = end.getPartWithPort();
+				if (partWithPort != null) {
+					rolePath.append(UMLConnectorUtils.getNameWithQuotes(partWithPort));
+					rolePath.append(UMLConnectorUtils.PART_SEPARATOR);
+				}
+			}
+			rolePath.append(UMLConnectorUtils.getNameWithQuotes(role));
+		}
+
+		return rolePath.toString();
+	}
+
+
+
+	/**
+	 * Checks if is crossing encapsulation.
+	 *
+	 * @param nestedPath
+	 *            the nested path
+	 * @return true, if is crossing encapsulation <code>true</code> if we are breaking encapsulation (see SysML rules in SysML Standard 1.2, p.44):
+	 *         isEncapsulated: Boolean [0..1] If true, then the block is treated as a black box; a part typed by this black box can only be connected
+	 *         via its ports or directly to its outer boundary. If false, or if a value is not present, then connections can be established to
+	 *         elements of its internal structure via deep-nested connector ends.
+	 */
+	public static final boolean isCrossingEncapuslation(final List<Property> nestedPath) {
+		for (final ConnectableElement current : nestedPath) {
+			final Type type = current.getType();
+			if (type != null) {
+				final Block block = UMLUtil.getStereotypeApplication(type, Block.class);
+				if (block != null && block.isEncapsulated()) {
+					return true;
+				}
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * Can display existing connector between views according to nested paths.
+	 *
+	 * @param connector
+	 *            a connector existing in the model
+	 * @param sourceView
+	 *            a potential source for this connector
+	 * @param targetView
+	 *            a potential target for this connector
+	 * @return true, if successful <code>true</code> if displaying the existing connector between this source and this target view is correct
+	 */
+	public static boolean canDisplayExistingConnectorBetweenViewsAccordingToNestedPaths(final Connector connector, final View sourceView, final View targetView) {
+		final List<Property> sourcePath = umlUtility.getNestedPropertyPath(sourceView, targetView);
+		final List<Property> targetPath = umlUtility.getNestedPropertyPath(targetView, sourceView);
+		boolean hasWantedPath = true;
+		for (final ConnectorEnd end : connector.getEnds()) {
+			if (sourceView != null && end.getRole() == sourceView.getElement()) {
+				hasWantedPath = hasWantedPath && haveSamePath(sourcePath, end);
+			} else if (targetView != null && end.getRole() == targetView.getElement()) {
+				hasWantedPath = hasWantedPath && haveSamePath(targetPath, end);
+			}
+		}
+		return hasWantedPath;
+	}
+
+
+
+	/**
+	 * Have same path.
+	 *
+	 * @param wantedPath
+	 *            the wanted nested path for the end
+	 * @param end
+	 *            an end
+	 * @return true, if successful
+	 *         true if the end has as nested path THE wanted path
+	 */
+	protected static boolean haveSamePath(final List<Property> wantedPath, final ConnectorEnd end) {
+		NestedConnectorEnd nestedConnectorEnd = UMLUtil.getStereotypeApplication(end, NestedConnectorEnd.class);
+		if (nestedConnectorEnd != null) {
+			return nestedConnectorEnd.getPropertyPath().equals(wantedPath);
+		} else {
+			return wantedPath.isEmpty();
+		}
+	}
+
+
+
+
+	/**
+	 * Filter connectors that have this property in their <NestedConnectorEnd> property path.
+	 *
+	 * @param connectors
+	 * @param part
+	 * @return connectors that have this property in their <NestedConnectorEnd> property path.
+	 */
+	public static List<Connector> filterConnectorByPropertyInNestedConnectorEnd(List<Connector> connectors, Property part) {
+		List<Connector> res = new ArrayList<>();
+		for (Connector connector : connectors) {
+			EList<ConnectorEnd> ends = connector.getEnds();
+			for (ConnectorEnd connectorEnd : ends) {
+				NestedConnectorEnd stereotypeApplication = UMLUtil.getStereotypeApplication(connectorEnd, NestedConnectorEnd.class);
+				if (stereotypeApplication != null) {
+					EList<Property> propertyPath = stereotypeApplication.getPropertyPath();
+					for (Property property : propertyPath) {
+						if (property.equals(part)) {
+							res.add(connector);
+						}
+					}
+				}
+			}
+		}
+		return res;
+	}
+
+	/**
+	 * Inverse of property path from the view to the class
+	 * 
+	 * [SysML 1.6 - 8.3.2.9]: "The ordering of properties is from a property of the context block, through a
+	 * property of each intermediate block that types the preceding property, ending in a property with a type
+	 * that owns or inherits the fully nested property."
+	 * 
+	 * @param clazz
+	 * @param view
+	 * @return
+	 */
+	public static List<Property> getNestedPath(org.eclipse.uml2.uml.Class clazz, View view) {
+		List<Property> propertyPath = new ArrayList<>();
+		View currentView = ViewUtil.getContainerView(view);
+		// get the path from view to clazz
+		boolean stop = false;
+		while (!stop && currentView != null) {
+			EObject property = currentView.getElement();
+			if (property instanceof Property) {
+				if (((Property) property).getType() == clazz) {
+					stop = true;
+				} else {
+					propertyPath.add((Property) property);
+				}
+			} else {
+				if (clazz.equals(currentView.getElement())) {
+					stop = true;
+				}
+			}
+			currentView = ViewUtil.getContainerView(currentView);
+		}
+		Collections.reverse(propertyPath);
+		return propertyPath;
+	}
+
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/PropertyPathUtil.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/PropertyPathUtil.java
new file mode 100644
index 0000000..80d8417
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/PropertyPathUtil.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.util;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * This class is used to calculus property path and block context in the context of SysML
+ * To do that the view inside the diagram is needed.
+ */
+public final class PropertyPathUtil {
+
+	/**
+	 * Constructor.
+	 *
+	 */
+	private PropertyPathUtil() {
+	}
+
+	/**
+	 * 
+	 * @param view
+	 *            the current view
+	 * @return the composite context from a view (it look for the first representation of a classifier)
+	 */
+	public static Classifier getCompositeContext(View view) {
+		View currentView = view;
+		while (currentView != null) {
+			if (currentView instanceof Shape && currentView.getElement() instanceof Classifier) {
+				return (Classifier) currentView.getElement();
+			}
+			currentView = (View) currentView.eContainer();
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param view
+	 *            the view that references an element in the diagram
+	 * @return a list of properties defined by hierarchy of view, maybe an empty list
+	 */
+	public static List<Property> getPropertyListFromView(View view) {
+		List<Property> propertiesList = new ArrayList<>();
+		View currentView = view;
+		while (currentView != null) {
+			if (currentView instanceof Shape && currentView.getElement() instanceof Property) {
+				propertiesList.add((Property) currentView.getElement());
+			}
+			currentView = (View) currentView.eContainer();
+		}
+		return propertiesList;
+	}
+
+	/**
+	 * A series of properties that identifies the source of the directed relationship in the context of the block specified by the
+	 * sourceContext property. The ordering of properties is from a property of the sourceContext block, through a property
+	 * of each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+	 * source of the directed relationship. The source is not included in the propertyPath list. The same property might
+	 * appear more than once because a block can own a property with the same or specialized block as a type.
+	 * 
+	 * @param SourceView
+	 *            the view that represent the property
+	 *
+	 * @return the property path as defined in SysML, maybe an emptylist
+	 */
+	public static List<Property> getPropertyPath(View sourceView) {
+		List<Property> propertyList = getPropertyListFromView(sourceView);
+		// remove the first property
+		if (!propertyList.isEmpty()) {
+			propertyList.remove(0);
+			Collections.reverse(propertyList);
+		}
+		return propertyList;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/SysMLServiceTypeUtil.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/SysMLServiceTypeUtil.java
new file mode 100644
index 0000000..ebd8a73
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/SysMLServiceTypeUtil.java
@@ -0,0 +1,200 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.util;
+
+import org.eclipse.gmf.runtime.emf.type.core.ClientContextManager;
+import org.eclipse.gmf.runtime.emf.type.core.IClientContext;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditServiceProvider;
+
+/**
+ * List all SysML 1.6 element type ids.
+ */
+public final class SysMLServiceTypeUtil {
+
+	/**
+	 * Say if an element is know in the SysML 1.6 context
+	 * 
+	 * @param elementTypeId
+	 * @return
+	 */
+	public static boolean isKnown(String elementTypeId) {
+		IClientContext context = ClientContextManager.getInstance().getClientContext(SYSML16_CONTEXT_ID);
+		IElementEditServiceProvider editServiceProvider = ElementEditServiceUtils.getEditServiceProvider(context);
+		return editServiceProvider.isKnownElementType(elementTypeId);
+	}
+
+	public static final String SYSML16_CONTEXT_ID = "org.eclipse.papyrus.infra.services.edit.TypeContext"; //$NON-NLS-1$
+			//"org.eclipse.papyrus.sysml.architecture.SysML16"; //$NON-NLS-1$
+
+	
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_VALUETYPE = "org.eclipse.papyrus.SysML16.ValueType"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DISTRIBUTEDPROPERTY = "org.eclipse.papyrus.SysML16.DistributedProperty"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONNECTORPROPERTY = "org.eclipse.papyrus.SysML16.ConnectorProperty"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PARTICIPANTPROPERTY = "org.eclipse.papyrus.SysML16.ParticipantProperty"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_BINDINGCONNECTOR = "org.eclipse.papyrus.SysML16.BindingConnector"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_BLOCK = "org.eclipse.papyrus.SysML16.Block"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PROPERTYSPECIFICTYPE = "org.eclipse.papyrus.SysML16.PropertySpecificType"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_NESTEDCONNECTOREND_CONNECTOREND = "org.eclipse.papyrus.SysML16.NestedConnectorEnd_ConnectorEnd"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_NESTEDCONNECTOREND_ELEMENT = "org.eclipse.papyrus.SysML16.NestedConnectorEnd_Element"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DIRECTEDRELATIONSHIPPROPERTYPATH = "org.eclipse.papyrus.SysML16.DirectedRelationshipPropertyPath"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ELEMENTPROPERTYPATH = "org.eclipse.papyrus.SysML16.ElementPropertyPath"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ENDPATHMULTIPLICITY = "org.eclipse.papyrus.SysML16.EndPathMultiplicity"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_BOUNDREFERENCE = "org.eclipse.papyrus.SysML16.BoundReference"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ADJUNCTPROPERTY = "org.eclipse.papyrus.SysML16.AdjunctProperty"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CLASSIFIERBEHAVIORPROPERTY = "org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ITEMFLOW = "org.eclipse.papyrus.SysML16.ItemFlow"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_FLOWPROPERTY = "org.eclipse.papyrus.SysML16.FlowProperty"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_FULLPORT = "org.eclipse.papyrus.SysML16.FullPort"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_INTERFACEBLOCK = "org.eclipse.papyrus.SysML16.InterfaceBlock"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PROXYPORT = "org.eclipse.papyrus.SysML16.ProxyPort"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ACCEPTCHANGESTRUCTURALFEATUREEVENTACTION = "org.eclipse.papyrus.SysML16.AcceptChangeStructuralFeatureEventAction"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CHANGESTRUCTURALFEATUREEVENT = "org.eclipse.papyrus.SysML16.ChangeStructuralFeatureEvent"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DIRECTEDFEATURE = "org.eclipse.papyrus.SysML16.DirectedFeature"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_INVOCATIONONNESTEDPORTACTION_INVOCATIONACTION = "org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_InvocationAction"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_INVOCATIONONNESTEDPORTACTION_ELEMENT = "org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_Element"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_TRIGGERONNESTEDPORT_TRIGGER = "org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Trigger"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_TRIGGERONNESTEDPORT_ELEMENT = "org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Element"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_OVERWRITE = "org.eclipse.papyrus.SysML16.Overwrite"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONTROLOPERATOR_BEHAVIOR = "org.eclipse.papyrus.SysML16.ControlOperator_Behavior"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONTROLOPERATOR_OPERATION = "org.eclipse.papyrus.SysML16.ControlOperator_Operation"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_RATE_ACTIVITYEDGE = "org.eclipse.papyrus.SysML16.Rate_ActivityEdge"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_RATE_PARAMETER = "org.eclipse.papyrus.SysML16.Rate_Parameter"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_NOBUFFER = "org.eclipse.papyrus.SysML16.NoBuffer"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DISCRETE_ACTIVITYEDGE = "org.eclipse.papyrus.SysML16.Discrete_ActivityEdge"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DISCRETE_PARAMETER = "org.eclipse.papyrus.SysML16.Discrete_Parameter"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONTINUOUS_ACTIVITYEDGE = "org.eclipse.papyrus.SysML16.Continuous_ActivityEdge"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONTINUOUS_PARAMETER = "org.eclipse.papyrus.SysML16.Continuous_Parameter"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PROBABILITY_ACTIVITYEDGE = "org.eclipse.papyrus.SysML16.Probability_ActivityEdge"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PROBABILITY_PARAMETERSET = "org.eclipse.papyrus.SysML16.Probability_ParameterSet"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_OPTIONAL = "org.eclipse.papyrus.SysML16.Optional"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_RATIONALE = "org.eclipse.papyrus.SysML16.Rationale"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_VIEW = "org.eclipse.papyrus.SysML16.View"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONFORM = "org.eclipse.papyrus.SysML16.Conform"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PROBLEM = "org.eclipse.papyrus.SysML16.Problem"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_VIEWPOINT = "org.eclipse.papyrus.SysML16.Viewpoint"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_STAKEHOLDER = "org.eclipse.papyrus.SysML16.Stakeholder"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_EXPOSE = "org.eclipse.papyrus.SysML16.Expose"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ELEMENTGROUP = "org.eclipse.papyrus.SysML16.ElementGroup"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK = "org.eclipse.papyrus.SysML16.ConstraintBlock"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ALLOCATEACTIVITYPARTITION = "org.eclipse.papyrus.SysML16.AllocateActivityPartition"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ALLOCATE_ABSTRACTION = "org.eclipse.papyrus.SysML16.Allocate_Abstraction"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ALLOCATE_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.Allocate_DirectedRelationship"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DERIVEREQT_ABSTRACTION = "org.eclipse.papyrus.SysML16.DeriveReqt_Abstraction"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DERIVEREQT_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.DeriveReqt_DirectedRelationship"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_COPY_ABSTRACTION = "org.eclipse.papyrus.SysML16.Copy_Abstraction"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_COPY_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.Copy_DirectedRelationship"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_SATISFY_ABSTRACTION = "org.eclipse.papyrus.SysML16.Satisfy_Abstraction"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_SATISFY_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.Satisfy_DirectedRelationship"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_TESTCASE_OPERATION = "org.eclipse.papyrus.SysML16.TestCase_Operation"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_TESTCASE_BEHAVIOR = "org.eclipse.papyrus.SysML16.TestCase_Behavior"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_REQUIREMENT = "org.eclipse.papyrus.SysML16.Requirement"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_VERIFY_ABSTRACTION = "org.eclipse.papyrus.SysML16.Verify_Abstraction"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_VERIFY_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.Verify_DirectedRelationship"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_TRACE_ABSTRACTION = "org.eclipse.papyrus.SysML16.Trace_Abstraction"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_TRACE_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.Trace_DirectedRelationship"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_REFINE_ABSTRACTION = "org.eclipse.papyrus.SysML16.Refine_Abstraction"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_REFINE_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.Refine_DirectedRelationship"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_FLOWPORT = "org.eclipse.papyrus.SysML16.FlowPort"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_FLOWSPECIFICATION = "org.eclipse.papyrus.SysML16.FlowSpecification"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_UNIT = "org.eclipse.papyrus.SysML16.Unit"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_QUANTITYKIND = "org.eclipse.papyrus.SysML16.QuantityKind"; //$NON-NLS-1$
+
+	// List here the elementype present in the extension element type set
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTPROPERTY = "org.eclipse.papyrus.SysML16.ConstraintProperty"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_REFERENCE = "org.eclipse.papyrus.SysML16.Reference"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PART = "org.eclipse.papyrus.SysML16.Part"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_VALUE = "org.eclipse.papyrus.SysML16.Value"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ACTORPART = "org.eclipse.papyrus.SysML16.ActorPart"; //$NON-NLS-1$
+
+	private SysMLServiceTypeUtil() {
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/UMLConnectorUtils.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/UMLConnectorUtils.java
new file mode 100644
index 0000000..f1b295e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/UMLConnectorUtils.java
@@ -0,0 +1,268 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.util;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * Utility class for Connector edit helpers.
+ */
+// TODO : this class should be move to uml core
+public class UMLConnectorUtils extends org.eclipse.papyrus.uml.service.types.utils.ConnectorUtils {
+
+	/**
+	 * the key used to store the nested path as parameter of the request. The value will be a List of {@link Property}
+	 */
+	public static final String NESTED_CONNECTOR_END_PATH = "connectorEndPath"; //$NON-NLS-1$
+
+	/** the separator used in the role path to distinguish the part. */
+	public static final String PART_SEPARATOR = "."; //$NON-NLS-1$
+
+	/** allow to know if a string contains others characters than a-z A-Z 0-9 and _. */
+	public static final String HAS_NO_WORD_CHAR_REGEX = "\\W+"; //$NON-NLS-1$
+
+	/** String used to delimit a name with contains special chars. */
+	public static final String STRING_DELIMITER = "\'"; //$NON-NLS-1$
+
+	/**
+	 * Get the path of structure views crossed by the checked end.
+	 *
+	 * @param checkedEnd
+	 *            the checked end view.
+	 * @param oppositeEnd
+	 *            the opposite end view.
+	 * @return the list of crossed structure views.
+	 */
+	public List<View> getNestedPath(View checkedEnd, View oppositeEnd) {
+		List<View> isNestedConnectableElement = new ArrayList<>();
+
+		View nearestContainer = new UMLConnectorUtils().getNearestStructureContainer(checkedEnd);
+		if (nearestContainer != null) {
+			View containerView = new UMLConnectorUtils().deduceViewContainer(checkedEnd, oppositeEnd);
+			List<View> containers = new UMLConnectorUtils().getStructureContainers(checkedEnd);
+
+			if (containers.indexOf(nearestContainer) < containers.indexOf(containerView)) {
+				isNestedConnectableElement = containers.subList(containers.indexOf(nearestContainer), containers.indexOf(containerView));
+			}
+		}
+
+		// nested path is taken from the top block to the deepest property ==> collection must be reverted
+		Collections.reverse(isNestedConnectableElement);
+
+		return isNestedConnectableElement;
+	}
+
+	/**
+	 * Get the path of structure views crossed by the checked end.
+	 *
+	 * @param checkedEnd
+	 *            the checked end view.
+	 * @param oppositeEnd
+	 *            the opposite end view.
+	 * @return the list of crossed structure views.
+	 */
+	public List<Property> getNestedPropertyPath(View checkedEnd, View oppositeEnd) {
+		List<Property> nestedPropertyPath = new ArrayList<>();
+		List<View> nestedPath = getNestedPath(checkedEnd, oppositeEnd);
+
+		for (View view : nestedPath) {
+			if ((view.getElement() != null) && (view.getElement() instanceof Property)) {
+				nestedPropertyPath.add((Property) view.getElement());
+			}
+		}
+
+		// if end is a port, and the list is not empty, add the property from the check view in the list
+		if (!nestedPropertyPath.isEmpty() && checkedEnd.getElement() instanceof Port) {
+			Property partWithPort = getPartWithPort(checkedEnd, oppositeEnd);
+			if (partWithPort != null) {
+				nestedPropertyPath.add(partWithPort);
+			}
+		}
+
+		return nestedPropertyPath;
+	}
+
+	/**
+	 * Test if the checked end is nested (means it cross StructuredClassifier borders).
+	 *
+	 * @param checkedEnd
+	 *            the checked end view.
+	 * @param oppositeEnd
+	 *            the opposite end view.
+	 * @return true if the checked end is nested.
+	 */
+	public boolean isNestedConnectableElement(View checkedEnd, View oppositeEnd) {
+		return !(getNestedPath(checkedEnd, oppositeEnd).isEmpty());
+	}
+
+	/**
+	 * Gets the nearest structure container.
+	 *
+	 * @param view
+	 *            the view
+	 * @return the nearest structure container or null
+	 */
+	public View getNearestStructureContainer(View view) {
+		View nearestStructureContainer = null;
+		for (View containerView : getStructureContainers(view)) {
+			if (view == containerView) {
+				continue;
+			}
+			nearestStructureContainer = containerView;
+			break;
+		}
+		return nearestStructureContainer;
+	}
+
+	/**
+	 * Gets the name with quotes.
+	 *
+	 * @param property
+	 *            a property
+	 * @return the name with quotes
+	 *         the property name with name delimiter if it is required
+	 */
+	public static final String getNameWithQuotes(final NamedElement property) {
+		final String partName = property.getName();
+		final StringBuilder partNameBuffer = new StringBuilder();
+		final Pattern pattern = Pattern.compile(UMLConnectorUtils.HAS_NO_WORD_CHAR_REGEX);
+		final Matcher matcher = pattern.matcher(partName);
+		boolean mustHaveQuote = false;
+		while (matcher.find() && !mustHaveQuote) {
+			mustHaveQuote = true;
+		}
+		if (mustHaveQuote) {
+			partNameBuffer.append(UMLConnectorUtils.STRING_DELIMITER);
+			partNameBuffer.append(partName);
+			partNameBuffer.append(UMLConnectorUtils.STRING_DELIMITER);
+		} else {
+			partNameBuffer.append(partName);
+		}
+
+		return partNameBuffer.toString();
+	}
+
+	/**
+	 * Can display existing connector between views according to partWithPort.
+	 *
+	 * @param connector
+	 *            the connector
+	 * @param sourceView
+	 *            the source view
+	 * @param targetView
+	 *            the target view
+	 * @return true, if successful
+	 */
+	public boolean canDisplayExistingConnectorBetweenViewsAccordingToPartWithPort(final Connector connector, final View sourceView, final View targetView) {
+		Property partWithPort = getPartWithPortFromConnector(connector);
+		if (partWithPort != null) {
+			String partWithPortName = partWithPort.getName();
+			Type partWithPortType = partWithPort.getType();
+			EObject sourceContainer = ((View) sourceView.eContainer()).getElement();
+			EObject targetContainer = ((View) targetView.eContainer()).getElement();
+
+			boolean sameSourceType = false;
+			if (sourceContainer instanceof TypedElement) {
+				sameSourceType = partWithPortType.conformsTo(((TypedElement) sourceContainer).getType());
+			}
+			boolean sameSourceName = partWithPortName.equals(((NamedElement) sourceContainer).getName());
+
+			boolean sameTargetType = false;
+			if (targetContainer instanceof TypedElement) {
+				sameTargetType = partWithPortType.conformsTo(((TypedElement) targetContainer).getType());
+			}
+			boolean sametargetName = partWithPortName.equals(((NamedElement) targetContainer).getName());
+
+			return (sameSourceType && sameSourceName) || (sameTargetType && sametargetName);
+		}
+		return true;
+	}
+
+	/**
+	 * Gets the partWithPort from the connector.
+	 *
+	 * @param connector
+	 *            the connector
+	 * @return the part with port from connector
+	 */
+	public Property getPartWithPortFromConnector(final Connector connector) {
+		if (connector != null && connector.getEnds() != null) {
+			for (final ConnectorEnd end : connector.getEnds()) {
+				Property partWithPort = end.getPartWithPort();
+				if (partWithPort != null) {
+					return partWithPort;
+				}
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Test if the relationship creation is allowed.
+	 *
+	 * @deprecated in 0.10.1 (will be removed in 0.11.0)
+	 * 
+	 * @param source
+	 *            the relationship source can be null
+	 * @param target
+	 *            the relationship target can be null
+	 * @param sourceView
+	 *            the relationship graphical source can be null
+	 * @param targetView
+	 *            the relationship graphical target can be null
+	 * @return true if the creation is allowed
+	 */
+	@Deprecated // test creation should be done in approve request
+	public static boolean canCreate(EObject source, EObject target, View sourceView, View targetView) {
+
+		if ((source != null) && !(source instanceof ConnectableElement)) {
+			return false;
+		}
+
+		if ((target != null) && !(target instanceof ConnectableElement)) {
+			return false;
+		}
+
+		if ((sourceView != null) && (targetView != null)) {
+			// Cannot create a connector from a view representing a Part to its own Port (or the opposite)
+			if ((sourceView.getChildren().contains(targetView)) || (targetView.getChildren().contains(sourceView))) {
+				return false;
+			}
+
+			// Cannot connect a Part to one of its (possibly indirect) containment, must connect to one of its Port.
+			if (new UMLConnectorUtils().getStructureContainers(sourceView).contains(targetView) || new UMLConnectorUtils().getStructureContainers(targetView).contains(sourceView)) {
+				return false;
+			}
+		}
+		return true;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.classpath b/plugins/core/org.eclipse.papyrus.sysml16.validation/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.project b/plugins/core/org.eclipse.papyrus.sysml16.validation/.project
new file mode 100644
index 0000000..378bd22
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.validation</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>		
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>	
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.core.resources.prefs b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.core.runtime.prefs b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.jdt.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.jdt.ui.prefs b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.m2e.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.pde.api.tools.prefs b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/META-INF/MANIFEST.MF b/plugins/core/org.eclipse.papyrus.sysml16.validation/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..d96c0db
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/META-INF/MANIFEST.MF
@@ -0,0 +1,38 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.validation;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.papyrus.sysml16.validation.Activator
+Require-Bundle: org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.13.1,4.0.0)",
+ org.eclipse.emf.validation.ocl;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.ocl.pivot;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.ocl.pivot.uml;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.ocl.uml;bundle-version="[5.2.0,6.0.0)",
+ org.eclipse.ocl.ecore;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.uml2.uml.validation;bundle-version="[5.0.0,6.0.0)",
+ org.eclipse.papyrus.infra.services.validation;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.tools;bundle-version="[4.0.0,5.0.0)", 
+ org.eclipse.papyrus.uml.oclconstraintevaluation;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.uml.xtext.integration.validation;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.uml.textedit.constraintwithessentialocl.xtext;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Export-Package: org.eclipse.papyrus.sysml16.validation,
+ org.eclipse.papyrus.sysml16.validation.internal.utils,
+ org.eclipse.papyrus.sysml16.validation.quickfix,
+ org.eclipse.papyrus.sysml16.validation.rules.activities,
+ org.eclipse.papyrus.sysml16.validation.rules.allocations,
+ org.eclipse.papyrus.sysml16.validation.rules.blocks,
+ org.eclipse.papyrus.sysml16.validation.rules.modelelements,
+ org.eclipse.papyrus.sysml16.validation.rules.nonnormative,
+ org.eclipse.papyrus.sysml16.validation.rules.portsandflows,
+ org.eclipse.papyrus.sysml16.validation.rules.requirements,
+ org.eclipse.papyrus.sysml16.validation.selectors
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.validation
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/about.html b/plugins/core/org.eclipse.papyrus.sysml16.validation/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/core/org.eclipse.papyrus.sysml16.validation/build.properties b/plugins/core/org.eclipse.papyrus.sysml16.validation/build.properties
new file mode 100644
index 0000000..93c1a3a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               plugin.properties,\
+               about.html
+src.includes = about.html
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/plugin.properties b/plugins/core/org.eclipse.papyrus.sysml16.validation/plugin.properties
new file mode 100644
index 0000000..671c59f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/plugin.properties
@@ -0,0 +1,310 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Validation
+Bundle-Description=This plug-in contains the rules for SyML 1.6 model validation
+Bundle-Vendor=Eclipse Modeling Project
+
+##### Non normative #####
+inv_RequirementId=Requirement is missing an id
+ocl_RequirementId=id <> ''
+inv_RequirementText=Requirement is missing a text
+ocl_RequirementText=text <> ''
+# FIXME : there seems to be no constraint in the norm for Requirement id and text
+
+inv_NestedConnectorEndMissing=NestedConnectorEnd stereotype should be applied to the <Connector end> {0}.
+
+
+##### End Non normative #####
+
+#Conform
+inv_ConformGeneralClassifierViewpoint=Conform [1] The general classifier must be an element stereotyped by Viewpoint.
+ocl_ConformGeneralClassifierViewpoint=Viewpoint.allInstances()->exists(v | v.base_Class = self.base_Generalization.general)
+inv_ConformSpecificClassifierView=Conform [2] The specific classifier must be an element that is stereotyped by View.
+ocl_ConformSpecificClassifierView=View.allInstances()->exists(v | v.base_Class = self.base_Generalization.specific)
+
+#Rational
+inv_StakeholderNotAssociation=Stakeholder [1] A Stakeholder stereotype can only be applied to UML::Actor or UML::Class which are not a UML::Association.
+
+# Expose
+inv_ExposeClientStereotypedByView=Expose [1] The client must be an element stereotyped by View.
+
+#View
+# FIXME: the constraint should only ensure one conform generalization
+inv_ViewSingleViewpoint=View [1] A view must only conform to a single viewpoint.
+#FIXME: not a constraint (query?): View [2] The derived value of the viewpoint is the classifier stereotyped by Viewpoint that is the general classifier of the generalization relationship stereotyped by Conform for which the View is the specific classifier.
+#FIXME: not a constraint (query?): View [3] The derived values of the stakeholder attribute are the names of the classifiers stereotyped by Stakeholder that are the values of the stakeholder attribute of the general classifier of the generalization relationship stereotyped by Conform for which the View is the specific classifier.
+
+#Viewpoint
+#FIXME: not a constraint (query?):Viewpoint [1] The derived values of the method attribute are the names of the methods of the operations stereotyped by the UML Create stereotype on the classifier stereotyped by Viewpoint.
+inv_ViewpointOwnedView=Viewpoint [2] The property ownedOperation must include at least one operation named «View» with the UML Create stereotype applied.
+
+#Binding Connector
+inv_BindingConnectorSameEndsType=Binding Connector [1] The two ends of a binding connector must have either the same type or types that are compatible so that equality of their values can be defined.
+#FIXME can have more that 2 ends
+
+#Block
+inv_AssociationBlock=Block [1] For an association in which both ends are typed by blocks, the number of ends must be exactly two.
+inv_BlockConnectorTwoEnds=Block [2] The number of ends of a connector owned by a block must be exactly two. 
+#(In SysML, a binding connector is not typed by an association, so this constraint is not implied entirely by the preceding constraint.)
+inv_BlockPropertyNoName=Block [3] In the UML metamodel on which SysML is built, any instance of the Property metaclass that is typed by a block (a Class with the «block» stereotype applied) and which is owned by an Association may not have a name and may not be defined as a navigable owned end of the association. (While the Property has a «name» property as defined by its NamedElement 
+inv_BlockPropertyAssociationEnd=Block [4] In the UML metamodel on which SysML is built, a Property that is typed by a block must be defined as an end of an association. (An inverse end of this association, whether owned by another block or the association itself, must always be present so there is always a metamodel element to record the inverse multiplicity of the reference.)
+#No Implementation [5] The following constraint under sub clause 9.3.6, «Connector» in the UML 2 Superstructure Specification is removed by SysML: «[3] The ConnectableElements attached as roles to each ConnectorEnd owned by a Connector must be roles of the Classifier that owned the Connector, or they must be ports of such roles.»
+inv_BlockPropertyComposite=Block [6] If a property owned by a SysML Block or SysML ValueType is typed by a SysML ValueType, then the aggregation attribute of the property must be «composite.»
+#FIXME: the ocl constraint and the text are not consistent inv_Blockcomposition_acyclic=Block [7] Within an instance of a SysML Block, the values of any property with composite aggregation (aggregation = composite) must not contain the block in any of its own properties that also have composite aggregation, or within any unbroken chain of properties that all have composite aggregation.  (Within an instance of a SysML Block, the instances of properties with composite aggregation must form an acyclic graph.)
+#FIXME: ocl_Blockcomposition_acyclic=self.base_Class->closure(part->select(p | p.type.oclIsKindOf(UML::Class)).type.oclAsType(UML::Class))->excludes(self.base_Class)
+inv_BlockSpecialization=Block [8] Any classifier that specializes a Block must also have the Block stereotype or one of its specializations applied.
+#No Implementation [9] The following constraint under sub clause 9.3.7, «ConnectorEnd» in the UML 2 Superstructure Specification is removed by SysML: «[3] The property held in self.partWithPort must not be a Port.»
+
+#BoundReference
+inv_BoundReference1=BoundReference [1] Properties to which BoundReference is applied must be the role of a connector end of at least one binding connector, or generalized by such a property through redefinition.
+ocl_BoundReference1=BindingConnector.allInstances().base_Connector.end.role->exists(r | r=self.base_Property or self.base_Property->closure(redefinedElement)->includes(r))
+inv_BoundReference2=BoundReference [2] The value of boundEnd must be a connector end of a binding connector, as identified in constraint BoundReference [1], opposite the property, as identified in constraint BoundReference [1].
+ocl_BoundReference2=let opposite: UML::ConnectorEnd = BindingConnector.allInstances().base_Connector.end->any(e | e.role=self.base_Property or self.base_Property->closure(redefinedElement)->includes(e.role)) in  self.boundEnd = opposite.owner.oclAsType(UML::Connector).end->any(e | e<>opposite)
+#unclear-- [3] The role of boundEnd must be a property accessible by navigation from instances of the block owning the property to which BoundReference is applied, but must not be the property to which BoundReference is applied, or one that it is related to by redefinition.
+inv_BoundReference4=BoundReference [4] The last value of bindingPath is the role of boundEnd, and the other values are the propertyPath of the NestedConnectorEnd applied to boundEnd, if any.
+ocl_BoundReference4=self.boundEnd = self.bindingPath->last() and   (let nce: NestedConnectorEnd = NestedConnectorEnd.allInstances()->any(n| n.base_ConnectorEnd=self.boundEnd) in nce->oclIsUndefined() or self.bindingPath->subSequence(1, self.bindingPath->size()-1) = nce.propertyPath)
+inv_BoundReference5=BoundReference [5] Properties to which BoundReference is applied must either be a reference properties or value properties.
+ocl_BoundReference5=ValueType.allInstances().base_DataType->includes(self.base_Property.type) or not self.base_Property.isComposite()
+inv_BoundReference6=BoundReference [6] Properties with BoundReference applied that have an upper multiplicity greater than one must be ordered and non-unique.
+ocl_BoundReference6=self.base_Property.upper > 1 implies self.base_Property.isOrdered and not self.base_Property.isUnique
+inv_BoundReference7=BoundReference [7] BoundReferences must not be applied to properties that are related by redefinition to other properties with BoundReference applied.
+ocl_BoundReference7=self.base_Property.redefinedElement->notEmpty() implies BoundReference.allInstances().base_Property->excludesAll(self.base_Property.redefinedElement)
+inv_BoundReference8=BoundReference [8] The binding connector identified in constraint BoundReference [1] must not have the same property on both ends, or properties related by redefinition.
+ocl_BoundReference8=let e1: UML::ConnectorEnd = self.boundEnd.owner.oclAsType(UML::Connector).end->at(1) in  let e2: UML::ConnectorEnd = self.boundEnd.owner.oclAsType(UML::Connector).end->at(2) in  e1.role <> e2.role and   (e1.role.oclIsKindOf(UML::Property) and e2.role.oclIsKindOf(UML::Property) implies e1.role.oclAsType(UML::Property).redefinedElement->excludes(e2.role) and e2.role.oclAsType(UML::Property).redefinedElement->excludes(e1.role))
+
+#ClassifierBehaviorProperty
+inv_ClassifierBehaviorPropertyOnBlock=ClassifierBehaviorProperty [1] ClassifierBehaviorProperty may only be applied to properties owned (not inherited) by blocks that have classifier behaviors.
+inv_ClassifierBehaviorPropertyIsComposite=ClassifierBehaviorProperty [2] Properties to which ClassifierBehaviorProperty applied must be composite.
+ocl_ClassifierBehaviorPropertyIsComposite=base_Property.isComposite()
+inv_ClassifierBehaviorPropertyTypedBy=ClassifierBehaviorProperty [3] Properties to which ClassifierBehaviorProperty applied must be typed by the classifier behavior of their owning block or a generalization of the classifier behavior.
+
+#ConnectorProperty
+inv_ConnectorPropertyOnlyOnBlock=ConnectorProperty [1] ConnectorProperty may only be applied to properties of classes stereotyped by Block.
+#inv inv_ConnectorPropertyOnlyOnBlock: self.base_Property.owner.getAppliedStereotype('Blocks::Block')->notEmpty()
+inv_ConnectorPropertyReferOwnedConnector=ConnectorProperty [2] The connector attribute of the applied stereotype must refer to a connector owned or inherited by a block owning the property on which the stereotype is applied.
+inv_ConnectorPropertyOnlyComposite=ConnectorProperty [3] The aggregation of a property stereotyped by ConnectorProperty must be composite.
+ocl_ConnectorPropertyOnlyComposite=base_Property.isComposite()
+inv_ConnectorPropertyTypedByAssociationBlock=ConnectorProperty [4] The type of the connector referred to by a connector attribute must be an association class stereotyped by Block.
+inv_ConnectorPropertySameName=ConnectorProperty [5] A property stereotyped by ConnectorProperty must have the same name and type as the connector referred to by the connector attribute.
+
+#DirectedRelationshipPropertyPath
+inv_DirectedRelationshipPropertyPathRequireSourceContext=DirectedRelationshipPropertyPath [_1] source#context must have a value when sourcePropertyPath has a value.
+inv_DirectedRelationshipPropertyPathRequireTargetContext=DirectedRelationshipPropertyPath [_2] target#context must have a value when targetPropertyPath has a value.
+inv_DirectedRelationshipPropertyPathSourceContextIfProperty=DirectedRelationshipPropertyPath [1] sourceContext shall have a value when source is a property, otherwise it shall not have a value.
+ocl_DirectedRelationshipPropertyPathSourceContextIfProperty=base_DirectedRelationship.source->exists(s | s.oclIsKindOf(UML::Property)) xor sourceContext->isEmpty()
+inv_DirectedRelationshipPropertyPathTargetContextIfProperty=DirectedRelationshipPropertyPath [2] targetContext mast have a value when target is a property, otherwise it must not have a value.
+ocl_DirectedRelationshipPropertyPathTargetContextIfProperty=base_DirectedRelationship.target->exists(s | s.oclIsKindOf(UML::Property)) xor targetContext->isEmpty()
+inv_DirectedRelationshipPropertyPathSourcePropertyPathImpliesProperty=DirectedRelationshipPropertyPath [3] source must be a property when sourcePropertyPath has a value.
+ocl_DirectedRelationshipPropertyPathSourcePropertyPathImpliesProperty=sourcePropertyPath->notEmpty() implies base_DirectedRelationship.source->forAll(s | s.oclIsKindOf(UML::Property))
+inv_DirectedRelationshipPropertyPathTargetPropertyPathImpliesProperty=DirectedRelationshipPropertyPath [4] target must be a property when targetPropertyPath has a value.
+ocl_DirectedRelationshipPropertyPathTargetPropertyPathImpliesProperty=targetPropertyPath->notEmpty() implies base_DirectedRelationship.target->forAll(s | s.oclIsKindOf(UML::Property))
+inv_DirectedRelationshipPropertyPathSourceFirst=DirectedRelationshipPropertyPath [5] The property in the first position of the sourcePropertyPath list, if any, must be owned by the sourceContext or one of its generalizations.
+inv_DirectedRelationshipPropertyPathTargetFirst=DirectedRelationshipPropertyPath [6] The property in the first position of the targetPropertyPath list, if any, must be owned by the targetContext or one of its generalizations.
+#TODO [7] The property at each successive position of the sourcePropertyPath and targetPropertyPath, following the first position, must be owned by the Block or ValueType that types the property at the immediately preceding position, or a generalization of the Block or ValueType.
+inv_DirectedRelationshipPropertyPathSourceLast=DirectedRelationshipPropertyPath [8] The type of the property at the last position of the sourcePropertyPath list must own or inherit the source of the stereotyped directed relationship.
+inv_DirectedRelationshipPropertyPathTargetLast=DirectedRelationshipPropertyPath [9] The type of the property at the last position of the targetPropertyPath list must own or inherit the target of the stereotyped directed relationship.
+
+#DistributedProperty
+inv_DistributedPropertyTypedBy=DistributedProperty [1] The DistributedProperty stereotype may be applied only to properties of classifiers stereotyped by Block or ValueType.
+#inv inv_DistributedPropertyOnlyOnBlock: self.base_Property.owner.getAppliedStereotype('Blocks::Block')->notEmpty() or self.base_Property.owner.getAppliedStereotype('Blocks::ValueType')->notEmpty()
+
+#ElementPropertyPath
+inv_ElementPropertyPathPropertiesOwner=ElementPropertyPath [1] The property at each successive position of the propertyPath attribute, following the first position, must be owned by the Block or ValueType that types the property at the immediately preceding position, or a generalization of the Block or ValueType.
+
+#EndPathMultiplicity
+inv_EndPathMultiplicityBoundReferenceProperty=EndPathMultiplicity [1] Properties to which EndPathMultiplicity is applied must be related by redefinition to a property to which BoundReference is applied.
+inv_EndPathMultiplicityNotNegative=EndPathMultiplicity [2] endPathLower must be non-negative.
+ocl_EndPathMultiplicityNotNegative=lower >= 0
+
+#NestedConnectorEnd
+inv_NestedConnectorEndFirstProperty=NestedConnectorEnd [1] The first property in propertyPath must be owned by the block that owns the connector, or one of the block's generalizations.
+inv_NestedConnectorEndLastProperty=NestedConnectorEnd [2] The type of the property at the last position of the propertyPath list must own or inherit the role property of the stereotyped connector end.
+inv_NestedConnectorEndOnlyConnectorEnds=NestedConnectorEnd [_3] NestedConnectorEnd may only be applied to connector ends
+
+#ParticipantProperty
+inv_ParticipantPropertyOnlyAssociationBlock=ParticipantProperty [1] ParticipantProperty may only be applied to properties of association classes stereotyped by Block.
+inv_ParticipantPropertyNoAssociationMemberEnds=ParticipantProperty [2] ParticipantProperty may not be applied to properties that are member ends of an association.
+inv_ParticipantPropertyOnlyNoneAggregation=ParticipantProperty [3] The aggregation of a property stereotyped by ParticipantProperty must be none.
+inv_ParticipantPropertySameEnd=ParticipantProperty [4] The end attribute of the applied stereotype must refer to a member end of the association block owning the property on which the stereotype is applied.
+inv_ParticipantPropertySameType=ParticipantProperty [5] A property stereotyped by ParticipantProperty must have the same type as the property referred to by the end attribute.
+inv_ParticipantPropertyEndMultiplicity=ParticipantProperty [6] The property referred to by end must have a multiplicity of 1.
+
+#PropertySpecificType
+inv_PropertySpecificTypeUniqueProperty=PropertySpecificType [1] A classifier to which the PropertySpecificType stereotype is applied must be referenced as the type of one and only one property.
+inv_PropertySpecificTypeMissingName=PropertySpecificType [_2] The name of a classifier to which a PropertySpecificType is applied must be missing.  (The «name» attribute of the NamedElement metaclass must be empty.)
+
+#ValueType
+inv_ValueTypeSpecializationsAreValuetypes=ValueType [1] Any classifier that specializes a ValueType must also have the ValueType stereotype applied.
+inv_ValueTypeUnit=ValueType [2] The unit of a ValueType, if any, must be an InstanceSpecification classified by SysML's Unit block in the UnitAndQuantityKind model library or a specialization of it.
+inv_ValueTypeQuantityKind=ValueType [3] The quantityKind of a ValueType, if any, must be an InstanceSpecification classified by SysML's QuantityKind block in the UnitAndQuantityKind model library or a specialization of it.
+
+#AcceptChangeStructuralFeatureEventAction
+inv_AcceptChangeStructuralFeatureEventActionOneTrigger=AcceptChangeStructuralFeatureEventAction [1] The action has exactly one trigger, the event of which must be a change structural feature event.
+ocl_AcceptChangeStructuralFeatureEventActionOneTrigger=self.base_AcceptEventAction.trigger->size()=1 and let trigger: UML::Trigger = self.base_AcceptEventAction.trigger->any(true) in ChangeStructuralFeatureEvent.allInstances().base_ChangeEvent->includes(trigger.event)
+inv_AcceptChangeStructuralFeatureEventActiontwoResultPin=AcceptChangeStructuralFeatureEventAction [2] The action has two result pins with type and ordering the same as the type and ordering of the structural feature of the trigger event, and multiplicity compatible with the multiplicity of the structural feature.
+ocl_AcceptChangeStructuralFeatureEventActiontwoResultPin=let event: ChangeStructuralFeatureEvent = ChangeStructuralFeatureEvent.allInstances()->any(e | e.base_ChangeEvent = self.base_AcceptEventAction.trigger->any(true).event) in self.base_AcceptEventAction.result->size() = 2 and self.base_AcceptEventAction.result->forAll(r | r.type = event.structuralFeature.type and r.isOrdered = event.structuralFeature.isOrdered and r.lower <= event.structuralFeature.lower and r.upper >= event.structuralFeature.upper)
+inv_AcceptChangeStructuralFeatureEventActionContextOwnsStructuralFeature=AcceptChangeStructuralFeatureEventAction [3] The structural feature of the trigger event must be owned by or inherited by the #context of the behavior containing the action. (The #context of a behavior is either its owning block or itself if it is not owned by a block. See definition in the UML 2 Superstructure Specification.)
+ocl_AcceptChangeStructuralFeatureEventActionContextOwnsStructuralFeature=let event: ChangeStructuralFeatureEvent = ChangeStructuralFeatureEvent.allInstances()->any(e | e.base_ChangeEvent = self.base_AcceptEventAction.trigger->any(true).event) in self.base_AcceptEventAction._'context'->notEmpty() and self.base_AcceptEventAction._'context'.allFeatures()->includes(event.structuralFeature)
+inv_AcceptChangeStructuralFeatureEventActionCanAccessStructuralFeature=AcceptChangeStructuralFeatureEventAction [4] Visibility of the structural feature of the trigger event must allow access to the object performing the action.
+ocl_AcceptChangeStructuralFeatureEventActionCanAccessStructuralFeature=let event: ChangeStructuralFeatureEvent = ChangeStructuralFeatureEvent.allInstances()->any(e | e.base_ChangeEvent = self.base_AcceptEventAction.trigger->any(true).event) in if event.structuralFeature.visibility = UML::VisibilityKind::private then self.base_AcceptEventAction._'context'.feature->includes(event.structuralFeature) else if event.structuralFeature.visibility = UML::VisibilityKind::protected then self.base_AcceptEventAction._'context'.allFeatures()->includes(event.structuralFeature) else if event.structuralFeature.visibility = UML::VisibilityKind::_'package' then let thePackage: UML::Package = event.structuralFeature.allNamespaces()->select(n | n.oclIsKindOf(UML::Package))->first().oclAsType(UML::Package) in (not thePackage.oclIsUndefined()) and ( let index: Integer = event.structuralFeature.allNamespaces()->indexOf(thePackage) in event.structuralFeature.allNamespaces()->subOrderedSet(1, index) ->iterate(n; acc: Boolean=true | acc and not (n.visibility=UML::VisibilityKind::private or n.visibility=UML::VisibilityKind::protected)) ) else true endif endif endif
+#No implementation[5] The constraint under sub clause 11.3.2, «AcceptEventAction» in the UML 2 Superstructure Specification, «[2] There are no output pins if the trigger events are only ChangeEvents,» is removed for accept event actions that have AcceptChangeStructuralFeatureEventAction applied.
+
+#AddFlowPropertyValueOnNestedPortAction
+inv_AddFlowPropertyValueOnNestedPortActionFeatureFlowProperty=AddFlowPropertyValueOnNestedPortAction [1] The structural feature referred by actions with this stereotype applied must have FlowProperty applied.
+ocl_AddFlowPropertyValueOnNestedPortActionFeatureFlowProperty=FlowProperty.allInstances().base_Property->includes(self.base_AddStructuralFeatureValueAction.structuralFeature)
+inv_AddFlowPropertyValueOnNestedPortActionOnNestedPortFirstOwnedByTargetType=AddFlowPropertyValueOnNestedPortAction [2] The port at the first position in the onNestedPort list shall be owned by the block that types the objectpin of the stereotyped action, or one of that block's generalizations.
+ocl_AddFlowPropertyValueOnNestedPortActionOnNestedPortFirstOwnedByTargetType=self.base_AddStructuralFeatureValueAction.object.type.oclAsType(UML::Classifier).feature->includes(self.onNestedPort->first())
+inv_AddFlowPropertyValueOnNestedPortActionPathConsistency=AddFlowPropertyValueOnNestedPortAction [3] The port at each successive position of the onNestedPort attribute, following the first position, shall be owned by the Block that types the port at the immediately preceding position, or a generalization of that Block
+inv_AddFlowPropertyValueOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort=AddFlowPropertyValueOnNestedPortAction [4] The type of the port at the last position of the onNestedPort list shall own or inherit the flow property that is the structural feature of the stereotyped action
+ocl_AddFlowPropertyValueOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort=self.onNestedPort->last().type.oclAsType(UML::Classifier).allFeatures()->includes(self.base_AddStructuralFeatureValueAction.structuralFeature)
+
+#ChangeStructuralFeatureEvent
+inv_ChangeStructuralFeatureEventNotStatic=ChangeStructuralFeatureEvent [1] The structural feature must not be static.
+#inv inv_StructuralFeatureNotStatic: self.base_Class. FIXME : structural feature <- Property what is the link with the base_Class?
+inv_ChangeStructuralFeatureEventOneFeaturingClassifier=ChangeStructuralFeatureEvent [2] The structural feature must have exactly one featuringClassifier.
+
+#DirectedFeature
+inv_DirectedFeatureOnlyBehavioral=DirectedFeature [1] DirectedFeature can only be applied to behavioral features, or to properties that do not have FlowProperty applied, including on subsetted or redefined features.
+#FIXME: what is the link? non-provided direction enum, but no idea for the rest 
+#TODO [2] A non-provided operation cannot be associated with a behavior as its method.
+
+#FlowProperty
+inv_FlowPropertyTypedBy=FlowProperty [1] A FlowProperty is typed by a ValueType, Block, or Signal.
+
+#FullPort
+inv_FullPortNotProxyPort=FullPort [1]: Full ports cannot also be proxy ports. This applies even if some of the stereotypes are on subsetted or redefined ports.
+inv_FullPortNotBoundToFullPort=FullPort [2] Binding connectors cannot link full ports (either directly or indirectly through other binding connectors) to other composite properties of the block owning the full port (or that block's generalizations or specializations), unless the composite properties are non-full ports.
+ocl_FullPortNotBoundToFullPort=let fullPorts: Set(UML::Port) = FullPort.allInstances().base_Port->asSet() in BindingConnector.allInstances().base_Connector->select(c | c.end.role->includes(self.base_Port))->forAll(c | fullPorts->excludesAll(c.end.role->reject(r | r=self.base_Port)))
+inv_FullPortNotBehavioral=FullPort [3]: Full ports cannot be behavioral (isBehavior=false).
+ocl_FullPortNotBehavioral=base_Port.isBehavior = false
+
+#InterfaceBlock
+inv_InterfaceBlockNoBehavior=InterfaceBlock [1] Interface blocks cannot own or inherit behaviors, have classifier behaviors, or methods for their behavioral features.
+inv_InterfaceBlockNoCompositeProperty=InterfaceBlock [2] Interface blocks cannot have composite properties that are not ports.
+inv_InterfaceBlockPortType=InterfaceBlock [3] Ports owned by interface blocks can only be typed by interface blocks.
+inv_InterfaceBlockIsConjugatedNotUsed=InterfaceBlock [4] Any port typed by an InterfaceBlock shall have its isConjugated property set to false.
+ocl_InterfaceBlockIsConjugatedNotUsed=UML::Port.allInstances()->forAll(p | p.type = self.base_Class implies p.isConjugated=false)
+
+#InvocationOnNestedPortAction
+inv_InvocationOnNestedPortActionRequiredOnPort=InvocationOnNestedPortAction [1] The onPort property of an invocation action must have a value when this stereotype is applied.
+inv_InvocationOnNestedPortActionOnNestedPortFirstOwnedByTargetType=InvocationOnNestedPortAction [2] The port at the first position in the onNestedPort list must be owned (directly or via inheritance) by a block that types the target pin of the invocation action, or one of the block's generalizations.
+ocl_InvocationOnNestedPortActionOnNestedPortFirstOwnedByTargetType=let target: UML::InputPin = if self.base_InvocationAction.oclIsKindOf(UML::CallOperationAction) then self.base_InvocationAction.oclAsType(UML::CallOperationAction).target else if self.base_InvocationAction.oclIsKindOf(UML::SendSignalAction) then self.base_InvocationAction.oclAsType(UML::SendSignalAction).target else if self.base_InvocationAction.oclIsKindOf(UML::SendObjectAction) then self.base_InvocationAction.oclAsType(UML::SendObjectAction).target else invalid endif endif endif in not target.oclIsUndefined() and (let target_type: UML::Class = Block.allInstances()->any(b | b.base_Class = target.type).base_Class in not target_type.oclIsUndefined() and target_type.allFeatures()->includes(self.onNestedPort->first()))
+inv_InvocationOnNestedPortActionPathConsistency=InvocationOnNestedPortAction [3] The port at each successive position of the onNestedPort attribute, following the first position, shall be owned by the Block that types the port at the immediately preceding position, or a generalization of that Block.
+inv_InvocationOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort=InvocationOnNestedPortAction [4] The type of the port at the last position of the onNestedPort list must own or inherit the onPort port of the stereotyped invocation action.
+ocl_InvocationOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort=self.onNestedPort->last().type.oclAsType(UML::Classifier).allFeatures()->includes(self.base_InvocationAction.onPort)
+
+#ItemFlow
+#TODO inv_ItemFlowSourceAndTargetLinked=ItemFlow [1] A Connector or an Association, or an inherited Association must exist between the source and the target of the InformationFlow.
+#ocl_ItemFlowSourceAndTargetLinked=let target: UML::NamedElement = self.base_InformationFlow.informationTarget->any(true) in let targets: Set(UML::NamedElement) = if target.oclIsKindOf(UML::Classifier) then target.oclAsType(UML::Classifier)->closure(general)->including(target) else target->asSet() endif in let source:UML::NamedElement = self.base_InformationFlow.informationSource->any(true) in let sources: Set(UML::NamedElement) = if source.oclIsKindOf(UML::Classifier) then source.oclAsType(UML::Classifier)->closure(general)->including(source) else source->asSet() endif in UML::Association.allInstances()->exists(a | a.memberEnd->intersection(targets)->notEmpty() and a.memberEnd->intersection(sources)->notEmpty()) or UML::Connector.allInstances()->exists(c | c.end->intersection(targets)->notEmpty() and c.end->intersection(sources)->notEmpty())
+inv_ItemFlowSamePropertyTypedBy=ItemFlow [2] An ItemFlow itemProperty is typed by a ValueType, Block, or Signal.
+#TODO inv_ItemFlowItemPropertyCommonOwner=ItemFlow [3] itemProperty is a property of the common (possibly indirect) owner of the source and the target.
+#ocl_ItemFlowItemPropertyCommonOwner=self.itemProperty->notEmpty() implies (let target: UML::Element = self.base_InformationFlow.informationTarget->any(true) in let source: UML::Element = self.base_InformationFlow.informationSource->any(true) in target.oclIsKindOf(UML::Property) and source.oclIsKindOf(UML::Property) and let owners: Set(UML::Classifier) = target->closure(owner)->select(o1 | o1.oclIsKindOf(UML::Classifier))->asSet() ->intersection(source->closure(owner)->select(o2 | o2.oclIsKindOf(UML::Classifier))).oclAsType(UML::Classifier)->asSet() in owners.attribute->flatten()->includes(self.itemProperty))
+inv_ItemFlowAssociationXorItemProperty=ItemFlow [4] itemProperty cannot have a value if the item flow is realized by an Association.
+ocl_ItemFlowAssociationXorItemProperty=self.base_InformationFlow.realization->exists(r | r.oclIsKindOf(UML::Association)) implies self.itemProperty->isEmpty()
+inv_ItemFlowSameType=ItemFlow [5] If an ItemFlow has an itemProperty, one of the classifiers of conveyed items must be the same as the type of the item property.
+ocl_ItemFlowSameType=self.itemProperty->notEmpty() implies self.base_InformationFlow.conveyed->includes(self.itemProperty.type)
+# FIXME the item flow doesn't have a name (should be information flow)
+inv_ItemFlowSamePropertyName=ItemFlow [6] If an ItemFlow has an itemProperty, its name should be the same as the name of the  item flow.
+
+#ProxyPort
+inv_ProxyPortNotFullPort=ProxyPort [1] Proxy ports cannot also be full ports. This applies even if some of the stereotypes are on subsetted or redefined ports.
+inv_ProxyPortTypedByInterfaceBlock=ProxyPort [2] Proxy ports can only be typed by interface blocks.
+inv_ProxyPortForceInnerProxyPort=ProxyPort [3] Ports owned by the type of a proxy port must be proxy ports.
+
+#TriggerOnNestedPort
+inv_TriggerOnNestedPortSingleProxyPort=TriggerOnNestedPort [1] The port property of the stereotyped trigger must have exactly one value, and the value cannot be a full port.
+ocl_TriggerOnNestedPortSingleProxyPort=self.base_Trigger.port->size()=1 and FullPort.allInstances().base_Port->excludes(self.base_Trigger.port)
+inv_TriggerOnNestedPortNoFullPort=TriggerOnNestedPort [2] The values of the onNestedPort property must not be full ports.
+ocl_TriggerOnNestedPortNoFullPort=FullPort.allInstances().base_Port->excludesAll(self.onNestedPort)
+inv_TriggerOnNestedPortOnNextedPortFirstOwnedByContext=TriggerOnNestedPort [3] The port at the first position in the onNestedPort list must be owned by a block in which the trigger is used, or one of the block's generalizations.
+ocl_TriggerOnNestedPortOnNextedPortFirstOwnedByContext=let theContext: UML::Classifier = if self.base_Trigger.owner.oclIsKindOf(UML::Action) then self.base_Trigger.owner.oclAsType(UML::Action)._'context'.oclAsType(UML::Class) else self.base_Trigger.owner.oclAsType(UML::Transition).containingStateMachine()._'context'.oclAsType(UML::Class) endif in let owners: Set(UML::Classifier) = theContext->closure(general)->including(theContext) in owners->includes(self.onNestedPort->first().owner)
+inv_TriggerOnNestedPortPathConsistency=TriggerOnNestedPort [4] The first constraint of ElementPropertyPath applies to onNestedPort.
+#inv_TriggerOnNestedPortOnNestedPortLastTypeOwnsTriggerPort=TriggerOnNestedPort [5] The type of the port at the last position of the onNestedPort list must own or inherit the port port of must own or inherit the port port of
+#ocl_TriggerOnNestedPortOnNestedPortLastTypeOwnsTriggerPort=self.onNestedPort->last().type.oclAsType(UML::Classifier).allFeatures()->includes(self.base_Trigger.port)
+# seems strange since self.base_trigger.port has [0.*] as multiplicity
+
+#ConjugatedInterfaceBlock
+inv_ConjugatedInterfaceBlockEnforcedName=ConjugatedInterfaceBlock [1] The name of an ~InterfaceBlock shall be the name of its original InterfaceBlock with a tilde ("~") character prepended
+ocl_ConjugatedInterfaceBlockEnforcedName=self.base_Class.name = '~'+self.original.base_Class.name
+
+#ConstraintBlock
+inv_ConstraintBlockComposite=ConstraintBlock [3] Any property of a block that is typed by a ConstraintBlock shall have composite aggregation.
+
+#ControlOperator
+inv_ControlOperatorOneParameterControlValue=ControlOperator [1] When the «ControlOperator» stereotype is applied, the behavior or operation shall have at least one parameter typed by ControlValue. If the stereotype is not applied, the behavior or operation may not have any parameter typed by ControlValue.
+inv_ControlOperatorOperationMethod=ControlOperator [2] A behavior shall have the «ControlOperator» stereotype applied if it is a method of an operation that has the «ControlOperator» stereotype applied.
+
+#Discrete
+inv_DiscreteNoContinuous=Discrete [1] The «discrete» and «continuous» stereotypes cannot be applied to the same element at the same time.
+
+#NoBuffer
+inv_NoBufferNoOverwrite=NoBuffer [1] The «nobuffer» and «overwrite» stereotypes cannot be applied to the same element at the same time.
+ocl_NoBufferNoOverwrite=base_ObjectNode.getAppliedStereotype('SysML::Activities::Overwrite')->isEmpty()
+
+#Overwrite
+inv_OverwriteNoNoBuffer=Overwrite [1] The «overwrite» and «nobuffer» stereotypes cannot be applied to the same element at the same time.
+ocl_OverwriteNoNoBuffer=base_ObjectNode.getAppliedStereotype('SysML::Activities::NoBuffer')->isEmpty()
+
+#Optional
+inv_OptionalParameterMultiplicity=Optional [1] Optional parameter lower value has to be 0
+ocl_OptionalParameterMultiplicity=base_Parameter.lower = 0
+
+#Probability
+inv_ProbabilityBaseElement=Probability [1] The «probability» stereotype can only be applied to activity edges that have decision nodes or object nodes as sources, or to output parameter sets.
+inv_ProbabilityAllEdges=Probability [2] When the «probability» stereotype is applied to an activity edge, then it must be applied to all edges coming out of the same source.
+inv_ProbabilityToAllParameterSet=Probability [3] When the «probability» stereotype is applied to an output parameter set, it must also be applied to all the parameter sets of the behavior or operation owning the original parameter set. .
+inv_ProbabilityOutputParameters=Probability [4] When the «probability» stereotype is applied to an output parameter set, all the output parameters must be in some parameter set.
+
+#Rate
+inv_RateParameterIsStream=Rate [1] When the «rate» stereotype is applied to a parameter, the parameter must be streaming.
+inv_RateParameterLessInout=Rate [2] The rate of a parameter must be less than or equal to rates on edges that come into or go out from pins and parameters nodes corresponding to the parameter.
+
+#Allocate(from Allocations)
+inv_AllocateOneClientSupplier=Allocate [2] A single «allocate» dependency shall have only one client (from) and one supplier (to).
+
+#AllocateActivityPartition(from Allocations)
+%inv_AllocateActivityPartitionActionsOnClientEnds=AllocateActivityPartition [1] An Action appearing in an "AllocateActivityPartition" shall be the /client (from) end of an "allocate" dependency. The element that represents the "AllocateActivityPartition" shall be the /supplier (to) end of the same "allocate" dependency. In the «AllocateActivityPartition» name field, Properties are designated by the use of a fully qualified name (including colon, e.g., "part_name:Block_Name"), and Classifiers are designated by a simple name (no colons, e.g., "Block_Name").
+#No implementation [2] The «AllocateActivityPartition» maintains the constraints, but not the semantics, of the UML2::ActivityPartition. Classifiers or Properties represented by an «AllocateActivityPartition» do not have any direct responsibility for invoking behavior depicted within the partition boundaries. To depict this kind of direct responsibility, the modeler is directed to the UML 2 Superstructure specification, sub clause 12.3.10, «ActivityPartition,» Semantics topic.
+
+#Copy
+inv_CopyBetweenRequirementsModelConstraint=Copy [1] A Copy dependency may only be created between two NamedElements that have a subtype of the abstractRequirement stereotype applied.
+inv_CopyReadOnlyModelConstraint=Copy [2] The text property of the client requirement is constrained to be a read-only copy of the text property of the supplier requirement and this applies recursively to all subrequirements.
+
+#DeriveReqt
+inv_DeriveReqtSupplierModelConstraint=DeriveReqt [1] The supplier shall be an element stereotyped by a subtype of AbstractRequirement.
+inv_DeriveReqtClientModelConstraint=DeriveReqt [2] The client shall be an element stereotyped by a subtype of AbstractRequirement.
+
+#Refine
+inv_RefineOneClientSupplierModelConstraint=Refine [2] Abstractions with a Refine stereotype or one of its specializations applied shall have exactly one client and one supplier.
+
+#Requirement
+inv_RequirementEmptyOwnedOperation=Requirement [1] The property "ownedOperation" shall be empty.
+ocl_RequirementEmptyOwnedOperation=base_Class.ownedOperation->isEmpty()
+inv_RequirementEmptyOwnedAttribute=Requirement [2] The property "ownedAttribute" shall be empty.
+ocl_RequirementEmptyOwnedAttribute=base_Class.ownedAttribute->isEmpty()
+inv_RequirementNoAssociationModelConstraint=Requirement [3] Classes stereotyped by «requirement» shall not participate in associations.
+inv_RequirementNoGeneralizationModelConstraint=Requirement [4] Classes stereotyped by «requirement» shall not participate in generalizations.
+inv_RequirementNestedRequirementModelConstraint=Requirement [5] A nested classifier of a class stereotyped by Requirement or one of its specializations shall also be stereotyped by Requirement or one of its specializations.
+inv_RequirementNotType=Requirement [6] Classes stereotyped by «requirement» shall not be used to type any other model element.
+
+#TestCase
+inv_TestCaseParameterVerdictKindModelConstraint=TestCase [1] The type of return parameter of the stereotyped model element shall be VerdictKind.
+
+#Satisfy
+inv_SatisfySupplierModelConstraint=Satisfy [1] The supplier shall be an element stereotyped by any subtype of «AbstractRequirement».
+
+#Trace
+inv_TraceOneClientSupplierModelConstraint=Trace [2] Abstractions with a Trace stereotype or one of its specializations applied shall have exactly one client and one supplier.
+
+#Verify
+inv_VerifySupplierModelConstraint=Verify [1] The supplier shall be an element stereotyped by any subtype of «AbstractRequirement».
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/plugin.xml b/plugins/core/org.eclipse.papyrus.sysml16.validation/plugin.xml
new file mode 100644
index 0000000..971de7f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/plugin.xml
@@ -0,0 +1,1536 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+<extension point="org.eclipse.ui.ide.markerResolution">
+      <markerResolutionGenerator
+         markerType="org.eclipse.emf.ecore.diagnostic"
+         class="org.eclipse.papyrus.sysml16.validation.quickfix.SysMLMarkerResolutionGenerator"/>
+   </extension>
+
+
+  <extension name="org.eclipse.papyrus.sysml16.validation.constraintProviders" point="org.eclipse.emf.validation.constraintProviders">
+     <category id="org.eclipse.papyrus.sysml16.validation.category.normative" mandatory="false" name="SysML 1.6 normative constraints">
+     	Constraints listed in SysML 1.6 norm.
+     </category>
+     <category id="org.eclipse.papyrus.sysml16.validation.category.optional" mandatory="false" name="SysML 1.6 optional constraints">
+     	Constraints provided to help the modeler but not required by the norm.  
+     </category>
+
+     <!-- Constraints on UML elements -->
+	 <constraintProvider cache="false" mode="Batch">
+         <package namespaceUri="http://www.eclipse.org/uml2/5.0.0/UML"/>
+         <constraints categories="org.eclipse.papyrus.sysml16.validation.category.normative">   
+            <constraint id="constraint.block.associationBlock"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="block.associationBlock"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.AssociationBlockModelConstraint">
+               <message>%inv_AssociationBlock</message>
+               <description>%inv_AssociationBlock</description>
+            </constraint>
+            
+            <constraint id="constraint.block.property.asssociationend"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="property.asssociationend"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.BlockPropertyAssociationEndModelConstraint">
+               <message>%inv_BlockPropertyAssociationEnd</message>
+                <description>%inv_BlockPropertyAssociationEnd</description>
+            </constraint>                                                           
+                                                                     
+             <constraint id="constraint.block.specialization"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="block.specialization"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.BlockSpecializationModelConstraint">
+               <message>%inv_BlockSpecialization</message>
+                <description>%inv_BlockSpecialization</description>
+            </constraint>   
+
+             <constraint id="constraint.block.propertynoname"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="block.propertynoname"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.BlockPropertyNoNameModelConstraint">
+               <message>%inv_BlockPropertyNoName</message>
+                <description>%inv_BlockPropertyNoName</description>
+            </constraint>                        
+                       
+            <constraint id="constraint.valuetype.specializationsarevaluetypes"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="valuetype.specializationsarevaluetypes"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ValueTypeSpecilizationAreValueTypesModelConstraint">
+               <message>%inv_ValueTypeSpecializationsAreValuetypes</message>
+               <description>%inv_ValueTypeSpecializationsAreValuetypes</description>
+            </constraint>   
+
+         </constraints>
+         <constraints categories="org.eclipse.papyrus.sysml16.validation.category.optional">   
+            <constraint id="constraint.nestedConnectorEnd.missing" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="nestedConnectorEnd.missing"
+            class="org.eclipse.papyrus.sysml16.validation.rules.nonnormative.NestedConnectorEndMissingConstraintModelConstraint">
+               <message>%inv_NestedConnectorEndMissing</message>
+               <description>%inv_NestedConnectorEndMissing</description>
+            </constraint>
+         </constraints>         
+         
+         
+         
+      </constraintProvider>
+          
+      
+  		<constraintProvider cache="false" mode="Batch">
+         <package namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities"/>
+         <constraints categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+            <constraint id="constraint.optional.multiplicity"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="optional.multiplicity">
+               <message>%inv_OptionalParameterMultiplicity</message>
+                <description>%inv_OptionalParameterMultiplicity</description>
+                <![CDATA[%ocl_OptionalParameterMultiplicity]]> 
+            </constraint>
+            
+            <constraint id="constraint.discrete.nocontinuous" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="discrete.nocontinuous"
+            class="org.eclipse.papyrus.sysml16.validation.rules.activities.DiscreteNoContinuousModelConstraint">
+               <message>%inv_DiscreteNoContinuous</message>
+                <description>%inv_DiscreteNoContinuous</description>
+            </constraint>             
+ 
+            <constraint id="constraint.nobuffer.nooverwrite"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="nobuffer.nooverwrite">
+               <message>%inv_NoBufferNoOverwrite</message>
+                <description>%inv_NoBufferNoOverwrite</description>
+                <![CDATA[%ocl_NoBufferNoOverwrite]]>
+            </constraint>          
+ 
+            <constraint
+                  id="constraint.overwrite.nonobuffer"
+                  isEnabledByDefault="true"
+                  lang="OCLpivot"
+                  mode="Batch"
+                  name="overwrite.nonobuffer"
+                  severity="ERROR"
+                  statusCode="3">
+               <message>%inv_OverwriteNoNoBuffer</message>
+                <description>%inv_OverwriteNoNoBuffer</description>
+                <![CDATA[%ocl_OverwriteNoNoBuffer]]>
+            </constraint>
+
+            <constraint id="constraint.rate.parameterisstream"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="rate.parameterisstream"
+            class="org.eclipse.papyrus.sysml16.validation.rules.activities.RateParameterIsStreamModelConstraint">
+               <message>%inv_RateParameterIsStream</message>
+                <description>%inv_RateParameterIsStream</description>
+            </constraint> 
+                         
+            <constraint id="constraint.rate.parameterlessinout"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="rate.parameterlessinout"
+            class="org.eclipse.papyrus.sysml16.validation.rules.activities.RateParameterLessInoutModelConstraint">
+               <message>%inv_RateParameterLessInout</message>
+                <description>%inv_RateParameterLessInout</description>
+            </constraint> 
+                                                  
+            <constraint id="constraint.probability.alledges"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="probability.alledges"
+            class="org.eclipse.papyrus.sysml16.validation.rules.activities.ProbabilityAllEdgesModelConstraint">
+               <message>%inv_ProbabilityAllEdges</message>
+                <description>%inv_ProbabilityAllEdges</description>
+            </constraint> 
+                              
+            <constraint id="constraint.probability.baseelement"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="probability.baseelement"
+            class="org.eclipse.papyrus.sysml16.validation.rules.activities.ProbabilityBaseElementModelConstraint">
+               <message>%inv_ProbabilityBaseElement</message>
+                <description>%inv_ProbabilityBaseElement</description>
+            </constraint> 
+             
+            <constraint id="constraint.probability.outputparameters"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="probability.outputparameters"
+            class="org.eclipse.papyrus.sysml16.validation.rules.activities.ProbabilityOutputParametersModelConstraint">
+               <message>%inv_ProbabilityOutputParameters</message>
+                <description>%inv_ProbabilityOutputParameters</description>
+            </constraint> 
+            
+            <constraint id="constraint.probability.allparameterset"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="probability.allparameterset"
+            class="org.eclipse.papyrus.sysml16.validation.rules.activities.ProbabilityToAllParameterSetModelConstraint">
+               <message>%inv_ProbabilityToAllParameterSet</message>
+                <description>%inv_ProbabilityToAllParameterSet</description>
+            </constraint>
+            <constraint
+                  class="org.eclipse.papyrus.sysml16.validation.rules.activities.OperationParametersControlValueModelConstraint"
+                  id="constraint.operation.controloperator.parameterscontrolvalue"
+                  isEnabledByDefault="true"
+                  lang="Java"
+                  mode="Batch"
+                  name="operation.controloperator.parameterscontrolvalue"
+                  severity="ERROR"
+                  statusCode="3">
+               %ocl_OptionalParameterMultiplicity
+               <message>
+                  %inv_ControlOperatorOneParameterControlValue
+               </message>
+               <description>
+                  %inv_ControlOperatorOneParameterControlValue
+               </description>
+            </constraint>
+            <constraint
+                  class="org.eclipse.papyrus.sysml16.validation.rules.activities.BehaviorParametersControlValueModelConstraint"
+                  id="constraint.behavior.controloperator.parameterscontrolvalue"
+                  isEnabledByDefault="true"
+                  lang="Java"
+                  mode="Batch"
+                  name="behavior.controloperator.parameterscontrolvalue"
+                  severity="ERROR"
+                  statusCode="3">
+               %ocl_OptionalParameterMultiplicity
+               <message>
+                  %inv_ControlOperatorOneParameterControlValue
+               </message>
+               <description>
+                  %inv_ControlOperatorOneParameterControlValue
+               </description>
+            </constraint>
+            <constraint
+                  class="org.eclipse.papyrus.sysml16.validation.rules.activities.ControlOperatorOperationMethodModelConstraint"
+                  id="constraint.controloperator.operationmethod"
+                  isEnabledByDefault="true"
+                  lang="Java"
+                  mode="Batch"
+                  name="controloperator.operationmethod"
+                  severity="ERROR"
+                  statusCode="3">
+               %ocl_OptionalParameterMultiplicity
+               <message>
+                  %inv_ControlOperatorOperationMethod
+               </message>
+               <description>
+                  %inv_ControlOperatorOperationMethod
+               </description>
+            </constraint> 
+                                                                                
+         </constraints>
+      </constraintProvider>
+  
+  		<constraintProvider cache="false" mode="Batch">
+         <package namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations"/>
+         <constraints categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+            <constraint id="constraint.allocate.oneclientsupplier" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="allocate.oneclientsupplier"
+            class="org.eclipse.papyrus.sysml16.validation.rules.allocations.AllocateOneClientSupplierModelConstraint">
+               <message>%inv_AllocateOneClientSupplier</message>
+               <description>%inv_AllocateOneClientSupplier</description>
+            </constraint>
+            <constraint
+                  class="org.eclipse.papyrus.sysml16.validation.rules.allocations.AllocateActivityPartitionActionsOnClientEndsModelConstraint"
+                  id="constraint.allocateactivitypartition.actionsonclientends"
+                  isEnabledByDefault="true"
+                  lang="Java"
+                  mode="Batch"
+                  name="allocateactivitypartition.actionsonclientends"
+                  severity="ERROR"
+                  statusCode="3">
+               <message>
+                  %inv_AllocateActivityPartitionActionsOnClientEnds
+               </message>
+               <description>
+                  %inv_AllocateActivityPartitionActionsOnClientEnds
+               </description>
+            </constraint>             
+                                                                 
+         </constraints>
+      </constraintProvider>  
+  
+  
+      
+    <constraintProvider cache="false" mode="Batch">
+         <package namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks"/>
+         <constraints categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+
+            <constraint id="constraint.boundreference.1"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [1]">
+               <message>%inv_BoundReference1</message>
+                <description>%inv_BoundReference1</description>
+                <![CDATA[%ocl_BoundReference1]]>
+            </constraint>         
+            <constraint id="constraint.boundreference.2"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [2]">
+               <message>%inv_BoundReference2</message>
+                <description>%inv_BoundReference2</description>
+                <![CDATA[%ocl_BoundReference2]]>
+            </constraint>   
+            
+            <constraint id="constraint.boundreference.4"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [4]">
+               <message>%inv_BoundReference4</message>
+                <description>%inv_BoundReference4</description>
+                <![CDATA[%ocl_BoundReference4]]>
+            </constraint>   
+            <constraint id="constraint.boundreference.5"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [5]">
+               <message>%inv_BoundReference5</message>
+                <description>%inv_BoundReference5</description>
+                <![CDATA[%ocl_BoundReference5]]>
+            </constraint>
+            <constraint id="constraint.boundreference.6"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [6]">
+               <message>%inv_BoundReference6</message>
+                <description>%inv_BoundReference6</description>
+                <![CDATA[%ocl_BoundReference6]]>
+            </constraint>
+            <constraint id="constraint.boundreference.7"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [7]">
+               <message>%inv_BoundReference7</message>
+                <description>%inv_BoundReference7</description>
+                <![CDATA[%ocl_BoundReference7]]>
+            </constraint>
+            <constraint id="constraint.boundreference.8"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [8]">
+               <message>%inv_BoundReference8</message>
+                <description>%inv_BoundReference8</description>
+                <![CDATA[%ocl_BoundReference8]]>
+            </constraint>               
+            
+             <constraint id="constraint.directedrelationshippropertypath.requiresourcecontext"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.requiresourcecontext"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DirectedRelationshipPropertyPathRequireSourceContextModelConstraint">
+               <message>%inv_DirectedRelationshipPropertyPathRequireSourceContext</message>
+                <description>%inv_DirectedRelationshipPropertyPathRequireSourceContext</description>
+            </constraint>  
+  			<constraint id="constraint.directedrelationshippropertypath.requiretargetcontext"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.requiretargetcontext"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DirectedRelationshipPropertyPathRequireTargetContextModelConstraint">
+               <message>%inv_DirectedRelationshipPropertyPathRequireTargetContext</message>
+                <description>%inv_DirectedRelationshipPropertyPathRequireTargetContext</description>
+            </constraint>
+            <constraint id="constraint.directedrelationshippropertypath.sourcefirst"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.sourcefirst"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DirectedRelationshipPropertyPathSourceFirstModelConstraint">
+               <message>%inv_DirectedRelationshipPropertyPathSourceFirst</message>
+                <description>%inv_DirectedRelationshipPropertyPathSourceFirst</description>
+            </constraint>
+            <constraint id="constraint.directedrelationshippropertypath.targetfirst"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.targetfirst"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DirectedRelationshipPropertyPathTargetFirstModelConstraint">
+               <message>%inv_DirectedRelationshipPropertyPathTargetFirst</message>
+                <description>%inv_DirectedRelationshipPropertyPathTargetFirst</description>
+            </constraint>
+            <constraint id="constraint.directedrelationshippropertypath.sourcelast"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.sourcelast"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DirectedRelationshipPropertyPathSourceLastModelConstraint">
+               <message>%inv_DirectedRelationshipPropertyPathSourceLast</message>
+                <description>%inv_DirectedRelationshipPropertyPathSourceLast</description>
+            </constraint>
+            <constraint id="constraint.directedrelationshippropertypath.targetlast"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.targetlast"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DirectedRelationshipPropertyPathRequireSourceContextModelConstraint">
+               <message>%inv_DirectedRelationshipPropertyPathTargetLast</message>
+                <description>%inv_DirectedRelationshipPropertyPathTargetLast</description>
+            </constraint>  
+            <constraint id="constraint.directedrelationshippropertypath.sourcecontextifproperty"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.sourcecontextifproperty">
+               <message>%inv_DirectedRelationshipPropertyPathSourceContextIfProperty</message>
+               <description>%inv_DirectedRelationshipPropertyPathSourceContextIfProperty</description>
+               <![CDATA[%ocl_DirectedRelationshipPropertyPathSourceContextIfProperty]]>
+            </constraint>  
+            <constraint id="constraint.directedrelationshippropertypath.targetcontextifproperty"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.targetcontextifproperty">
+               <message>%inv_DirectedRelationshipPropertyPathTargetContextIfProperty</message>
+               <description>%inv_DirectedRelationshipPropertyPathTargetContextIfProperty</description>
+               <![CDATA[%ocl_DirectedRelationshipPropertyPathTargetContextIfProperty]]>
+            </constraint>  
+            <constraint id="constraint.directedrelationshippropertypath.sourcepropertypathimpliesproperty"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.sourcepropertypathimpliesproperty">
+               <message>%inv_DirectedRelationshipPropertyPathSourcePropertyPathImpliesProperty</message>
+               <description>%inv_DirectedRelationshipPropertyPathSourcePropertyPathImpliesProperty</description>
+               <![CDATA[%ocl_DirectedRelationshipPropertyPathSourcePropertyPathImpliesProperty]]>
+            </constraint>   
+            <constraint id="constraint.directedrelationshippropertypath.targetpropertypathimpliesproperty"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.targetpropertypathimpliesproperty">
+               <message>%inv_DirectedRelationshipPropertyPathTargetPropertyPathImpliesProperty</message>
+               <description>%inv_DirectedRelationshipPropertyPathTargetPropertyPathImpliesProperty</description>
+               <![CDATA[%ocl_DirectedRelationshipPropertyPathTargetPropertyPathImpliesProperty]]>
+            </constraint> 
+            <constraint id="constraint.block.propertycomposite"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="block.propertycomposite"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.BlockPropertyCompositeModelConstraint">
+               <message>%inv_BlockPropertyComposite</message>
+               <description>%inv_BlockPropertyComposite</description>
+            </constraint>  
+
+             <constraint id="constraint.block.connectortwoends"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="block.connectortwoends"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.BlockConnectorTwoEndsModelConstraint">
+               <message>%inv_BlockConnectorTwoEnds</message>
+                <description>%inv_BlockConnectorTwoEnds</description>
+            </constraint> 
+
+             <constraint id="constraint.elementpropertypath.propertiesowner"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="elementpropertypath.propertiesowner"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ElementPropertyPathPropertiesOwnerModelConstraint">
+               <message>%inv_ElementPropertyPathPropertiesOwner</message>
+                <description>%inv_ElementPropertyPathPropertiesOwner</description>
+            </constraint>  
+ 
+            <constraint id="constraint.nestedconnectorend.onlyconnectorends"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="nestedconnectorend.onlyconnectorends"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.NestedConnectorEndOnlyConnectorEndsModelConstraint">
+               <message>%inv_NestedConnectorEndOnlyConnectorEnds</message>
+                <description>%inv_NestedConnectorEndOnlyConnectorEnds</description>
+            </constraint>  
+
+            <constraint id="constraint.nestedconnectorend.lastproperty"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="nestedconnectorend.lastproperty"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.NestedConnectorEndLastPropertyModelConstraint">
+               <message>%inv_NestedConnectorEndLastProperty</message>
+                <description>%inv_NestedConnectorEndLastProperty</description>
+            </constraint> 
+            
+            <constraint id="constraint.nestedconnectorend.firstproperty"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="nestedconnectorend.firstproperty"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.NestedConnectorEndFirstPropertyModelConstraint">
+               <message>%inv_NestedConnectorEndFirstProperty</message>
+                <description>%inv_NestedConnectorEndFirstProperty</description>
+            </constraint> 
+             
+            <constraint id="constraint.propertyspecifictype.missingname"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="propertyspecifictype.missingname"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.PropertySpecificTypeMissingNameModelConstraint">
+               <message>%inv_PropertySpecificTypeMissingName</message>
+                <description>%inv_PropertySpecificTypeMissingName</description>
+            </constraint> 
+            
+             <constraint id="constraint.propertyspecifictype.uniqueproperty"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="propertyspecifictype.uniqueproperty"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.PropertySpecificTypeUniquePropertyModelConstraint">
+               <message>%inv_PropertySpecificTypeUniqueProperty</message>
+                <description>%inv_PropertySpecificTypeUniqueProperty</description>
+            </constraint> 
+            
+            
+            <constraint id="constraint.endpathmultiplicity.boundreferenceproperty"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="endpathmultiplicity.boundreferenceproperty"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.EndPathMultiplicityBoundReferencePropertyModelConstraint">
+               <message>%inv_EndPathMultiplicityBoundReferenceProperty</message>
+                <description>%inv_EndPathMultiplicityBoundReferenceProperty</description>
+            </constraint>
+      
+            <constraint id="constraint.endpathmultiplicity.notnegative"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="endpathmultiplicity.notnegative">
+               <message>%inv_EndPathMultiplicityNotNegative</message>
+                <description>%inv_EndPathMultiplicityNotNegative</description>
+                <![CDATA[%ocl_EndPathMultiplicityNotNegative]]>
+            </constraint>         
+            
+            <constraint id="constraint.distributedproperty.typedby"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="distributedproperty.typedby"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DistributedPropertyTypedByModelConstraint">
+               <message>%inv_DistributedPropertyTypedBy</message>
+                <description>%inv_DistributedPropertyTypedBy</description>
+            </constraint>        
+  
+          <constraint id="constraint.classifierbehaviorproperty.iscomposite"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="classifierbehaviorproperty.iscomposite">
+               <message>%inv_ClassifierBehaviorPropertyIsComposite</message>
+                <description>%inv_ClassifierBehaviorPropertyIsComposite</description>
+                <![CDATA[%ocl_ClassifierBehaviorPropertyIsComposite]]>
+            </constraint> 
+            
+          <constraint id="constraint.classifierbehaviorproperty.onblock"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="classifierbehaviorproperty.onblock"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ClassifierBehaviorPropertyOnBlockModelConstraint">
+               <message>%inv_ClassifierBehaviorPropertyOnBlock</message>
+                <description>%inv_ClassifierBehaviorPropertyOnBlock</description>
+            </constraint>             
+
+          <constraint id="constraint.classifierbehaviorproperty.typedby"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="classifierbehaviorproperty.typedby"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ClassifierBehaviorPropertyTypedByModelConstraint">
+               <message>%inv_ClassifierBehaviorPropertyTypedBy</message>
+                <description>%inv_ClassifierBehaviorPropertyTypedBy</description>
+            </constraint>
+            
+          <constraint id="constraint.connectorproperty.onlycomposite"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="connectorproperty.onlycomposite" >
+               <message>%inv_ConnectorPropertyOnlyComposite</message>
+               <description>%inv_ConnectorPropertyOnlyComposite</description>
+               <![CDATA[%ocl_ConnectorPropertyOnlyComposite]]>
+            </constraint>    
+                            
+          <constraint id="constraint.connectorproperty.onlyonblock"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="connectorproperty.onlyonblock"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ConnectorPropertyOnlyOnBlockModelConstraint">
+               <message>%inv_ConnectorPropertyOnlyOnBlock</message>
+                <description>%inv_ConnectorPropertyOnlyOnBlock</description>
+            </constraint>
+          <constraint id="constraint.connectorproperty.referownedconnector"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="connectorproperty.referownedconnector"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ConnectorPropertyReferOwnedConnectorModelConstraint">
+               <message>%inv_ConnectorPropertyReferOwnedConnector</message>
+                <description>%inv_ConnectorPropertyReferOwnedConnector</description>
+            </constraint>
+            <constraint id="constraint.connectorproperty.samename"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="connectorproperty.samename"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ConnectorPropertySameNameModelConstraint">
+               <message>%inv_ConnectorPropertySameName</message>
+                <description>%inv_ConnectorPropertySameName</description>
+            </constraint>
+            <constraint id="constraint.connectorproperty.typedbyassociationblock"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="connectorproperty.typedbyassociationblock"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ConnectorPropertyTypedByAssociationBlockModelConstraint">
+               <message>%inv_ConnectorPropertyTypedByAssociationBlock</message>
+                <description>%inv_ConnectorPropertyTypedByAssociationBlock</description>
+            </constraint>
+            
+            <constraint id="constraint.bindingconnector.sameendstype"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="bindingconnector.sameendstype"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.BindingConnectorSameEndsTypeModelConstraint">
+               <message>%inv_BindingConnectorSameEndsType</message>
+                <description>%inv_BindingConnectorSameEndsType</description>
+            </constraint>    
+                     
+                       
+           <constraint id="constraint.participantproperty.endmultiplicity"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="participantproperty.endmultiplicity"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ParticipantPropertyEndMultiplicityModelConstraint">
+               <message>%inv_ParticipantPropertyEndMultiplicity</message>
+                <description>%inv_ParticipantPropertyEndMultiplicity</description>
+            </constraint> 
+            
+             <constraint id="constraint.participantproperty.noassociationmemberends"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="participantproperty.noassociationmemberends"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ParticipantPropertyNoAssociationMemberEndsModelConstraint">
+               <message>%inv_ParticipantPropertyNoAssociationMemberEnds</message>
+                <description>%inv_ParticipantPropertyNoAssociationMemberEnds</description>
+            </constraint> 
+            
+           <constraint id="constraint.participantproperty.onlyassociationblock"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="participantproperty.onlyassociationblock"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ParticipantPropertyOnlyAssociationBlockModelConstraint">
+               <message>%inv_ParticipantPropertyOnlyAssociationBlock</message>
+                <description>%inv_ParticipantPropertyOnlyAssociationBlock</description>
+            </constraint> 
+            
+            <constraint id="constraint.participantproperty.onlynoneaggregation"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="participantproperty.onlynoneaggregation"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ParticipantPropertyOnlyNoneAggregationModelConstraint">
+               <message>%inv_ParticipantPropertyOnlyNoneAggregation</message>
+                <description>%inv_ParticipantPropertyOnlyNoneAggregation</description>
+            </constraint> 
+            
+             <constraint id="constraint.participantproperty.sameend"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="participantproperty.sameend"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ParticipantPropertySameEndModelConstraint">
+               <message>%inv_ParticipantPropertySameEnd</message>
+                <description>%inv_ParticipantPropertySameEnd</description>
+            </constraint> 
+            
+            <constraint id="constraint.participantproperty.sametype"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="participantproperty.sametype"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ParticipantPropertySameTypeModelConstraint">
+               <message>%inv_ParticipantPropertySameType</message>
+                <description>%inv_ParticipantPropertySameType</description>
+            </constraint>                         
+                       
+            <constraint id="constraint.valuetype.unit"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="valuetype.unit"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ValueTypeUnitModelConstraint">
+               <message>%inv_ValueTypeUnit</message>
+               <description>%inv_ValueTypeUnit</description>
+            </constraint>                        
+                       
+            <constraint id="constraint.valuetype.quantitykind"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="valuetype.quantitykind"
+            class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ValueTypeQuantityKindModelConstraint">
+               <message>%inv_ValueTypeQuantityKind</message>
+               <description>%inv_ValueTypeQuantityKind</description>
+            </constraint>  
+                                                                                
+         </constraints>
+   </constraintProvider>
+    <constraintProvider
+          cache="false"
+          mode="Batch">
+       <package
+             namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks">
+       </package>
+       <constraints
+             categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.constraintblocks.ConstraintBlockCompositeModelConstraint"
+                id="constraint.constraintblock.composite"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="constraintblock.composite"
+                severity="ERROR"
+                statusCode="3">
+             %ocl_RequirementEmptyOwnedAttribute
+             <message>
+                %inv_ConstraintBlockComposite
+             </message>
+             <description>
+                %inv_ConstraintBlockComposite
+             </description>
+          </constraint>
+       </constraints>
+    </constraintProvider>
+ 
+    <constraintProvider cache="false" mode="Batch">
+         <package namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements"/>
+         <constraints categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+         
+           <constraint id="constraint.view.singleviewpoint"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="view.singleviewpoint"
+            class="org.eclipse.papyrus.sysml16.validation.rules.modelelements.ViewSingleViewpointModelConstraint">
+               <message>%inv_ViewSingleViewpoint</message>
+                <description>%inv_ViewSingleViewpoint</description>
+            </constraint> 
+
+           <constraint id="constraint.viewpoint.ownedview"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="viewpoint.ownedview"
+            class="org.eclipse.papyrus.sysml16.validation.rules.modelelements.ViewpointOwnedViewModelConstraint">
+               <message>%inv_ViewpointOwnedView</message>
+                <description>%inv_ViewpointOwnedView</description>
+            </constraint> 
+         
+            <constraint id="constraint.expose.clientview"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="expose.clientview"
+            class="org.eclipse.papyrus.sysml16.validation.rules.modelelements.ExposeClientStereotypedByViewModelConstraint">
+               <message>%inv_ExposeClientStereotypedByView</message>
+                <description>%inv_ExposeClientStereotypedByView</description>
+            </constraint> 
+            
+            <constraint id="constraint.conform.generalviewpoint"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="conform.generalviewpoint">
+               <message>%inv_ConformGeneralClassifierViewpoint</message>
+               <description>%inv_ConformGeneralClassifierViewpoint</description>
+               <![CDATA[%ocl_ConformGeneralClassifierViewpoint]]>   
+            </constraint> 
+            
+            <constraint id="constraint.conform.specificview"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="conform.specificview">
+               <message>%inv_ConformSpecificClassifierView</message>
+               <description>%inv_ConformSpecificClassifierView</description>
+               <![CDATA[%ocl_ConformSpecificClassifierView]]>
+            </constraint> 
+            
+            <constraint
+                  class="org.eclipse.papyrus.sysml16.validation.rules.modelelements.StakeholderNotAssociationModelConstraint"
+                  id="constraint.stakeholder.notassociation"
+                  isEnabledByDefault="true"
+                  lang="Java"
+                  mode="Batch"
+                  name="stakeholder.notassociation"
+                  severity="ERROR"
+                  statusCode="3">
+               <message>%inv_StakeholderNotAssociation</message>
+               <description>%inv_StakeholderNotAssociation</description>
+            </constraint>                         
+                                                  
+         </constraints>         
+      </constraintProvider>    
+      
+      
+  		<constraintProvider cache="false" mode="Batch">
+         <package namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows"/>
+         <constraints categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+ 
+            
+            <!--constraint id="constraint.itemflow.sourceandtargetlinked"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="itemflow.sourceandtargetlinked">
+               <message>%inv_ItemFlowSourceAndTargetLinked</message>
+               <description>%inv_ItemFlowSourceAndTargetLinked</description>
+               <![CDATA[%ocl_ItemFlowSourceAndTargetLinked]]>
+            </constraint-->
+
+            <constraint id="constraint.itemflow.propertytypedby"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="itemflow.propertytypedby"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ItemFlowSamePropertyTypedByModelConstraint">
+               <message>%inv_ItemFlowSamePropertyTypedBy</message>
+                <description>%inv_ItemFlowSamePropertyTypedBy</description>
+            </constraint>
+            
+            <!--constraint id="constraint.itemflow.itempropertycommonowner"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="itemflow.itempropertycommonowner">
+               <message>%inv_ItemFlowItemPropertyCommonOwner</message>
+               <description>%inv_ItemFlowItemPropertyCommonOwner</description>
+               <![CDATA[%ocl_ItemFlowItemPropertyCommonOwner]]>
+            </constraint-->
+            
+            <constraint id="constraint.itemflow.associationxoritemproperty"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="itemflow.associationxoritemproperty">
+               <message>%inv_ItemFlowAssociationXorItemProperty</message>
+               <description>%inv_ItemFlowAssociationXorItemProperty</description>
+               <![CDATA[%ocl_ItemFlowAssociationXorItemProperty]]>
+            </constraint>
+            
+            <constraint id="constraint.itemflow.sametype"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="constraint.itemflow.sametype">
+               <message>%inv_ItemFlowSameType</message>
+               <description>%inv_ItemFlowSameType</description>
+               <![CDATA[%ocl_ItemFlowSameType]]>
+            </constraint>
+            
+            <constraint id="constraint.itemflow.sameproperty"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="itemflow.sameproperty"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ItemFlowSamePropertyNameModelConstraint">
+               <message>%inv_ItemFlowSamePropertyName</message>
+                <description>%inv_ItemFlowSamePropertyName</description>
+            </constraint>
+            
+            <constraint id="constraint.invocationonnestedportaction.requiredonport"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="invocationonnestedport.requiredonport"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.InvocationOnNestedPortActionRequiredOnPortModelConstraint">
+               <message>%inv_InvocationOnNestedPortActionRequiredOnPort</message>
+                <description>%inv_InvocationOnNestedPortActionRequiredOnPort</description>
+            </constraint>
+            
+            <constraint id="constraint.invocationonnestedportaction.pathconsistency"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="invocationonnestedportaction.pathconsistency"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.InvocationOnNestedPortActionPathConsistencyModelConstraint">
+               <message>%inv_InvocationOnNestedPortActionPathConsistency</message>
+               <description>%inv_InvocationOnNestedPortActionPathConsistency</description>
+            </constraint>     
+                            
+            <constraint id="constraint.invocationonnestedportaction.onnestedportfirstownedbytargettype"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="invocationonnestedportaction.onnestedportfirstownedbytargettype">
+               <message>%inv_InvocationOnNestedPortActionOnNestedPortFirstOwnedByTargetType</message>
+               <description>%inv_InvocationOnNestedPortActionOnNestedPortFirstOwnedByTargetType</description>
+               <![CDATA[%ocl_InvocationOnNestedPortActionOnNestedPortFirstOwnedByTargetType]]>
+            </constraint>    
+                            
+            <constraint id="constraint.invocationonnestedportaction.onnestedportlasttypeownsinvocationonport"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="invocationonnestedportaction.onnestedportlasttypeownsinvocationonport">
+               <message>%inv_InvocationOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort</message>
+               <description>%inv_InvocationOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort</description>
+               <![CDATA[%ocl_InvocationOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort]]>
+            </constraint>
+
+            <constraint id="constraint.directedfeature.onlybehavioral"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedfeature.onlybehavioral"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.DirectedFeatureOnlyBehavioralModelConstraint">
+               <message>%inv_DirectedFeatureOnlyBehavioral</message>
+                <description>%inv_DirectedFeatureOnlyBehavioral</description>
+            </constraint> 
+         
+            <constraint id="constraint.changestrucuralfeatureevent.notstatic"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="changestrucuralfeatureevent.notstatic"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ChangeStructuralFeatureEventNotStaticModelConstraint">
+               <message>%inv_ChangeStructuralFeatureEventNotStatic</message>
+                <description>%inv_ChangeStructuralFeatureEventNotStatic</description>
+            </constraint> 
+            
+            
+            <constraint id="constraint.changestrucuralfeatureevent.onefeaturingclassifier"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="changestrucuralfeatureevent.onefeaturingclassifier"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ChangeStructuralFeatureEventOneFeaturingClassifierModelConstraint">
+               <message>%inv_ChangeStructuralFeatureEventOneFeaturingClassifier</message>
+                <description>%inv_ChangeStructuralFeatureEventOneFeaturingClassifier</description>
+            </constraint>                      
+         
+            <constraint id="constraint.flowproperty.typedby"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="flowproperty.typedby"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.FlowPropertyTypedByModelConstraint">
+               <message>%inv_FlowPropertyTypedBy</message>
+                <description>%inv_FlowPropertyTypedBy</description>
+            </constraint>                    
+            <constraint id="constraint.fullport.notproxyport"  isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="fullport.notproxyport"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.FullPortNotProxyPortModelConstraint">
+               <message>%inv_FullPortNotProxyPort</message>
+                <description>%inv_FullPortNotProxyPort</description>
+            </constraint>                    
+            <constraint id="constraint.fullport.notboundtofullport"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="fullport.notboundtofullport">
+               <message>%inv_FullPortNotBoundToFullPort</message>
+               <description>%inv_FullPortNotBoundToFullPort</description>
+               <![CDATA[%ocl_FullPortNotBoundToFullPort]]>
+            </constraint>                                  
+            <constraint id="constraint.fullport.notbehavioral"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="fullport.notbehavioral">
+               <message>%inv_FullPortNotBehavioral</message>
+                <description>%inv_FullPortNotBehavioral</description>
+               <![CDATA[%ocl_FullPortNotBehavioral]]>
+            </constraint>
+            
+            <constraint id="constraint.proxyport.notfullport" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="proxyport.notfullport"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ProxyPortNotFullPortModelConstraint">
+               <message>%inv_ProxyPortNotFullPort</message>
+                <description>%inv_ProxyPortNotFullPort</description>
+            </constraint>  
+            <constraint id="constraint.proxyport.typedinterfaceblock" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="proxyport.typedinterfaceblock"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ProxyPortTypedByInterfaceBlockModelConstraint">
+               <message>%inv_ProxyPortTypedByInterfaceBlock</message>
+                <description>%inv_ProxyPortTypedByInterfaceBlock</description>
+            </constraint>
+            <constraint id="constraint.proxyport.innerproxyport" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="proxyport.innerproxyport"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ProxyPortForceInnerProxyPortModelConstraint">
+               <message>%inv_ProxyPortForceInnerProxyPort</message>
+                <description>%inv_ProxyPortForceInnerProxyPort</description>
+            </constraint>   
+                                           
+            <constraint id="constraint.triggeronnestedport.triggeronnestedportsingleproxyport"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="triggeronnestedport.triggeronnestedportsingleproxyport">
+               <message>%inv_TriggerOnNestedPortSingleProxyPort</message>
+                <description>%inv_TriggerOnNestedPortSingleProxyPort</description>
+               <![CDATA[%ocl_TriggerOnNestedPortSingleProxyPort]]>
+            </constraint>   
+                                           
+            <constraint id="constraint.triggeronnestedport.triggeronnestedportnofullport"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="triggeronnestedport.triggeronnestedportnofullport">
+               <message>%inv_TriggerOnNestedPortNoFullPort</message>
+                <description>%inv_TriggerOnNestedPortNoFullPort</description>
+               <![CDATA[%ocl_TriggerOnNestedPortNoFullPort]]>
+            </constraint>   
+                                           
+            <constraint id="constraint.triggeronnestedport.triggeronnestedportonnextedportfirstownedbycontext"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="triggeronnestedport.triggeronnestedportonnextedportfirstownedbycontext">
+               <message>%inv_TriggerOnNestedPortOnNextedPortFirstOwnedByContext</message>
+                <description>%inv_TriggerOnNestedPortOnNextedPortFirstOwnedByContext</description>
+               <![CDATA[%ocl_TriggerOnNestedPortOnNextedPortFirstOwnedByContext]]>
+            </constraint>
+            
+            <constraint id="constraint.triggeronnestedport.triggeronnestedportpathconsistency" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="constraint.triggeronnestedport.triggeronnestedportpathconsistency"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.TriggerOnNestedPortPathConsistencyModelConstraint">
+               <message>%inv_TriggerOnNestedPortPathConsistency</message>
+                <description>%inv_TriggerOnNestedPortPathConsistency</description>
+            </constraint>   
+                                           
+            <!--constraint id="constraint.triggeronnestedport.triggeronnestedportonnestedportlasttypeownstriggerport"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="triggeronnestedport.triggeronnestedportonnestedportlasttypeownstriggerport">
+               <message>%inv_TriggerOnNestedPortOnNestedPortLastTypeOwnsTriggerPort</message>
+                <description>%inv_TriggerOnNestedPortOnNestedPortLastTypeOwnsTriggerPort</description>
+               <![CDATA[%ocl_TriggerOnNestedPortOnNestedPortLastTypeOwnsTriggerPort]]>
+            </constraint--> 
+            
+            <constraint id="constraint.interfaceblock.porttype" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="interfaceblock.porttype"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.InterfaceBlockPortTypeModelConstraint">
+               <message>%inv_InterfaceBlockPortType</message>
+                <description>%inv_InterfaceBlockPortType</description>
+            </constraint>            
+ 
+            <constraint id="constraint.interfaceblock.nobehavior" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="interfaceblock.nobehavior"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.InterfaceBlockNoBehaviorConstraint">
+               <message>%inv_InterfaceBlockNoBehavior</message>
+                <description>%inv_InterfaceBlockNoBehavior</description>
+            </constraint>
+            
+            <constraint id="constraint.interfaceblock.nocompositeproperty" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="interfaceblock.nocompositeproperty"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.InterfaceBlockNoCompositePropertyModelConstraint">
+               <message>%inv_InterfaceBlockNoCompositeProperty</message>
+                <description>%inv_InterfaceBlockNoCompositeProperty</description>
+            </constraint>
+            
+            <constraint id="constraint.interfaceblock.isconguratednotused" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="interfaceblock.isconguratednotused">
+               <message>%inv_InterfaceBlockIsConjugatedNotUsed</message>
+                <description>%inv_InterfaceBlockIsConjugatedNotUsed</description>
+               <![CDATA[%ocl_InterfaceBlockIsConjugatedNotUsed]]>
+            </constraint>
+            
+            <constraint id="constraint.conjugatedinterfaceblock.enforcedname" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="conjugatedinterfaceblock.enforcedname">
+               <message>%inv_ConjugatedInterfaceBlockEnforcedName</message>
+                <description>%inv_ConjugatedInterfaceBlockEnforcedName</description>
+               <![CDATA[%ocl_ConjugatedInterfaceBlockEnforcedName]]>
+            </constraint>     
+                                           
+            <constraint id="constraint.acceptchangestructuralfeatureeventaction.onetrigger"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="acceptchangestructuralfeatureeventaction.onetrigger">
+               <message>%inv_AcceptChangeStructuralFeatureEventActionOneTrigger</message>
+                <description>%inv_AcceptChangeStructuralFeatureEventActionOneTrigger</description>
+               <![CDATA[%ocl_AcceptChangeStructuralFeatureEventActionOneTrigger]]>
+            </constraint>  
+                                           
+            <constraint id="constraint.acceptchangestructuralfeatureeventaction.tworesultpin"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="acceptchangestructuralfeatureeventaction.tworesultpin">
+               <message>%inv_AcceptChangeStructuralFeatureEventActiontwoResultPin</message>
+                <description>%inv_AcceptChangeStructuralFeatureEventActiontwoResultPin</description>
+               <![CDATA[%ocl_AcceptChangeStructuralFeatureEventActiontwoResultPin]]>
+            </constraint>  
+                                           
+            <constraint id="constraint.acceptchangestructuralfeatureeventaction.contextownsstructuralfeature"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="acceptchangestructuralfeatureeventaction.contextownsstructuralfeature">
+               <message>%inv_AcceptChangeStructuralFeatureEventActionContextOwnsStructuralFeature</message>
+                <description>%inv_AcceptChangeStructuralFeatureEventActionContextOwnsStructuralFeature</description>
+               <![CDATA[%ocl_AcceptChangeStructuralFeatureEventActionContextOwnsStructuralFeature]]>
+            </constraint>  
+                                           
+            <constraint id="constraint.acceptchangestructuralfeatureeventaction.canaccessstructuralfeature"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="acceptchangestructuralfeatureeventaction.canaccessstructuralfeature">
+               <message>%inv_AcceptChangeStructuralFeatureEventActionCanAccessStructuralFeature</message>
+                <description>%inv_AcceptChangeStructuralFeatureEventActionCanAccessStructuralFeature</description>
+               <![CDATA[%ocl_AcceptChangeStructuralFeatureEventActionCanAccessStructuralFeature]]>
+            </constraint>  
+                                           
+            <constraint id="constraint.addflowpropertyvalueonnestedportaction.featureflowproperty"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="addflowpropertyvalueonnestedportaction.featureflowproperty">
+               <message>%inv_AddFlowPropertyValueOnNestedPortActionFeatureFlowProperty</message>
+                <description>%inv_AddFlowPropertyValueOnNestedPortActionFeatureFlowProperty</description>
+               <![CDATA[%ocl_AddFlowPropertyValueOnNestedPortActionFeatureFlowProperty]]>
+            </constraint>  
+                                           
+            <constraint id="constraint.addflowpropertyvalueonnestedportaction.onnestedportfirstownedbytargettype"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="addflowpropertyvalueonnestedportaction.onnestedportfirstownedbytargettype">
+               <message>%inv_AddFlowPropertyValueOnNestedPortActionOnNestedPortFirstOwnedByTargetType</message>
+                <description>%inv_AddFlowPropertyValueOnNestedPortActionOnNestedPortFirstOwnedByTargetType</description>
+               <![CDATA[%ocl_AddFlowPropertyValueOnNestedPortActionOnNestedPortFirstOwnedByTargetType]]>
+            </constraint>            
+ 
+            <constraint id="constraint.addflowpropertyvalueonnestedportaction.pathconsistency" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="addflowpropertyvalueonnestedportaction.pathconsistency"
+            class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.AddFlowPropertyValueOnNestedPortActionPathConsistencyModelConstraint">
+               <message>%inv_AddFlowPropertyValueOnNestedPortActionPathConsistency</message>
+                <description>%inv_AddFlowPropertyValueOnNestedPortActionPathConsistency</description>
+            </constraint>
+                                           
+            <constraint id="constraint.addflowpropertyvalueonnestedportaction.onnestedportlasttypeownsinvocationonport"  isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="addflowpropertyvalueonnestedportaction.onnestedportlasttypeownsinvocationonport">
+               <message>%inv_AddFlowPropertyValueOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort</message>
+                <description>%inv_AddFlowPropertyValueOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort</description>
+               <![CDATA[%ocl_AddFlowPropertyValueOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort]]>
+            </constraint>       
+                                                                                                        
+         </constraints>                  
+      </constraintProvider>
+    <constraintProvider
+          cache="false"
+          mode="Batch">
+       <package
+             namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements">
+       </package>
+       <constraints
+             categories="org.eclipse.papyrus.sysml16.validation.category.optional">
+          <constraint
+                id="constraint.requirement.requireId"
+                isEnabledByDefault="true"
+                lang="OCLpivot"
+                mode="Batch"
+                name="requirement.requireId"
+                severity="WARNING"
+                statusCode="1">
+             %ocl_RequirementId
+             <message>
+                %inv_RequirementId
+             </message>
+             <description>
+                %inv_RequirementId
+             </description>
+          </constraint>
+          <constraint
+                id="constraint.requirement.requireText"
+                isEnabledByDefault="true"
+                lang="OCLpivot"
+                mode="Batch"
+                name="requirement.requireText"
+                severity="WARNING"
+                statusCode="1">
+             %ocl_RequirementText
+             <message>
+                %inv_RequirementText
+             </message>
+             <description>
+                %inv_RequirementText
+             </description>
+          </constraint>
+       </constraints>
+       <constraints
+             categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+          <constraint
+                id="constraint.requirement.emptyownedattribute"
+                isEnabledByDefault="true"
+                lang="OCLpivot"
+                mode="Batch"
+                name="requirement.emptyownedattribute"
+                severity="ERROR"
+                statusCode="3">
+             %ocl_RequirementEmptyOwnedAttribute
+             <message>
+                %inv_RequirementEmptyOwnedAttribute
+             </message>
+             <description>
+                %inv_RequirementEmptyOwnedAttribute
+             </description>
+          </constraint>
+          <constraint
+                id="constraint.requirement.emptyownedoperation"
+                isEnabledByDefault="true"
+                lang="OCLpivot"
+                mode="Batch"
+                name="requirement.emptyownedoperation"
+                severity="ERROR"
+                statusCode="3">
+             %ocl_RequirementEmptyOwnedOperation
+             <message>
+                %inv_RequirementEmptyOwnedOperation
+             </message>
+             <description>
+                %inv_RequirementEmptyOwnedOperation
+             </description>
+          </constraint>
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.requirements.RequirementNestedRequirementModelConstraint"
+                id="constraint.requirement.nestedrequirement"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="requirement.nestedrequirement"
+                severity="ERROR"
+                statusCode="3">
+             <message>
+                %inv_RequirementNestedRequirementModelConstraint
+             </message>
+             <description>
+                %inv_RequirementNestedRequirementModelConstraint
+             </description>
+          </constraint>
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.requirements.RequirementNoAssociationModelConstraint"
+                id="constraint.requirement.noassociation"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="requirement.noassociation"
+                severity="ERROR"
+                statusCode="3">
+             <message>
+                %inv_RequirementNoAssociationModelConstraint
+             </message>
+             <description>
+                %inv_RequirementNoAssociationModelConstraint
+             </description>
+          </constraint>
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.requirements.RequirementNoGeneralizationModelConstraint"
+                id="constraint.requirement.nogeneralization"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="requirement.nogeneralization"
+                severity="ERROR"
+                statusCode="3">
+             <message>
+                %inv_RequirementNoGeneralizationModelConstraint
+             </message>
+             <description>
+                %inv_RequirementNoGeneralizationModelConstraint
+             </description>
+          </constraint>
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.requirements.RequirementNotTypeModelConstraint"
+                id="constraint.requirement.notype"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="requirement.notype"
+                severity="ERROR"
+                statusCode="3">
+             <message>
+                %inv_RequirementNotType
+             </message>
+             <description>
+                %inv_RequirementNotType
+             </description>
+          </constraint>
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.requirements.DeriveReqtClientModelConstraint"
+                id="constraint.derivereqt.client"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="derivereqt.client"
+                severity="ERROR"
+                statusCode="3">
+             <message>
+                %inv_DeriveReqtClientModelConstraint
+             </message>
+             <description>
+                %inv_DeriveReqtClientModelConstraint
+             </description>
+          </constraint>
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.requirements.DeriveReqtSupplierModelConstraint"
+                id="constraint.derivereqt.supplier"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="derivereqt.supplier"
+                severity="ERROR"
+                statusCode="3">
+             <message>
+                %inv_DeriveReqtSupplierModelConstraint
+             </message>
+             <description>
+                %inv_DeriveReqtSupplierModelConstraint
+             </description>
+          </constraint>
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.requirements.RefineOneClientSupplierModelConstraint"
+                id="constraint.refine.oneclientsupplier"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="refine.oneclientsupplier"
+                severity="ERROR"
+                statusCode="3">
+             <message>
+                %inv_RefineOneClientSupplierModelConstraint
+             </message>
+             <description>
+                %inv_RefineOneClientSupplierModelConstraint
+             </description>
+          </constraint>
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.requirements.VerifySupplierModelConstraint"
+                id="constraint.verify.supplier"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="verify.supplier"
+                severity="ERROR"
+                statusCode="3">
+             <message>
+                %inv_VerifySupplierModelConstraint
+             </message>
+             <description>
+                %inv_VerifySupplierModelConstraint
+             </description>
+          </constraint>
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.requirements.SatisfySupplierModelConstraint"
+                id="constraint.satisfy.supplier"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="satisfy.supplier"
+                severity="ERROR"
+                statusCode="3">
+             <message>
+                %inv_SatisfySupplierModelConstraint
+             </message>
+             <description>
+                %inv_SatisfySupplierModelConstraint
+             </description>
+          </constraint>
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.requirements.TraceDependencyModelConstraint"
+                id="constraint.trace.dependency"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="trace.dependency"
+                severity="ERROR"
+                statusCode="3">
+             <message>
+                %inv_TraceDependencyModelConstraint
+             </message>
+             <description>
+                %inv_TraceDependencyModelConstraint
+             </description>
+          </constraint>
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.requirements.CopyBetweenRequirementsModelConstraint"
+                id="constraint.copy.betweenrequirements"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="copy.betweenrequirements"
+                severity="ERROR"
+                statusCode="3">
+             <message>
+                %inv_CopyBetweenRequirementsModelConstraint
+             </message>
+             <description>
+                %inv_CopyBetweenRequirementsModelConstraint
+             </description>
+          </constraint>
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.requirements.CopyReadOnlyModelConstraint"
+                id="constraint.copy.readonly"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="copy.readonly"
+                severity="ERROR"
+                statusCode="3">
+             <message>
+                %inv_CopyReadOnlyModelConstraint
+             </message>
+             <description>
+                %inv_CopyReadOnlyModelConstraint
+             </description>
+          </constraint>
+          <constraint
+                class="org.eclipse.papyrus.sysml16.validation.rules.requirements.TestCaseParamVerdictKindModelConstraint"
+                id="constraint.testcase.parameterverdictkind"
+                isEnabledByDefault="true"
+                lang="Java"
+                mode="Batch"
+                name="testcase.parameterverdictkind"
+                severity="ERROR"
+                statusCode="3">
+             <message>
+                %inv_TestCaseParameterVerdictKindModelConstraint
+             </message>
+             <description>
+                %inv_TestCaseParameterVerdictKindModelConstraint
+             </description>
+          </constraint>
+       </constraints>
+    </constraintProvider>
+   </extension>
+   <extension name="org.eclipse.papyrus.sysml16.validation.constraintBindings" point="org.eclipse.emf.validation.constraintBindings">
+      
+      <!-- UML fake context (should be replaced by filter see Bug 487500)-->
+      <clientContext id="TrueContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.TrueSelector"/>
+      </clientContext>
+      <binding context="TrueContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.block.property.asssociationend"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.block.associationBlock"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.block.specialization"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.block.propertynoname"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.nestedConnectorEnd.missing"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.valuetype.specializationsarevaluetypes"/> 
+      </binding>  
+       
+      <!-- Requirement Context -->
+      <clientContext id="CopyClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.CopySelector"/>
+      </clientContext>    
+      <binding context="CopyClientContext">
+     	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.copy.betweenrequirements"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.copy.readonly"/>
+      </binding>
+      <clientContext id="DeriveReqtClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.DeriveReqtSelector"/>
+      </clientContext>
+      <binding context="DeriveReqtClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.derivereqt.client"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.derivereqt.supplier"/>
+      </binding>
+      <clientContext id="RefineClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.RefineSelector"/>
+      </clientContext>  
+      <binding context="RefineClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.refine.oneclientsupplier"/>
+      </binding>                  
+      <clientContext id="RequirementClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.RequirementSelector"/>
+      </clientContext>    
+      <binding context="RequirementClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.requireId"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.requireText"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.emptyownedattribute"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.emptyownedoperation"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.nestedrequirement"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.noassociation"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.nogeneralization"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.notype"/>
+      </binding>
+      <clientContext id="TestCaseClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.TestCaseSelector"/>
+      </clientContext>    
+      <binding context="TestCaseClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.testcase.parameterverdictkind"/>
+      </binding>      
+      <clientContext id="SatisfyClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.SatisfySelector"/>
+      </clientContext>    
+      <binding context="SatisfyClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.satisfy.supplier"/>
+      </binding>       
+      <clientContext id="TraceClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.TraceSelector"/>
+      </clientContext>    
+      <binding context="TraceClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.trace.dependency"/>
+      </binding>           
+      <clientContext id="VerifyClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.VerifySelector"/>
+      </clientContext>    
+      <binding context="VerifyClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.verify.supplier"/>
+      </binding>           
+      
+      <!-- Blocks context -->  
+      <clientContext id="BoundReferenceContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.BoundReferenceSelector"/>
+      </clientContext>
+      <binding context="BoundReferenceContext">
+      	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.1"/>
+      	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.2"/>
+      	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.4"/>
+      	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.5"/>
+      	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.6"/>
+      	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.7"/>
+      	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.8"/>
+      </binding>  
+  
+      <clientContext id="DirectedRelationshipPropertyPathContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.DirectedRelationshipPropertyPathSelector"/>
+      </clientContext>
+      <binding context="DirectedRelationshipPropertyPathContext">
+      	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.requiresourcecontext"/>
+      	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.requiretargetcontext"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.sourcefirst"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.targetfirst"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.sourcelast"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.targetlast"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.sourcecontextifproperty"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.targetcontextifproperty"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.sourcepropertypathimpliesproperty"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.targetpropertypathimpliesproperty"/>
+      </binding>    
+
+      <clientContext id="BlockContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.BlockSelector"/>
+      </clientContext>
+      <binding context="BlockContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.block.propertycomposite"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.block.connectortwoends"/>
+      </binding>             
+ 
+      <clientContext id="ElementPropertyPathContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ElementPropertyPathSelector"/>
+      </clientContext>
+      <binding context="ElementPropertyPathContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.elementpropertypath.propertiesowner"/>
+      </binding>              
+      
+      <clientContext id="NestedConnectorEndClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.NestedConnectorEndSelector"/>
+      </clientContext>
+      <binding context="NestedConnectorEndClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.nestedconnectorend.onlyconnectorends"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.nestedconnectorend.lastproperty"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.nestedconnectorend.firstproperty"/>
+      </binding>   
+
+     <clientContext id="PropertySpecificTypeMissingNameClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.PropertySpecificTypeSelector"/>
+      </clientContext>
+      <binding context="PropertySpecificTypeMissingNameClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.propertyspecifictype.missingname"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.propertyspecifictype.uniqueproperty"/>
+      </binding> 
+
+       <clientContext id="EndPathMultiplicityClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.EndPathMultiplicitySelector"/>
+      </clientContext>
+      <binding context="EndPathMultiplicityClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.endpathmultiplicity.boundreferenceproperty"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.endpathmultiplicity.notnegative"/>
+      </binding>       
+      
+      <clientContext id="DistributedPropertyClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.DistributedPropertySelector"/>
+      </clientContext>
+      <binding context="DistributedPropertyClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.distributedproperty.typedby"/>
+      </binding>      
+      
+       <clientContext id="ClassifierBehaviorPropertyContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ClassifierBehaviorPropertySelector"/>
+      </clientContext>
+      <binding context="ClassifierBehaviorPropertyContext">
+     	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.classifierbehaviorproperty.onblock"/>
+      	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.classifierbehaviorproperty.iscomposite"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.classifierbehaviorproperty.typedby"/>
+      </binding>        
+  
+      <clientContext id="ConnectorPropertyClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ConnectorPropertySelector"/>
+      </clientContext>
+      <binding context="ConnectorPropertyClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.connectorproperty.onlyonblock"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.connectorproperty.onlycomposite"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.connectorproperty.referownedconnector"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.connectorproperty.samename"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.connectorproperty.typedbyassociationblock"/>       
+      </binding>
+
+      <clientContext id="BindingConnectorClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.BindingConnectorSelector"/>
+      </clientContext>
+      <binding context="BindingConnectorClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.bindingconnector.sameendstype"/>       
+      </binding>
+
+      <clientContext id="ParticipantPropertyClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ParticipantPropertySelector"/>
+      </clientContext>
+      <binding context="ParticipantPropertyClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.participantproperty.endmultiplicity"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.participantproperty.noassociationmemberends"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.participantproperty.onlyassociationblock"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.participantproperty.onlynoneaggregation"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.participantproperty.sameend"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.participantproperty.sametype"/>      
+      </binding>
+       
+      <clientContext id="ValueTypeClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ValueTypeSelector"/>
+      </clientContext>
+      <binding context="ValueTypeClientContext">   
+      	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.valuetype.unit"/>   
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.valuetype.quantitykind"/>   
+      </binding>
+       
+       <!-- ModelElements context -->
+      <clientContext id="ExposeClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ExposeSelector"/>
+      </clientContext>
+      <binding context="ExposeClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.expose.clientview"/>
+      </binding>        
+      <clientContext id="ConformClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ConformSelector"/>
+      </clientContext>
+      <binding context="ConformClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.conform.generalviewpoint"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.conform.specificview"/>
+      </binding>         
+      <clientContext id="StakeholderClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.StakeholderSelector"/>
+      </clientContext>
+      <binding context="StakeholderClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.stakeholder.notassociation"/>
+      </binding>    
+      
+      <clientContext id="ViewClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ViewSelector"/>
+      </clientContext>
+      <binding context="ViewClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.view.singleviewpoint"/>
+      </binding>   
+          
+     <clientContext id="ViewpointClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ViewpointSelector"/>
+      </clientContext>
+      <binding context="ViewpointClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.viewpoint.ownedview"/>
+      </binding> 
+            
+      <!-- Activities context -->
+      <clientContext id="OperationClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.OperationSelector"/>
+      </clientContext>
+      <binding context="OperationClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.operation.controloperator.parameterscontrolvalue"/>
+      </binding>
+      
+      <clientContext id="BehaviorClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.BehaviorSelector"/>
+      </clientContext>
+      <binding context="BehaviorClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.behavior.controloperator.parameterscontrolvalue"/>
+      </binding>
+      
+      <clientContext id="ControlOperatorClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ControlOperatorSelector"/>
+      </clientContext>
+      <binding context="ControlOperatorClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.controloperator.operationmethod"/>
+      </binding>
+      
+      <clientContext id="OptionalClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.OptionalSelector"/>
+      </clientContext>
+      <binding context="OptionalClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.optional.multiplicity"/>
+      </binding>       
+       
+      <clientContext id="DiscreteClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.DiscreteSelector"/>
+      </clientContext>
+      <binding context="DiscreteClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.discrete.nocontinuous"/>
+      </binding>    
+            
+      <clientContext id="NoBufferClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.NoBufferSelector"/>
+      </clientContext>     
+      <binding context="NoBufferClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.nobuffer.nooverwrite"/>
+      </binding>  
+      
+      <clientContext id="OverwriteClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.OverwriteSelector"/>
+      </clientContext>     
+      <binding context="OverwriteClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.overwrite.nonobuffer"/>
+      </binding>  
+      
+      <clientContext id="RateClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.RateSelector"/>
+      </clientContext>     
+      <binding context="RateClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.rate.parameterisstream"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.rate.parameterlessinout"/>
+      </binding> 
+                 
+       <clientContext id="ProbabilityClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ProbabilitySelector"/>
+      </clientContext>     
+      <binding context="ProbabilityClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.probability.alledges"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.probability.baseelement"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.probability.outputparameters"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.probability.allparameterset"/>
+      </binding> 
+         
+ 	  <!-- Alocations context -->
+      <clientContext id="AllocateClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.AllocateSelector"/>
+      </clientContext>
+      <binding context="AllocateClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.allocate.oneclientsupplier"/>
+      </binding>
+      
+      <clientContext id="AllocateActivityPartitionClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.AllocateActivityPartitionSelector"/>
+      </clientContext>
+      <binding context="AllocateActivityPartitionClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.allocateactivitypartition.actionsonclientends"/>
+      </binding>            
+         
+      <!-- Ports and Flows -->
+      <clientContext id="ItemFlowClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ItemFlowSelector"/>
+      </clientContext>
+      <binding context="ItemFlowClientContext">
+         <!--constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.itemflow.sourceandtargetlinked"/-->
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.itemflow.propertytypedby"/>
+         <!--constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.itemflow.itempropertycommonowner"/-->
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.itemflow.associationxoritemproperty"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.itemflow.sametype"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.itemflow.sameproperty"/>
+      </binding>  
+      
+      <clientContext id="InvocationOnNestedPortActionClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.InvocationOnNestedPortActionSelector"/>
+      </clientContext>
+      <binding context="InvocationOnNestedPortActionClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.invocationonnestedportaction.requiredonport"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.invocationonnestedportaction.pathconsistency"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.invocationonnestedportaction.onnestedportfirstownedbytargettype"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.invocationonnestedportaction.onnestedportlasttypeownsinvocationonport"/>
+      	 </binding>  
+      
+        <clientContext id="DirectedFeatureClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.DirectedFeatureSelector"/>
+      </clientContext>
+      <binding context="DirectedFeatureClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedfeature.onlybehavioral"/>
+      </binding>  
+ 
+        <clientContext id="ChangeStructuralFeatureEventClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ChangeStructuralFeatureEventSelector"/>
+      </clientContext>
+      <binding context="ChangeStructuralFeatureEventClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.changestrucuralfeatureevent.onefeaturingclassifier"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.changestrucuralfeatureevent.notstatic"/>
+      </binding>        
+           
+       <clientContext id="ChangeStructuralFeatureEventClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ChangeStructuralFeatureEventSelector"/>
+      </clientContext>
+      <binding context="ChangeStructuralFeatureEventClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.changestrucuralfeatureevent.onefeaturingclassifier"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.changestrucuralfeatureevent.notstatic"/>
+      </binding>        
+      
+      <clientContext id="FlowPropertyClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.FlowPropertySelector"/>
+      </clientContext>
+      <binding context="FlowPropertyClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.flowproperty.typedby"/>
+      </binding>   
+      
+      <clientContext id="FullPortClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.FullPortSelector"/>
+      </clientContext>
+      <binding context="FullPortClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.fullport.notproxyport"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.fullport.notboundtofullport"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.fullport.notbehavioral"/>
+      </binding> 
+      
+      <clientContext id="InterfaceBlockClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.InterfaceBlockSelector"/>
+      </clientContext>     
+      <binding context="InterfaceBlockClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.interfaceblock.porttype"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.interfaceblock.nobehavior"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.interfaceblock.nocompositeproperty"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.interfaceblock.isconguratednotused"/>
+      </binding> 
+      
+      <clientContext id="ConjugatedInterfaceBlockClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ConjugatedInterfaceBlockSelector"/>
+      </clientContext>     
+      <binding context="ConjugatedInterfaceBlockClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.conjugatedinterfaceblock.enforcedname"/>
+      </binding>
+      
+      <clientContext id="AcceptChangeStructuralFeatureEventActionClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.AcceptChangeStructuralFeatureEventActionSelector"/>
+      </clientContext>     
+      <binding context="AcceptChangeStructuralFeatureEventActionClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.acceptchangestructuralfeatureeventaction.onetrigger"/>
+       	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.acceptchangestructuralfeatureeventaction.tworesultpin"/>
+       	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.acceptchangestructuralfeatureeventaction.contextownsstructuralfeature"/>
+       	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.acceptchangestructuralfeatureeventaction.canaccessstructuralfeature"/>
+      </binding>
+      
+      <clientContext id="AddFlowPropertyValueOnNestedPortActionClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.AddFlowPropertyValueOnNestedPortActionSelector"/>
+      </clientContext>     
+      <binding context="AddFlowPropertyValueOnNestedPortActionClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.addflowpropertyvalueonnestedportaction.featureflowproperty"/>
+       	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.addflowpropertyvalueonnestedportaction.onnestedportfirstownedbytargettype"/>
+       	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.addflowpropertyvalueonnestedportaction.pathconsistency"/>
+       	 <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.addflowpropertyvalueonnestedportaction.onnestedportlasttypeownsinvocationonport"/>
+      </binding>
+      
+      <clientContext id="ProxyPortClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ProxyPortSelector"/>
+      </clientContext>  
+      <binding context="ProxyPortClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.proxyport.notfullport"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.proxyport.typedinterfaceblock"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.proxyport.innerproxyport"/>
+      </binding>
+      
+      <clientContext id="TriggerOnNestedPortClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.TriggerOnNestedPortSelector"/>
+      </clientContext>  
+      <binding context="TriggerOnNestedPortClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.triggeronnestedport.triggeronnestedportsingleproxyport"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.triggeronnestedport.triggeronnestedportnofullport"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.triggeronnestedport.triggeronnestedportonnextedportfirstownedbycontext"/>
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.triggeronnestedport.triggeronnestedportpathconsistency"/>
+         <!--constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.triggeronnestedport.triggeronnestedportonnestedportlasttypeownstriggerport"/-->
+      </binding>
+      
+      <!-- ContraintBlocks -->
+      <clientContext id="ConstraintBlockClientContext">
+         <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ConstraintBlockSelector"/>
+      </clientContext>
+      <binding context="ConstraintBlockClientContext">
+         <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.constraintblock.composite"/>
+      </binding>
+   </extension>
+</plugin>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/pom.xml b/plugins/core/org.eclipse.papyrus.sysml16.validation/pom.xml
new file mode 100644
index 0000000..9c600a6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/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.sysml16.core</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.validation</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.validation</name>
+	<description>This plug-in contains the tooling to validate ocl rules on SysML 1.6 models.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/Activator.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/Activator.java
new file mode 100644
index 0000000..1945b09
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/Activator.java
@@ -0,0 +1,107 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+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.sysml16.validation"; //$NON-NLS-1$
+
+	/**
+	 * The shared instance.
+	 */
+	private static Activator plugin;
+
+	/**
+	 * The constructor.
+	 */
+	public Activator() {
+		// Do nothing
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(final BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void stop(final BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance.
+	 *
+	 * @return the shared instance.
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * Log the status.
+	 * 
+	 * @param status
+	 *            The status.
+	 */
+	public static void log(final IStatus status) {
+		Activator.getDefault().getLog().log(status);
+	}
+
+	/**
+	 * Log the message.
+	 * 
+	 * @param severity
+	 *            The severity.
+	 * @param message
+	 *            The message to log.
+	 */
+	public static void log(final int severity, final String message) {
+		log(new Status(severity, PLUGIN_ID, message));
+	}
+
+	/**
+	 * Log the exception.
+	 * 
+	 * @param throwable
+	 *            The error to log.
+	 */
+	public static void log(final Throwable throwable) {
+		log(new Status(IStatus.ERROR, PLUGIN_ID, "An exception occured", throwable)); //$NON-NLS-1$
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/internal/utils/DiagnosticUtil.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/internal/utils/DiagnosticUtil.java
new file mode 100644
index 0000000..4f4686d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/internal/utils/DiagnosticUtil.java
@@ -0,0 +1,75 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.internal.utils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * This is an utility class for managing Diagnostic
+ */
+// TODO : this functionalities should be provided by Papyrus core or other upper framework
+public final class DiagnosticUtil {
+
+	private DiagnosticUtil() {
+	}
+
+	/**
+	 * Find diagnostic by source (Should be unique per element if the source is correctly defined)
+	 * 
+	 * @param diagnostic
+	 * @param source
+	 * @return
+	 */
+	public static List<Diagnostic> findDiagnosticBySource(Diagnostic diagnostic, String source) {
+		List<Diagnostic> foundDiagnostic = new ArrayList<>();
+		List<Diagnostic> children = diagnostic.getChildren();
+		if (source.equals(diagnostic.getSource())) {
+			foundDiagnostic.add(diagnostic);
+		}
+		if (children != null && !children.isEmpty()) {
+			for (Diagnostic diagnosticChild : children) {
+				foundDiagnostic.addAll(findDiagnosticBySource(diagnosticChild, source));
+			}
+		}
+		return foundDiagnostic;
+	}
+
+	/**
+	 * Get diagnostics by element
+	 * 
+	 * @param diagnostics
+	 * @param element
+	 * @return
+	 */
+	public static List<Diagnostic> filterDiagnosticsByElement(List<Diagnostic> diagnostics, Element element) {
+		List<Diagnostic> filteredDiagnostics = new ArrayList<>();
+		for (Diagnostic diagnostic : diagnostics) {
+			List<?> datas = diagnostic.getData();
+			if (datas != null && !datas.isEmpty()) {
+				// According to Diagnostic#getData documentation : The first element is typically the object that is the primary source of the problem;
+				if (element.equals(datas.get(0))) {
+					filteredDiagnostics.add(diagnostic);
+				}
+			}
+		}
+		return filteredDiagnostics;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/quickfix/ConsumerElementMarkerResolution.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/quickfix/ConsumerElementMarkerResolution.java
new file mode 100644
index 0000000..a9f8a61
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/quickfix/ConsumerElementMarkerResolution.java
@@ -0,0 +1,83 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.quickfix;
+
+import java.util.function.Consumer;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForEObject;
+import org.eclipse.papyrus.infra.ui.util.ServiceUtilsForHandlers;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.ui.IMarkerResolution;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * A generic class to solve a problem with an UML element consumer very handy for simple use case.
+ */
+public class ConsumerElementMarkerResolution<T extends Element> implements IMarkerResolution {
+
+	private String label;
+	private Consumer<T> consumer;
+
+	public ConsumerElementMarkerResolution(String label, Consumer<T> consumer) {
+		this.label = label;
+		this.consumer = consumer;
+	}
+
+	public String getLabel() {
+		return label;
+	}
+
+	public void run(IMarker marker) {
+		try {
+			Object uri = marker.getAttribute("uri");
+			if (uri instanceof String) {
+				ModelSet currentModelSet = ServiceUtilsForHandlers.getInstance().getModelSet(null);
+				EObject eObject = currentModelSet.getEObject(URI.createURI((String) uri), true);
+				if (eObject instanceof Element) {
+					Element element = (Element) eObject;
+					InternalTransactionalEditingDomain transactionalEditingDomain = (InternalTransactionalEditingDomain) ServiceUtilsForEObject
+							.getInstance().getTransactionalEditingDomain(element);
+					RecordingCommand unapplyStereotypeCommand = new RecordingCommand(transactionalEditingDomain,
+							label) {
+
+						@SuppressWarnings("unchecked")
+						@Override
+						protected void doExecute() {
+							try {
+								consumer.accept((T) element);
+							} catch (ClassCastException e) {
+								Activator.log(e); // When using generic ensure that the referenced element can be cast
+							}
+
+						}
+					};
+					transactionalEditingDomain.getCommandStack().execute(unapplyStereotypeCommand);
+					marker.delete();
+				}
+			}
+		} catch (ServiceException | CoreException e) {
+			Activator.log(e);
+		}
+	}
+}
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/quickfix/SysMLMarkerResolutionGenerator.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/quickfix/SysMLMarkerResolutionGenerator.java
new file mode 100644
index 0000000..52dbf06
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/quickfix/SysMLMarkerResolutionGenerator.java
@@ -0,0 +1,138 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.quickfix;
+
+import java.util.Optional;
+import java.util.Set;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.gmf.runtime.emf.core.util.CrossReferenceAdapter;
+import org.eclipse.ui.IMarkerResolution;
+import org.eclipse.ui.IMarkerResolutionGenerator;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * Provide the list of specific solutions for problems related to SysML 1.6.
+ */
+public class SysMLMarkerResolutionGenerator implements IMarkerResolutionGenerator {
+
+	public IMarkerResolution[] getResolutions(IMarker mk) {
+		try {
+
+			Object source = mk.getAttribute("source");
+			if (source instanceof String) {
+				switch ((String) source) {
+				case "org.eclipse.papyrus.sysml16.validation.constraint.discrete.nocontinuous": // See DiscreteNoContinuousModelConstraint
+					return new IMarkerResolution[] {
+							new ConsumerElementMarkerResolution<Element>("Unapply stereotype Continuous", element -> element.unapplyStereotype(element.getAppliedStereotype("SysML::Activities::Continuous"))),
+							new ConsumerElementMarkerResolution<Element>("Unapply stereotype Discrete", element -> element.unapplyStereotype(element.getAppliedStereotype("SysML::Activities::Discrete"))),
+					};
+				case "org.eclipse.papyrus.sysml16.validation.constraint.requirement.emptyownedattribute":
+					return new IMarkerResolution[] {
+							new ConsumerElementMarkerResolution<Element>("Remove all attributes from Requirement", element -> element.getOwnedElements().forEach(Element::destroy)),
+					};
+				case "org.eclipse.papyrus.sysml16.validation.constraint.verify.supplier":
+					return new IMarkerResolution[] {
+							new ConsumerElementMarkerResolution<Element>("Delete element", Element::destroy),
+					};
+				case "org.eclipse.papyrus.sysml16.validation.constraint.rate.parameterisstream":
+					return new IMarkerResolution[] {
+							new ConsumerElementMarkerResolution<Parameter>("Set stream to true", parameter -> parameter.setIsStream(true)),
+					};
+				case "org.eclipse.papyrus.sysml16.validation.constraint.block.specialization":
+					return new IMarkerResolution[] {
+							new ConsumerElementMarkerResolution<Element>("Apply Block stereotype", element -> element.applyStereotype(element.getApplicableStereotype("SysML::Blocks::Block"))),
+					};
+				case "org.eclipse.papyrus.sysml16.validation.constraint.propertyspecifictype.missingname":
+					return new IMarkerResolution[] {
+							new ConsumerElementMarkerResolution<Classifier>("Empty classifier name", classifier -> classifier.setName(null)),
+					};
+				case "org.eclipse.papyrus.sysml16.validation.constraint.requirement.nogeneralization":
+					return new IMarkerResolution[] {
+							new ConsumerElementMarkerResolution<Class>("Destroy the generalisation", clazz -> clazz.getGeneralizations().forEach(Element::destroy)),
+					};
+				case "org.eclipse.papyrus.sysml16.validation.constraint.connectorproperty.onlyonblock":
+					return new IMarkerResolution[] {
+							new ConsumerElementMarkerResolution<Property>("Apply Block stereotype on owner", property -> property.getOwner().applyStereotype(property.getOwner().getApplicableStereotype("SysML::Blocks::Block"))),
+					};
+
+				case "org.eclipse.papyrus.sysml16.validation.constraint.requirement.notype":
+					return new IMarkerResolution[] {
+							new ConsumerElementMarkerResolution<org.eclipse.uml2.uml.Class>("Remove type",
+									clazz -> {
+										CrossReferenceAdapter crossReferenceAdapter = CrossReferenceAdapter.getCrossReferenceAdapter(TransactionUtil.getEditingDomain(clazz).getResourceSet());
+										Set<?> inverseReferencers = crossReferenceAdapter.getInverseReferencers(clazz, UMLPackage.eINSTANCE.getTypedElement_Type(), null);
+										if (inverseReferencers != null && !inverseReferencers.isEmpty()) {
+											for (Object object : inverseReferencers) {
+												if (object instanceof Property) {
+													((Property) object).setType(null);
+												}
+											}
+										}
+									}),
+							new ConsumerElementMarkerResolution<org.eclipse.uml2.uml.Class>("Unapply stereotype Requirement", clazz -> clazz.unapplyStereotype(clazz.getAppliedStereotype("SysML::Requirements::Requirement"))),
+					};
+				case "org.eclipse.papyrus.sysml16.validation.constraint.distributedproperty.typedby":
+					return new IMarkerResolution[] {
+							new ConsumerElementMarkerResolution<Property>("Apply Block stereotype on owner",
+									property -> Optional.ofNullable(property.getOwner().getApplicableStereotype("SysML::Blocks::Block")).ifPresent(applicableStereotype -> property.getOwner().applyStereotype(applicableStereotype))),
+							new ConsumerElementMarkerResolution<Property>("Apply ValueType stereotype on owner",
+									property -> Optional.ofNullable(property.getOwner().getApplicableStereotype("SysML::Blocks::ValueType")).ifPresent(applicableStereotype -> property.getOwner().applyStereotype(applicableStereotype))),
+					};
+				case "org.eclipse.papyrus.sysml16.validation.constraint.viewpoint.ownedview":
+					return new IMarkerResolution[] {
+							new ConsumerElementMarkerResolution<org.eclipse.uml2.uml.Class>("Create View operation", clazz -> {
+								Operation operation = clazz.createOwnedOperation("View", null, null);
+								operation.applyStereotype(operation.getApplicableStereotype("StandardProfile::Create"));
+							}),
+					};
+				case "org.eclipse.papyrus.sysml16.validation.constraint.block.property.asssociationend":
+					return new IMarkerResolution[] {
+							new ConsumerElementMarkerResolution<Property>("Create association for Property",
+									property -> {
+										Association association = UMLFactory.eINSTANCE.createAssociation();
+										association.setPackage(property.getNearestPackage());
+										association.getMemberEnds().add(property);
+										Property targetProperty = UMLFactory.eINSTANCE.createProperty();
+										targetProperty.setType(property.getClass_());
+										association.getOwnedEnds().add(targetProperty);
+										association.getMemberEnds().add(targetProperty);
+										property.setAggregation(AggregationKind.COMPOSITE_LITERAL);
+									}),
+					};
+				default:
+					// TODO: when most quick fixes are done set a logger
+					// mk.getAttributes().forEach((k, v) -> System.out.println("(" + k + " , " + v + ")"));
+					break;
+				}
+			}
+		} catch (CoreException e) { // missing source of error => no resolution available
+			return new IMarkerResolution[0];
+		}
+		return new IMarkerResolution[0];
+	}
+}
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/BehaviorParametersControlValueModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/BehaviorParametersControlValueModelConstraint.java
new file mode 100644
index 0000000..e13f5cb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/BehaviorParametersControlValueModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.ControlOperator;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 11.3.2.2 ControlOperator [1] When the <<ControlOperator>> stereotype is applied, the behavior or operation shall have at least one
+ * parameter typed by ControlValue. If the stereotype is not applied, the behavior or operation may not
+ * have any parameter typed by ControlValue.
+ */
+public class BehaviorParametersControlValueModelConstraint extends AbstractModelConstraint {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(final IValidationContext context) {
+		final Behavior behavior = (Behavior) context.getTarget();
+
+		// Check if the ControlOperator stereotype is applied on the behavior
+		boolean hasControlOperatorStereotype = false;
+		final Iterator<EObject> stereotypeApplications = behavior.getStereotypeApplications().iterator();
+		while (stereotypeApplications.hasNext() && !hasControlOperatorStereotype) {
+			hasControlOperatorStereotype = stereotypeApplications.next() instanceof ControlOperator;
+		}
+
+		// Check the constraint
+		for (final Parameter parameter : behavior.getOwnedParameters()) {
+			final Type type = parameter.getType();
+			if (null != type && type.getQualifiedName().equals("Libraries::ControlValues::ControlValueKind")) { //$NON-NLS-1$
+				return hasControlOperatorStereotype ? context.createSuccessStatus() : context.createFailureStatus(context.getTarget());
+			}
+		}
+
+		return hasControlOperatorStereotype ? context.createFailureStatus(context.getTarget()) : context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ControlOperatorOperationMethodModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ControlOperatorOperationMethodModelConstraint.java
new file mode 100644
index 0000000..d57d14f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ControlOperatorOperationMethodModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.ControlOperator;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 11.3.2.2 ControlOperator [2] A behavior shall have the <<ControlOperator>> stereotype applied if it is a method of an operation that
+ * has the <<ControlOperator>> stereotype applied.
+ */
+public class ControlOperatorOperationMethodModelConstraint extends AbstractModelConstraint {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(final IValidationContext context) {
+		final ControlOperator controlOperator = (ControlOperator) context.getTarget();
+		final Operation operation = controlOperator.getBase_Operation();
+
+		if (null != operation) {
+			for (final Behavior behavior : operation.getMethods()) {
+				if (null == UMLUtil.getStereotypeApplication(behavior, ControlOperator.class)) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/DiscreteNoContinuousModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/DiscreteNoContinuousModelConstraint.java
new file mode 100644
index 0000000..edcaaa0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/DiscreteNoContinuousModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Continuous;
+import org.eclipse.papyrus.sysml16.activities.Discrete;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 11.3.2.3 Discrete [1] The «discrete» and «continuous» stereotypes cannot be
+ * applied to the same element at the same time.
+ */
+public class DiscreteNoContinuousModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Discrete discrete = (Discrete) context.getTarget();
+
+		Parameter parameter = discrete.getBase_Parameter();
+		if (parameter != null && UMLUtil.getStereotypeApplication(parameter, Continuous.class) != null) {
+			return context.createFailureStatus(context.getTarget());
+		}
+
+		ObjectNode objectNode = discrete.getBase_ObjectNode();
+		if (objectNode != null && UMLUtil.getStereotypeApplication(objectNode, Continuous.class) != null) {
+			return context.createFailureStatus(context.getTarget());
+		}
+
+		ActivityEdge activityEdge = discrete.getBase_ActivityEdge();
+		if (activityEdge != null && UMLUtil.getStereotypeApplication(activityEdge, Continuous.class) != null) {
+			return context.createFailureStatus(context.getTarget());
+		}
+
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/OperationParametersControlValueModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/OperationParametersControlValueModelConstraint.java
new file mode 100644
index 0000000..14ed397
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/OperationParametersControlValueModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.ControlOperator;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 11.3.2.2 ControlOperator [1] When the <<ControlOperator>> stereotype is applied, the behavior or operation shall have at least one
+ * parameter typed by ControlValue. If the stereotype is not applied, the behavior or operation may not
+ * have any parameter typed by ControlValue.
+ */
+public class OperationParametersControlValueModelConstraint extends AbstractModelConstraint {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(final IValidationContext context) {
+		final Operation operation = (Operation) context.getTarget();
+
+		// Check if the ControlOperator stereotype is applied on the operation
+		boolean hasControlOperatorStereotype = false;
+		final Iterator<EObject> stereotypeApplications = operation.getStereotypeApplications().iterator();
+		while (stereotypeApplications.hasNext() && !hasControlOperatorStereotype) {
+			hasControlOperatorStereotype = stereotypeApplications.next() instanceof ControlOperator;
+		}
+
+		// Check the constraint
+		for (final Parameter parameter : operation.getOwnedParameters()) {
+			final Type type = parameter.getType();
+			if (null != type && type.getQualifiedName().equals("Libraries::ControlValues::ControlValueKind")) { //$NON-NLS-1$
+				return hasControlOperatorStereotype ? context.createSuccessStatus() : context.createFailureStatus(context.getTarget());
+			}
+		}
+
+		return hasControlOperatorStereotype ? context.createFailureStatus(context.getTarget()) : context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityAllEdgesModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityAllEdgesModelConstraint.java
new file mode 100644
index 0000000..dfb9def
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityAllEdgesModelConstraint.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Probability;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 11.3.2.7 Probability [2] When the «probability» stereotype is applied to an
+ * activity edge, then it must be applied to all edges coming out of the same
+ * source.
+ */
+public class ProbabilityAllEdgesModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Probability probability = (Probability) context.getTarget();
+		ActivityEdge activityEdge = probability.getBase_ActivityEdge();
+		if (activityEdge != null) {
+			ActivityNode source = activityEdge.getSource();
+			if (source != null) {
+				EList<ActivityEdge> outgoings = source.getOutgoings();
+				for (ActivityEdge outActivityEdge : outgoings) {
+					if (UMLUtil.getStereotypeApplication(outActivityEdge, Probability.class) != null) {
+						return context.createFailureStatus(context.getTarget());
+					}
+				}
+			}
+			if (!(source instanceof DecisionNode) && !(source instanceof ObjectNode)) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityBaseElementModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityBaseElementModelConstraint.java
new file mode 100644
index 0000000..80e79e7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityBaseElementModelConstraint.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Probability;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterDirectionKind;
+import org.eclipse.uml2.uml.ParameterSet;
+
+/**
+ * 11.3.2.7 Probability [1] The <<probability>> stereotype can only be applied to
+ * activity edges that have decision nodes or object nodes as sources, or to
+ * output parameter sets.
+ */
+public class ProbabilityBaseElementModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Probability probability = (Probability) context.getTarget();
+		ActivityEdge activityEdge = probability.getBase_ActivityEdge();
+		if (activityEdge != null) {
+			ActivityNode source = activityEdge.getSource();
+			if (!(source instanceof DecisionNode) && !(source instanceof ObjectNode)) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		ParameterSet parameterSet = probability.getBase_ParameterSet();
+		// What is an output parameter set? (I chose all parameters are OUT)
+		if (parameterSet != null) {
+			EList<Parameter> parameters = parameterSet.getParameters();
+			for (Parameter parameter : parameters) {
+				if (!ParameterDirectionKind.OUT_LITERAL.equals(parameter.getDirection())) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityOutputParametersModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityOutputParametersModelConstraint.java
new file mode 100644
index 0000000..214c32c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityOutputParametersModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Probability;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+
+/**
+ * 11.3.2.7 Probability [4] When the <<probability>> stereotype is applied to an
+ * output parameter set, all the output parameters shall be in some parameter
+ * set.
+ */
+public class ProbabilityOutputParametersModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Probability probability = (Probability) context.getTarget();
+		ParameterSet parameterSet = probability.getBase_ParameterSet();
+		// What is an output parameter set? (I chose all parameters are OUT)
+		if (parameterSet != null) {
+			EList<Parameter> parameters = parameterSet.getParameters();
+			for (Parameter parameter : parameters) {
+				EList<ParameterSet> parameterSets = parameter.getParameterSets();
+				if (parameterSets == null || parameterSets.isEmpty()) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityToAllParameterSetModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityToAllParameterSetModelConstraint.java
new file mode 100644
index 0000000..f19924f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityToAllParameterSetModelConstraint.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Probability;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 11.3.2.7 Probability [3] When the «probability» stereotype is applied to an
+ * output parameter set, it must also be applied to all the parameter sets of
+ * the behavior or operation owning the original parameter set.
+ */
+public class ProbabilityToAllParameterSetModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Probability probability = (Probability) context.getTarget();
+		ParameterSet parameterSet = probability.getBase_ParameterSet();
+		if (parameterSet != null) {
+			Element owner = parameterSet.getOwner();
+
+			// FIXME what is the link (constraint) to behavior or operation?
+			if (owner instanceof Behavior) {
+				Behavior behavior = (Behavior) owner;
+				EList<ParameterSet> ownedParameterSets = behavior.getOwnedParameterSets();
+				for (ParameterSet ownedParameterSet : ownedParameterSets) {
+					if (UMLUtil.getStereotypeApplication(ownedParameterSet, Probability.class) != null) {
+						return context.createFailureStatus(context.getTarget());
+					}
+				}
+			}
+			if (owner instanceof Operation) {
+				Operation operation = (Operation) owner;
+				EList<ParameterSet> ownedParameterSets = operation.getOwnedParameterSets();
+				for (ParameterSet ownedParameterSet : ownedParameterSets) {
+					if (UMLUtil.getStereotypeApplication(ownedParameterSet, Probability.class) != null) {
+						return context.createFailureStatus(context.getTarget());
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/RateParameterIsStreamModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/RateParameterIsStreamModelConstraint.java
new file mode 100644
index 0000000..19dc800
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/RateParameterIsStreamModelConstraint.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Rate;
+import org.eclipse.uml2.uml.Parameter;
+
+
+/**
+ * 11.3.2.8 Rate (SysML 1.6)
+ * [1] When the «rate» stereotype is applied to a parameter, the parameter must be streaming.
+ */
+public class RateParameterIsStreamModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Rate rate = (Rate) context.getTarget();
+		Parameter parameter = rate.getBase_Parameter();
+		if (parameter != null && !parameter.isStream()) {
+			return context.createFailureStatus(context.getTarget());
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/RateParameterLessInoutModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/RateParameterLessInoutModelConstraint.java
new file mode 100644
index 0000000..e50c8a4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/RateParameterLessInoutModelConstraint.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Rate;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 11.3.2.8 Rate [2] The rate of a parameter shall be less than or equal to rates
+ * on edges that come into or go out from pins and parameters nodes
+ * corresponding to the parameter.
+ */
+public class RateParameterLessInoutModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Rate rate = (Rate) context.getTarget();
+		Parameter parameter = rate.getBase_Parameter();
+		if (parameter != null) {
+			Element owner = parameter.getOwner();
+			if (owner instanceof ActivityNode) {
+				ActivityNode activityNode = (ActivityNode) owner;
+				EList<ActivityEdge> incomings = activityNode.getIncomings();
+				int sumRateValue = 0;
+				for (ActivityEdge activityEdge : incomings) {
+					Rate edgeRate = UMLUtil.getStereotypeApplication(activityEdge, Rate.class);
+					if (edgeRate != null) {
+						sumRateValue += getRateValue(edgeRate);
+					}
+				}
+				if (sumRateValue > getRateValue(rate)) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+
+		}
+		return context.createSuccessStatus();
+	}
+
+	// FIXME : add the method in rate
+	private int getRateValue(Rate rate) {
+		return 0;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/allocations/AllocateActivityPartitionActionsOnClientEndsModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/allocations/AllocateActivityPartitionActionsOnClientEndsModelConstraint.java
new file mode 100644
index 0000000..cea4669
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/allocations/AllocateActivityPartitionActionsOnClientEndsModelConstraint.java
@@ -0,0 +1,79 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.allocations;
+
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.allocations.Allocate;
+import org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 15.3.2.2 AllocateActivityPartition [2] An Action appearing in an "AllocateActivityPartition" shall be the /client (from) end of an "allocate"
+ * dependency. The element that represents the "AllocateActivityPartition" shall be the /supplier (to) end
+ * of the same "allocate" dependency. In the «AllocateActivityPartition» name field, Properties are
+ * designated by the use of a fully qualified name (including colon, e.g., "part_name:Block_Name"), and
+ * Classifiers are designated by a simple name (no colons, e.g., "Block_Name").
+ */
+public class AllocateActivityPartitionActionsOnClientEndsModelConstraint extends AbstractModelConstraint {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(final IValidationContext context) {
+		final AllocateActivityPartition allocateActivityPartition = (AllocateActivityPartition) context.getTarget();
+		final ActivityPartition activityPartition = allocateActivityPartition.getBase_ActivityPartition();
+
+		if (null != activityPartition) {
+			for (final ActivityNode node : activityPartition.getNodes()) {
+				if (node instanceof Action) {
+
+					// check if there is an allocate abstraction from (client) action to (supplier) activity representation
+					boolean found = false;
+					final Iterator<Relationship> relationshipIterator = node.getRelationships().iterator();
+					while (relationshipIterator.hasNext() && !found) {
+						final Relationship relationship = relationshipIterator.next();
+						if (relationship instanceof Abstraction &&
+								((Abstraction) relationship).getClients().contains(node) &&
+								((Abstraction) relationship).getSuppliers().contains(activityPartition.getRepresents()) &&
+								null != UMLUtil.getStereotypeApplication(relationship, Allocate.class)) {
+							found = true;
+						}
+					}
+
+					if (!found) {
+						return context.createFailureStatus(context.getTarget());
+					}
+				}
+			}
+
+		}
+
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/allocations/AllocateOneClientSupplierModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/allocations/AllocateOneClientSupplierModelConstraint.java
new file mode 100644
index 0000000..c8e71c0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/allocations/AllocateOneClientSupplierModelConstraint.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.allocations;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.allocations.Allocate;
+import org.eclipse.uml2.uml.Abstraction;
+
+/**
+ * 15.3.2.1 Allocate[2] A single «allocate» dependency shall have only one client
+ * (from) and one supplier (to).
+ */
+public class AllocateOneClientSupplierModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Allocate allocate = (Allocate) context.getTarget();
+
+		Abstraction abstraction = allocate.getBase_Abstraction();
+		if (abstraction != null) { // 15.3.2.1 Allocate[1] will fail
+			if (abstraction.getClients().size() != 1 || abstraction.getSuppliers().size() != 1) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/AssociationBlockModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/AssociationBlockModelConstraint.java
new file mode 100644
index 0000000..87753cb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/AssociationBlockModelConstraint.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.3 Block [1] For an association in which both ends are typed by blocks,
+ * the number of ends must be exactly two.
+ */
+public class AssociationBlockModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		EObject target = context.getTarget();
+		if (target instanceof Association) {
+			Association association = (Association) target;
+			EList<Property> memberEnds = association.getMemberEnds();
+			if (memberEnds != null && memberEnds.size() >= 2) {
+				Property firstProperty = memberEnds.get(0);
+				Property secondProperty = memberEnds.get(1);
+				if (firstProperty != null && secondProperty != null) {
+					Type firstType = firstProperty.getType();
+					Type secondType = secondProperty.getType();
+					if (firstType != null && secondType != null) {
+						if (memberEnds.size() != 2) {
+							if (UMLUtil.getStereotypeApplication(firstType, Block.class) != null
+									&& UMLUtil.getStereotypeApplication(secondType, Block.class) != null) {
+								return context.createFailureStatus(target);
+							}
+						}
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BindingConnectorSameEndsTypeModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BindingConnectorSameEndsTypeModelConstraint.java
new file mode 100644
index 0000000..74d4ebb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BindingConnectorSameEndsTypeModelConstraint.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.BindingConnector;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.2 Binding Connector [1] The two ends of a binding connector must have
+ * either the same type or types that are compatible so that equality of their
+ * values can be defined.
+ *
+ */
+public class BindingConnectorSameEndsTypeModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		BindingConnector bindingConnector = (BindingConnector) context.getTarget();
+		Connector connector = bindingConnector.getBase_Connector();
+		if (connector != null) {
+			EList<ConnectorEnd> ends = connector.getEnds();
+			Type sharedType = null;
+			for (ConnectorEnd connectorEnd : ends) {
+				ConnectableElement role = connectorEnd.getRole();
+				if (role != null) {
+					Type type = role.getType();
+					if (sharedType == null) {
+						sharedType = type;
+					} else if (!sharedType.equals(type)) {
+						return context.createFailureStatus(context.getTarget());
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockConnectorTwoEndsModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockConnectorTwoEndsModelConstraint.java
new file mode 100644
index 0000000..88affc9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockConnectorTwoEndsModelConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+
+/**
+ * 8.3.2.3 Block [2] The number of ends of a connector owned by a block must be
+ * exactly two.
+ */
+public class BlockConnectorTwoEndsModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Block block = (Block) context.getTarget();
+		Class clazz = block.getBase_Class();
+		if (clazz != null) {
+			EList<Connector> ownedConnectors = clazz.getOwnedConnectors();
+			for (Connector connector : ownedConnectors) {
+				EList<ConnectorEnd> ends = connector.getEnds();
+				if (ends == null || ends.size() != 2) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyAssociationEndModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyAssociationEndModelConstraint.java
new file mode 100644
index 0000000..d4a8d01
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyAssociationEndModelConstraint.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.3 Block [4] In the UML metamodel on which SysML is built,
+ * a Property that is typed by a block must be defined as an end of an association.
+ * (An inverse end of this association, whether owned by
+ * another block or the association itself, must always be present so there
+ * is always a metamodel element to record the inverse multiplicity of the reference.)
+ */
+public class BlockPropertyAssociationEndModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		EObject target = context.getTarget();
+		// FIXME: Literally the norm state the constraints for all properties
+		// but common sense would recommend to skip the constraint on certain Port
+		// SO: the question should be raised in SysML Forums... (More information: Bug 487500)
+		if (target instanceof Property && !(target instanceof Port)) {
+			Property property = (Property) target;
+			Type type = property.getType();
+			if (type != null && property.getAssociation() == null) {
+				if (UMLUtil.getStereotypeApplication(type, Block.class) != null) {
+					return context.createFailureStatus(target);
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyCompositeModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyCompositeModelConstraint.java
new file mode 100644
index 0000000..07b0c58
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyCompositeModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.3 Block [6] If a property owned by a SysML Block or SysML ValueType is
+ * typed by a SysML ValueType, then the aggregation attribute of the property
+ * must be «composite.»
+ * 
+ */
+public class BlockPropertyCompositeModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Block block = (Block) context.getTarget();
+		Class clazz = block.getBase_Class();
+		if (clazz != null) {
+			EList<Property> attributes = clazz.getAttributes();
+			for (Property property : attributes) {
+				Type type = property.getType();
+				if (type != null && UMLUtil.getStereotypeApplication(type, ValueType.class) != null) {
+					if (!AggregationKind.COMPOSITE_LITERAL.equals(property.getAggregation())) {
+						return context.createFailureStatus(context.getTarget());
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyNoNameModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyNoNameModelConstraint.java
new file mode 100644
index 0000000..faa0a9b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyNoNameModelConstraint.java
@@ -0,0 +1,70 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.3 Block [3] In the UML metamodel on which SysML is built, any instance
+ * of the Property metaclass that is typed by a block (a Class with the «block»
+ * stereotype applied) and which is owned by an Association may not have a name
+ * and may not be defined as a navigable owned end of the association. (While
+ * the Property has a «name» property as defined by its NamedElement
+ */
+public class BlockPropertyNoNameModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		EObject target = context.getTarget();
+		if (target instanceof Property) {
+			Property property = (Property) target;
+			Element owner = property.getOwner();
+			if (owner instanceof Association) {
+				Association association = (Association) owner;
+				Type type = property.getType();
+				if (type != null && UMLUtil.getStereotypeApplication(type, Block.class) != null) {
+					String name = property.getName();
+					if (name != null && !"".equals(name)) {//$NON-NLS-1$
+						return context.createFailureStatus(context.getTarget());
+					}
+
+					if (association.getNavigableOwnedEnds().contains(property)) {
+						return context.createFailureStatus(context.getTarget());
+					}
+				}
+
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockSpecializationModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockSpecializationModelConstraint.java
new file mode 100644
index 0000000..14041ed
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockSpecializationModelConstraint.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.3 Block [8] Any classifier that specializes a Block must also have the
+ * Block stereotype or one of its specializations applied.
+ */
+public class BlockSpecializationModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		EObject target = context.getTarget();
+		if (target instanceof Classifier) {
+			Classifier classifier = (Classifier) target;
+			if (UMLUtil.getStereotypeApplication(classifier, Block.class) == null) {
+				EList<Generalization> generalizations = classifier.getGeneralizations();
+				for (Generalization generalization : generalizations) {
+					Classifier general = generalization.getGeneral();
+					if (UMLUtil.getStereotypeApplication(general, Block.class) != null) {
+						return context.createFailureStatus(classifier);
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ClassifierBehaviorPropertyOnBlockModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ClassifierBehaviorPropertyOnBlockModelConstraint.java
new file mode 100644
index 0000000..455c28c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ClassifierBehaviorPropertyOnBlockModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.5 ClassifierBehaviorProperty
+ * [1] ClassifierBehaviorProperty may only be applied to properties owned (not inherited) by blocks that have classifier behaviors.
+ */
+public class ClassifierBehaviorPropertyOnBlockModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ClassifierBehaviorProperty classifierBehaviorProperty = (ClassifierBehaviorProperty) context.getTarget();
+		Property property = classifierBehaviorProperty.getBase_Property();
+		if (property != null) {
+			Element owner = property.getOwner();
+			if (owner instanceof org.eclipse.uml2.uml.Class) {
+				org.eclipse.uml2.uml.Class clazz = (org.eclipse.uml2.uml.Class) owner;
+				if (UMLUtil.getStereotypeApplication(clazz, Block.class) == null
+						|| clazz.getClassifierBehavior() == null) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ClassifierBehaviorPropertyTypedByModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ClassifierBehaviorPropertyTypedByModelConstraint.java
new file mode 100644
index 0000000..781b291
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ClassifierBehaviorPropertyTypedByModelConstraint.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.5 ClassifierBehaviorProperty [3] Properties to which
+ * ClassifierBehaviorProperty applied must be typed by the classifier behavior
+ * of their owning block or a generalization of the classifier behavior.
+ * 
+ */
+public class ClassifierBehaviorPropertyTypedByModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ClassifierBehaviorProperty classifierBehaviorProperty = (ClassifierBehaviorProperty) context.getTarget();
+		Property property = classifierBehaviorProperty.getBase_Property();
+		if (property != null) {
+			Type type = property.getType();
+			if (type != null) {
+				Element owner = property.getOwner();
+				if (owner instanceof org.eclipse.uml2.uml.Class) {
+					// is a block by constraint 8.3.2.5 [1]
+					org.eclipse.uml2.uml.Class clazz = (org.eclipse.uml2.uml.Class) owner;
+					if (!type.equals(clazz.getClassifierBehavior())) {
+						return context.createFailureStatus(context.getTarget());
+					}
+				}
+			}
+
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyOnlyOnBlockModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyOnlyOnBlockModelConstraint.java
new file mode 100644
index 0000000..0f846b9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyOnlyOnBlockModelConstraint.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.6 ConnectorProperty [1] ConnectorProperty may only be applied to
+ * properties of classes stereotyped by Block.
+ *
+ */
+public class ConnectorPropertyOnlyOnBlockModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ConnectorProperty connectorProperty = (ConnectorProperty) context.getTarget();
+		Property property = connectorProperty.getBase_Property();
+		if (property != null) {
+			Element owner = property.getOwner();
+			if (owner == null || UMLUtil.getStereotypeApplication(owner, Block.class) == null) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyReferOwnedConnectorModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyReferOwnedConnectorModelConstraint.java
new file mode 100644
index 0000000..33188df
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyReferOwnedConnectorModelConstraint.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.6 ConnectorProperty [2] The connector attribute of the applied
+ * stereotype must refer to a connector owned or inherited by a block owning the
+ * property on which the stereotype is applied.
+ *
+ */
+public class ConnectorPropertyReferOwnedConnectorModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ConnectorProperty connectorProperty = (ConnectorProperty) context.getTarget();
+		Property property = connectorProperty.getBase_Property();
+		if (property != null) {
+			Element owner = property.getOwner();
+			if (owner != null) {
+				Connector connector = connectorProperty.getConnector();
+				if (connector != null) {
+					if (!owner.equals(connector.getOwner())) {
+						return context.createFailureStatus(context.getTarget());
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertySameNameModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertySameNameModelConstraint.java
new file mode 100644
index 0000000..bf24979
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertySameNameModelConstraint.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.6 ConnectorProperty [5] A property stereotyped by ConnectorProperty
+ * must have the same name and type as the connector referred to by the
+ * connector attribute.
+ * 
+ */
+public class ConnectorPropertySameNameModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ConnectorProperty connectorProperty = (ConnectorProperty) context.getTarget();
+		Property property = connectorProperty.getBase_Property();
+		if (property != null) {
+			Connector connector = connectorProperty.getConnector();
+			if (connector != null) {
+				String name = connector.getName();
+				if (name != null && !name.equals(property.getName())) {
+					return context.createFailureStatus(context.getTarget());
+				}
+				Type type = connector.getType();
+				if (type != null && !type.equals(property.getType())) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyTypedByAssociationBlockModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyTypedByAssociationBlockModelConstraint.java
new file mode 100644
index 0000000..344fbac
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyTypedByAssociationBlockModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.6 ConnectorProperty [4] The type of the connector referred to by a
+ * connector attribute must be an association class stereotyped by Block.
+ * 
+ */
+public class ConnectorPropertyTypedByAssociationBlockModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ConnectorProperty connectorProperty = (ConnectorProperty) context.getTarget();
+		Connector connector = connectorProperty.getConnector();
+		if (connector != null) {
+			Association type = connector.getType();
+			if (type != null) {
+				if (!(type instanceof AssociationClass) || UMLUtil.getStereotypeApplication(type, Block.class) == null) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathRequireSourceContextModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathRequireSourceContextModelConstraint.java
new file mode 100644
index 0000000..abe78ed
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathRequireSourceContextModelConstraint.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath [1] source#context must have a value
+ * when sourcePropertyPath has a value.
+ */
+public class DirectedRelationshipPropertyPathRequireSourceContextModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		DirectedRelationshipPropertyPath directedRelationshipPropertyPath = (DirectedRelationshipPropertyPath) context
+				.getTarget();
+		EList<Property> sourcePropertyPath = directedRelationshipPropertyPath.getSourcePropertyPath();
+		if (sourcePropertyPath != null && !sourcePropertyPath.isEmpty()) {
+			if (directedRelationshipPropertyPath.getSourceContext() == null) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathRequireTargetContextModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathRequireTargetContextModelConstraint.java
new file mode 100644
index 0000000..c151509
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathRequireTargetContextModelConstraint.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath [1] target#context must have a value
+ * when targetPropertyPath has a value.
+ */
+public class DirectedRelationshipPropertyPathRequireTargetContextModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		DirectedRelationshipPropertyPath directedRelationshipPropertyPath = (DirectedRelationshipPropertyPath) context
+				.getTarget();
+		EList<Property> targetPropertyPath = directedRelationshipPropertyPath.getTargetPropertyPath();
+		if (targetPropertyPath != null && !targetPropertyPath.isEmpty()) {
+			if (directedRelationshipPropertyPath.getTargetContext() == null) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathSourceFirstModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathSourceFirstModelConstraint.java
new file mode 100644
index 0000000..a46d425
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathSourceFirstModelConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath [3] The property in the first
+ * position of the sourcePropertyPath list, if any, must be owned by the
+ * source#context or one of its generalizations.
+ */
+public class DirectedRelationshipPropertyPathSourceFirstModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		DirectedRelationshipPropertyPath directedRelationshipPropertyPath = (DirectedRelationshipPropertyPath) context
+				.getTarget();
+		EList<Property> sourcePropertyPath = directedRelationshipPropertyPath.getSourcePropertyPath();
+		if (sourcePropertyPath != null && !sourcePropertyPath.isEmpty()) {
+			Property property = sourcePropertyPath.get(0);
+			Classifier sourceContext = directedRelationshipPropertyPath.getSourceContext();
+			if (sourceContext != null) {
+				if (!sourceContext.getAllAttributes().contains(property)) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathSourceLastModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathSourceLastModelConstraint.java
new file mode 100644
index 0000000..feea2f4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathSourceLastModelConstraint.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath [6] The type of the property at the
+ * last position of the sourcePropertyPath list must own or inherit the source
+ * of the stereotyped directed relationship.
+ */
+public class DirectedRelationshipPropertyPathSourceLastModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		DirectedRelationshipPropertyPath directedRelationshipPropertyPath = (DirectedRelationshipPropertyPath) context
+				.getTarget();
+		EList<Property> sourcePropertyPath = directedRelationshipPropertyPath.getSourcePropertyPath();
+		if (sourcePropertyPath != null && !sourcePropertyPath.isEmpty()) {
+			Property property = sourcePropertyPath.get(sourcePropertyPath.size() - 1);
+			Type type = property.getType();
+			if (type != null) {
+				DirectedRelationship directedRelationship = directedRelationshipPropertyPath
+						.getBase_DirectedRelationship();
+				if (directedRelationship != null) {
+					EList<Element> sources = directedRelationship.getSources();
+					if (sources != null && !sources.isEmpty() && !type.getOwnedElements().contains(sources.get(0))) {
+						if (type instanceof Classifier) {
+							Classifier classifier = (Classifier) type;
+							if (!classifier.getInheritedMembers().contains(sources.get(0))) {
+								return context.createFailureStatus(context.getTarget());
+							}
+						} else {
+							return context.createFailureStatus(context.getTarget());
+						}
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathTargetFirstModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathTargetFirstModelConstraint.java
new file mode 100644
index 0000000..5b2d21f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathTargetFirstModelConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath [4] The property in the first
+ * position of the targetPropertyPath list, if any, must be owned by the
+ * target#context or one of its generalizations.
+ */
+public class DirectedRelationshipPropertyPathTargetFirstModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		DirectedRelationshipPropertyPath directedRelationshipPropertyPath = (DirectedRelationshipPropertyPath) context
+				.getTarget();
+		EList<Property> targetPropertyPath = directedRelationshipPropertyPath.getTargetPropertyPath();
+		if (targetPropertyPath != null && !targetPropertyPath.isEmpty()) {
+			Property property = targetPropertyPath.get(0);
+			Classifier targetContext = directedRelationshipPropertyPath.getTargetContext();
+			if (targetContext != null) {
+				if (!targetContext.getAllAttributes().contains(property)) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathTargetLastModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathTargetLastModelConstraint.java
new file mode 100644
index 0000000..b7c8614
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathTargetLastModelConstraint.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath [7] The type of the property at the
+ * last position of the targetPropertyPath list must own or inherit the target
+ * of the stereotyped directed relationship.
+ */
+public class DirectedRelationshipPropertyPathTargetLastModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		DirectedRelationshipPropertyPath directedRelationshipPropertyPath = (DirectedRelationshipPropertyPath) context
+				.getTarget();
+		EList<Property> targetPropertyPath = directedRelationshipPropertyPath.getTargetPropertyPath();
+		if (targetPropertyPath != null && !targetPropertyPath.isEmpty()) {
+			Property property = targetPropertyPath.get(targetPropertyPath.size() - 1);
+			Type type = property.getType();
+			if (type != null) {
+				DirectedRelationship directedRelationship = directedRelationshipPropertyPath
+						.getBase_DirectedRelationship();
+				if (directedRelationship != null) {
+					EList<Element> targets = directedRelationship.getTargets();
+					if (targets != null && !targets.isEmpty() && !type.getOwnedElements().contains(targets.get(0))) {
+						if (type instanceof Classifier) {
+							Classifier classifier = (Classifier) type;
+							if (!classifier.getInheritedMembers().contains(targets.get(0))) {
+								return context.createFailureStatus(context.getTarget());
+							}
+						} else {
+							return context.createFailureStatus(context.getTarget());
+						}
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DistributedPropertyTypedByModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DistributedPropertyTypedByModelConstraint.java
new file mode 100644
index 0000000..2bd7214
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DistributedPropertyTypedByModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.DistributedProperty;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.8 DistributedProperty [1] The DistributedProperty stereotype may be applied only to properties of classifiers stereotyped by Block or ValueType.
+ *
+ */
+public class DistributedPropertyTypedByModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		DistributedProperty distributedProperty = (DistributedProperty) context.getTarget();
+		Property property = distributedProperty.getBase_Property();
+		if (property != null) {
+			Element owner = property.getOwner();
+			if (owner != null) {
+				if (UMLUtil.getStereotypeApplication(owner, ValueType.class) == null
+						&& UMLUtil.getStereotypeApplication(owner, Block.class) == null) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ElementPropertyPathPropertiesOwnerModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ElementPropertyPathPropertiesOwnerModelConstraint.java
new file mode 100644
index 0000000..f5f6542
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ElementPropertyPathPropertiesOwnerModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.9 ElementPropertyPath [1] The property at each successive position of
+ * the propertyPath attribute, following the first position, must be owned by
+ * the Block or ValueType that types the property at the immediately preceding
+ * position, or a generalization of the Block or ValueType.
+ */
+public class ElementPropertyPathPropertiesOwnerModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ElementPropertyPath elementPropertyPath = (ElementPropertyPath) context.getTarget();
+		EList<Property> propertyPath = elementPropertyPath.getPropertyPath();
+		Classifier classifier = null;
+		for (Property property : propertyPath) {
+			if (classifier != null && !classifier.getAllAttributes().contains(property)) {
+				return context.createFailureStatus(context.getTarget());
+			}
+			Type type = property.getType();
+			if (type instanceof Classifier) {
+				// FIXME: this constraint seems to assume that the
+				// type is a classifier
+				classifier = (Classifier) type;
+			} else {
+				classifier = null;
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/EndPathMultiplicityBoundReferencePropertyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/EndPathMultiplicityBoundReferencePropertyModelConstraint.java
new file mode 100644
index 0000000..289a4e0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/EndPathMultiplicityBoundReferencePropertyModelConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.BoundReference;
+import org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.10 EndPathMultiplicity [1] Properties to which EndPathMultiplicity is
+ * applied must be related by redefinition to a property to which BoundReference
+ * is applied.
+ */
+public class EndPathMultiplicityBoundReferencePropertyModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		EndPathMultiplicity endPathMultiplicity = (EndPathMultiplicity) context.getTarget();
+		Property property = endPathMultiplicity.getBase_Property();
+		if (property != null) {
+			EList<Property> redefinedProperties = property.getRedefinedProperties();
+			for (Property redefinedProperty : redefinedProperties) {
+				if (UMLUtil.getStereotypeApplication(redefinedProperty, BoundReference.class) == null) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndFirstPropertyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndFirstPropertyModelConstraint.java
new file mode 100644
index 0000000..8dbe171
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndFirstPropertyModelConstraint.java
@@ -0,0 +1,66 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.11 NestedConnectorEnd [1] The first property in propertyPath must be
+ * owned by the block that owns the connector, or one of the block's
+ * generalizations.
+ */
+public class NestedConnectorEndFirstPropertyModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		NestedConnectorEnd nestedConnectorEnd = (NestedConnectorEnd) context.getTarget();
+		ConnectorEnd connectorEnd = nestedConnectorEnd.getBase_ConnectorEnd();
+		if (connectorEnd != null) {
+			EObject eContainer = connectorEnd.eContainer();
+			if (eContainer instanceof Connector) {
+				Element connectorOwner = ((Connector) eContainer).getOwner();
+				if (connectorOwner != null) {
+					EList<Property> propertyPath = nestedConnectorEnd.getPropertyPath();
+					if (propertyPath != null && !propertyPath.isEmpty()) {
+						Property firstProperty = propertyPath.get(0);
+						if (!connectorOwner.equals(firstProperty.getOwner())) {
+							return context.createFailureStatus(context.getTarget());
+						}
+					}
+				}
+			}
+		}
+
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndLastPropertyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndLastPropertyModelConstraint.java
new file mode 100644
index 0000000..12e7d8d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndLastPropertyModelConstraint.java
@@ -0,0 +1,74 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.11 NestedConnectorEnd [2] The type of the property at the last position
+ * of the propertyPath list must own or inherit the role property of the
+ * stereotyped connector end.
+ * 
+ */
+public class NestedConnectorEndLastPropertyModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		NestedConnectorEnd nestedConnectorEnd = (NestedConnectorEnd) context.getTarget();
+		ConnectorEnd connectorEnd = nestedConnectorEnd.getBase_ConnectorEnd();
+		if (connectorEnd != null) {
+			// FIXME: this constraint seems to assume that the connectable
+			// element is a property
+			ConnectableElement role = connectorEnd.getRole();
+			if (role instanceof Property) {
+				Property property = (Property) role;
+				EList<Property> propertyPath = nestedConnectorEnd.getPropertyPath();
+				if (propertyPath != null && !propertyPath.isEmpty()) {
+					Property lastProperty = propertyPath.get(propertyPath.size() - 1);
+					if (lastProperty != null) {
+						Type type = lastProperty.getType();
+						if (type instanceof Classifier) {
+							// FIXME: this constraint seems to assume that the
+							// type is a classifier
+							Classifier classifier = (Classifier) type;
+							if (!classifier.getAllAttributes().contains(property)) {
+								return context.createFailureStatus(context.getTarget());
+							}
+						}
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndOnlyConnectorEndsModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndOnlyConnectorEndsModelConstraint.java
new file mode 100644
index 0000000..1949909
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndOnlyConnectorEndsModelConstraint.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * 8.3.2.11 NestedConnectorEnd [3] NestedConnectorEnd may only be applied to
+ * connector ends
+ */
+public class NestedConnectorEndOnlyConnectorEndsModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		NestedConnectorEnd nestedConnectorEnd = (NestedConnectorEnd) context.getTarget();
+		Element element = nestedConnectorEnd.getBase_Element();
+		if (element != null && !(element instanceof ConnectorEnd)) {
+			return context.createFailureStatus(context.getTarget());
+		}
+		return context.createSuccessStatus();
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyEndMultiplicityModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyEndMultiplicityModelConstraint.java
new file mode 100644
index 0000000..3063f1c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyEndMultiplicityModelConstraint.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.12 ParticipantProperty [6] The property referred to by end must have a
+ * multiplicity of 1.
+ *
+ */
+public class ParticipantPropertyEndMultiplicityModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ParticipantProperty participantProperty = (ParticipantProperty) context.getTarget();
+		Property property = participantProperty.getBase_Property();
+		if (property != null && (property.upperBound() != 1 || property.lowerBound() != 1)) {
+			return context.createFailureStatus(context.getTarget());
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyNoAssociationMemberEndsModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyNoAssociationMemberEndsModelConstraint.java
new file mode 100644
index 0000000..97ffe39
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyNoAssociationMemberEndsModelConstraint.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.12 ParticipantProperty [2] ParticipantProperty may not be applied to
+ * properties that are member ends of an association.
+ */
+public class ParticipantPropertyNoAssociationMemberEndsModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ParticipantProperty participantProperty = (ParticipantProperty) context.getTarget();
+		Property property = participantProperty.getBase_Property();
+		if (property != null) {
+			if (property.getAssociation() != null) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyOnlyAssociationBlockModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyOnlyAssociationBlockModelConstraint.java
new file mode 100644
index 0000000..81cab97
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyOnlyAssociationBlockModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.12 ParticipantProperty [1] ParticipantProperty may only be applied to properties of association classes stereotyped by Block.
+ *
+ */
+public class ParticipantPropertyOnlyAssociationBlockModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ParticipantProperty participantProperty = (ParticipantProperty) context.getTarget();
+		Property property = participantProperty.getBase_Property();
+		if (property != null) {
+			Element owner = property.getOwner();
+			if ((!(owner instanceof AssociationClass)) || UMLUtil.getStereotypeApplication(owner, Block.class) == null) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyOnlyNoneAggregationModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyOnlyNoneAggregationModelConstraint.java
new file mode 100644
index 0000000..75aa7b8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyOnlyNoneAggregationModelConstraint.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.12 ParticipantProperty [3] The aggregation of a property stereotyped by
+ * ParticipantProperty must be none.
+ */
+public class ParticipantPropertyOnlyNoneAggregationModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ParticipantProperty participantProperty = (ParticipantProperty) context.getTarget();
+		Property property = participantProperty.getBase_Property();
+		if (property != null) {
+			if (!AggregationKind.NONE_LITERAL.equals(property.getAggregation())) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertySameEndModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertySameEndModelConstraint.java
new file mode 100644
index 0000000..427bb06
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertySameEndModelConstraint.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.12 ParticipantProperty [4] The end attribute of the applied stereotype
+ * must refer to a member end of the association block owning the property on
+ * which the stereotype is applied.
+ *
+ */
+public class ParticipantPropertySameEndModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ParticipantProperty participantProperty = (ParticipantProperty) context.getTarget();
+		Property endProperty = participantProperty.getEnd();
+		if (endProperty != null) {
+			Property property = participantProperty.getBase_Property();
+			if (property != null) {
+				Element owner = property.getOwner();
+				if (owner instanceof AssociationClass) {
+					AssociationClass associationClass = (AssociationClass) owner;
+					if (!associationClass.getMemberEnds().contains(endProperty)) {
+						return context.createFailureStatus(context.getTarget());
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertySameTypeModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertySameTypeModelConstraint.java
new file mode 100644
index 0000000..0e28386
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertySameTypeModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.12 ParticipantProperty [5] A property stereotyped by
+ * ParticipantProperty must have the same type as the property referred to by
+ * the end attribute.
+ */
+public class ParticipantPropertySameTypeModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ParticipantProperty participantProperty = (ParticipantProperty) context.getTarget();
+		Property property = participantProperty.getBase_Property();
+		if (property != null) {
+			Type type = property.getType();
+			if (type != null) {
+				Property endProperty = participantProperty.getEnd();
+				if (endProperty != null) {
+					if (!type.equals(endProperty.getType())) {
+						return context.createFailureStatus(context.getTarget());
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/PropertySpecificTypeMissingNameModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/PropertySpecificTypeMissingNameModelConstraint.java
new file mode 100644
index 0000000..73842f0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/PropertySpecificTypeMissingNameModelConstraint.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.PropertySpecificType;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * 8.3.2.13 PropertySpecificType [2] The name of a classifier to which a
+ * PropertySpecificType is applied must be missing. (The «name» attribute of the
+ * NamedElement metaclass must be empty.)
+ * 
+ */
+public class PropertySpecificTypeMissingNameModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		PropertySpecificType propertySpecificType = (PropertySpecificType) context.getTarget();
+		Classifier classifier = propertySpecificType.getBase_Classifier();
+		if (classifier != null) {
+			String name = classifier.getName();
+			if (name != null && !"".equals(name)) { //$NON-NLS-1$
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/PropertySpecificTypeUniquePropertyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/PropertySpecificTypeUniquePropertyModelConstraint.java
new file mode 100644
index 0000000..773ae5e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/PropertySpecificTypeUniquePropertyModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import java.util.Set;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.gmf.runtime.emf.core.util.CrossReferenceAdapter;
+import org.eclipse.papyrus.sysml16.blocks.PropertySpecificType;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * 8.3.2.13 PropertySpecificType [1] A classifier to which the
+ * PropertySpecificType stereotype is applied must be referenced as the type of
+ * one and only one property.
+ */
+public class PropertySpecificTypeUniquePropertyModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		PropertySpecificType propertySpecificType = (PropertySpecificType) context.getTarget();
+		Classifier classifier = propertySpecificType.getBase_Classifier();
+		if (classifier != null) {
+			CrossReferenceAdapter crossReferenceAdapter = CrossReferenceAdapter.getCrossReferenceAdapter(TransactionUtil.getEditingDomain(classifier).getResourceSet());
+			Set inverseReferencers = crossReferenceAdapter.getInverseReferencers(classifier, UMLPackage.eINSTANCE.getTypedElement_Type(), null);
+			if (inverseReferencers != null && inverseReferencers.size() != 1) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeQuantityKindModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeQuantityKindModelConstraint.java
new file mode 100644
index 0000000..f32dd4d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeQuantityKindModelConstraint.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.papyrus.sysml16.util.QUDVUtil;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * 8.3.2.15 ValueType [3] The quantityKind of a ValueType, if any, shall be an InstanceSpecification classified by SysML's
+ * QuantityKind block in the UnitAndQuantityKind model library or a specialization of it.
+ */
+public class ValueTypeQuantityKindModelConstraint extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ValueType valueType = (ValueType) context.getTarget();
+		String quantityKindQualifiedName = QUDVUtil.getClassifierByNameSpaceFromQUDV(QUDVUtil.UNIT_AND_QUANTITY_KIND, QUDVUtil.QUANTITY_KIND).getQualifiedName();
+		if (valueType.getQuantityKind() != null && !valueType.getQuantityKind().getClassifiers().isEmpty()) {
+			for (Classifier classifier : valueType.getQuantityKind().getClassifiers()) {
+				if (!classifier.allParents().stream().anyMatch(c -> c.getQualifiedName().equals(quantityKindQualifiedName)) // check if there is at least on element of the list whose the qualifideName match the quantityKindClassifier qualifideName
+						&& !classifier.getQualifiedName().equals(quantityKindQualifiedName)) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeSpecilizationAreValueTypesModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeSpecilizationAreValueTypesModelConstraint.java
new file mode 100644
index 0000000..7f0b36e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeSpecilizationAreValueTypesModelConstraint.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.15 ValueType [1] Any classifier that specializes a ValueType shall also have the ValueType stereotype applied.
+ */
+public class ValueTypeSpecilizationAreValueTypesModelConstraint extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext context) {
+		EObject target = context.getTarget();
+		if (target instanceof Classifier) {
+			for (Classifier generalClassifer : ((Classifier) target).parents()) {
+				ValueType generalValueType = UMLUtil.getStereotypeApplication(generalClassifer, ValueType.class);
+				if (generalValueType != null) {
+					ValueType classifierValueType = UMLUtil.getStereotypeApplication((Classifier) target, ValueType.class);
+					if (classifierValueType == null) {
+						return context.createFailureStatus(context.getTarget());
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeUnitModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeUnitModelConstraint.java
new file mode 100644
index 0000000..5ef7dee
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeUnitModelConstraint.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.papyrus.sysml16.util.QUDVUtil;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * 8.3.2.15 ValueType [2] The unit of a ValueType, if any, shall be an InstanceSpecification classified by SysML's Unit block in
+ * the UnitAndQuantityKind model library or a specialization of it.
+ */
+public class ValueTypeUnitModelConstraint extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ValueType valueType = (ValueType) context.getTarget();
+		Classifier unitClassifier = QUDVUtil.getClassifierByNameSpaceFromQUDV(QUDVUtil.UNIT_AND_QUANTITY_KIND, QUDVUtil.UNIT);
+		if (valueType.getUnit() != null && !valueType.getUnit().getClassifiers().isEmpty()) {
+			for (Classifier classifier : valueType.getUnit().getClassifiers()) {
+				if (!classifier.allParents().stream().anyMatch(c -> c.getQualifiedName().equals(unitClassifier.getQualifiedName())) // check if there is at least on element of the list whose the qualifideName match the unitClassifier qualifideName
+						&& !classifier.getQualifiedName().equals(unitClassifier.getQualifiedName())) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/constraintblocks/ConstraintBlockCompositeModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/constraintblocks/ConstraintBlockCompositeModelConstraint.java
new file mode 100644
index 0000000..e11990f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/constraintblocks/ConstraintBlockCompositeModelConstraint.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.constraintblocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 10.3.2.1 ConstraintBlock [3] Any property of a block that is typed by a ConstraintBlock shall have composite aggregation.
+ */
+public class ConstraintBlockCompositeModelConstraint extends AbstractModelConstraint {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(final IValidationContext context) {
+		final ConstraintBlock constraintBlock = (ConstraintBlock) context.getTarget();
+		final Class clazz = constraintBlock.getBase_Class();
+		for (final Property property : clazz.getAllAttributes()) {
+			if (!property.isComposite()) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ExposeClientStereotypedByViewModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ExposeClientStereotypedByViewModelConstraint.java
new file mode 100644
index 0000000..c7aed08
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ExposeClientStereotypedByViewModelConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.modelelements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.modelelements.Expose;
+import org.eclipse.papyrus.sysml16.modelelements.View;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 7.3.2.3 Expose [1] The client must be an element stereotyped by View.
+ * FIXME : the norm is incorrect there may be many client, the rule will apply to all clients
+ * 
+ */
+public class ExposeClientStereotypedByViewModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Expose expose = (Expose) context.getTarget();
+		Dependency dependency = expose.getBase_Dependency();
+		if (dependency != null) {
+			EList<NamedElement> clients = dependency.getClients();
+			for (NamedElement namedElement : clients) {
+				if (UMLUtil.getStereotypeApplication(namedElement, View.class) == null) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/StakeholderNotAssociationModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/StakeholderNotAssociationModelConstraint.java
new file mode 100644
index 0000000..fd97174
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/StakeholderNotAssociationModelConstraint.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.rules.modelelements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.modelelements.Stakeholder;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * Stakeholder [1] A Stakeholder stereotype can only be applied to UML::Actor or UML::Class which are not a
+ * UML::Association.
+ */
+public class StakeholderNotAssociationModelConstraint extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Stakeholder stakeholder = (Stakeholder) context.getTarget();
+		Classifier base = stakeholder.getBase_Classifier();
+		if (base instanceof Actor && !(base instanceof Association)) {
+			return context.createSuccessStatus();
+		}
+		if (base instanceof org.eclipse.uml2.uml.Class && !(base instanceof Association)) {
+			return context.createSuccessStatus();
+		}
+
+		return context.createFailureStatus(context.getTarget());
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ViewSingleViewpointModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ViewSingleViewpointModelConstraint.java
new file mode 100644
index 0000000..28f3b5d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ViewSingleViewpointModelConstraint.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.modelelements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.modelelements.Conform;
+import org.eclipse.papyrus.sysml16.modelelements.View;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 7.3.2.7 View [1] A view must only conform to a single viewpoint.
+ */
+public class ViewSingleViewpointModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		View view = (View) context.getTarget();
+		Class clazz = view.getBase_Class();
+		if (clazz != null) {
+			EList<Generalization> generalizations = clazz.getGeneralizations();
+			if (generalizations != null) {
+				int countConform = 0;
+				for (Generalization generalization : generalizations) {
+					if (UMLUtil.getStereotypeApplication(generalization, Conform.class) != null) {
+						countConform++;
+					}
+				}
+				if (countConform != 1) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ViewpointOwnedViewModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ViewpointOwnedViewModelConstraint.java
new file mode 100644
index 0000000..6e0f97f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ViewpointOwnedViewModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.modelelements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.profile.standard.Create;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 7.3.2.8 Viewpoint [2] The property ownedOperation must include at least one
+ * operation named «View» with the UML Create stereotype applied.
+ */
+public class ViewpointOwnedViewModelConstraint extends AbstractModelConstraint {
+
+	// expected name of the operation fixed by the norm
+	private static final String VIEW = "View"; //$NON-NLS-1$
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Viewpoint viewpoint = (Viewpoint) context.getTarget();
+		Class clazz = viewpoint.getBase_Class();
+		if (clazz != null) {
+			EList<Operation> operations = clazz.getOperations();
+			boolean found = false;
+			for (Operation operation : operations) {
+				if (VIEW.equals(operation.getName())
+						&& UMLUtil.getStereotypeApplication(operation, Create.class) != null) {
+					found = true;
+				}
+			}
+			if (!found) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/nonnormative/NestedConnectorEndMissingConstraintModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/nonnormative/NestedConnectorEndMissingConstraintModelConstraint.java
new file mode 100644
index 0000000..b6024af
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/nonnormative/NestedConnectorEndMissingConstraintModelConstraint.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.nonnormative;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 
+ */
+public class NestedConnectorEndMissingConstraintModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		EObject target = context.getTarget();
+		if (target instanceof ConnectorEnd) {
+			ConnectorEnd connectorEnd = (ConnectorEnd) target;
+			Element owner = connectorEnd.getOwner();
+			if (owner instanceof Connector) {
+				Connector connector = (Connector) owner;
+				ConnectableElement role = connectorEnd.getRole();
+				Element connectorOwner = connector.getOwner();
+				if (role != null && !role.getOwner().equals(connectorOwner)) {
+					if (UMLUtil.getStereotypeApplication(connectorOwner, Block.class) != null || UMLUtil.getStereotypeApplication(connectorOwner, ConstraintBlock.class) != null) {
+						if (UMLUtil.getStereotypeApplication(connectorEnd, NestedConnectorEnd.class) == null) {
+							return context.createFailureStatus(role.getName());
+						}
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/AddFlowPropertyValueOnNestedPortActionPathConsistencyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/AddFlowPropertyValueOnNestedPortActionPathConsistencyModelConstraint.java
new file mode 100644
index 0000000..22fa416
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/AddFlowPropertyValueOnNestedPortActionPathConsistencyModelConstraint.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 9.3.2.2 AddFlowPropertyValueOnNestedPortAction [3] The port at each successive position of the onNestedPort
+ * attribute, following the first position, shall be owned by the Block that types the port at the immediately
+ * preceding position, or a generalization of that Block
+ */
+public class AddFlowPropertyValueOnNestedPortActionPathConsistencyModelConstraint extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext context) {
+		AddFlowPropertyValueOnNestedPortAction addFlowPropertyValueOnNestedPortAction = (AddFlowPropertyValueOnNestedPortAction) context.getTarget();
+		List<Port> onNestedPort = addFlowPropertyValueOnNestedPortAction.getOnNestedPort();
+		Classifier classifier = null;
+		for (Port port : onNestedPort) {
+			if (classifier != null && !classifier.getAllAttributes().contains(port)) {
+				return context.createFailureStatus(context.getTarget());
+			}
+			Type type = port.getType();
+			if (type instanceof Classifier) {
+				// FIXME: this constraint seems to assume that the
+				// type is a classifier
+				classifier = (Classifier) type;
+			} else {
+				classifier = null;
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ChangeStructuralFeatureEventNotStaticModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ChangeStructuralFeatureEventNotStaticModelConstraint.java
new file mode 100644
index 0000000..5172dda
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ChangeStructuralFeatureEventNotStaticModelConstraint.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent;
+import org.eclipse.uml2.uml.StructuralFeature;
+
+/**
+ * 9.3.2.3 ChangeStructuralFeatureEvent [1] The structural feature must not be
+ * static.
+ */
+public class ChangeStructuralFeatureEventNotStaticModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ChangeStructuralFeatureEvent changeStructuralFeatureEvent = (ChangeStructuralFeatureEvent) context.getTarget();
+		StructuralFeature structuralFeature = changeStructuralFeatureEvent.getStructuralFeature();
+		if (structuralFeature != null) {
+			if (structuralFeature.isStatic()) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ChangeStructuralFeatureEventOneFeaturingClassifierModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ChangeStructuralFeatureEventOneFeaturingClassifierModelConstraint.java
new file mode 100644
index 0000000..4597a56
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ChangeStructuralFeatureEventOneFeaturingClassifierModelConstraint.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.StructuralFeature;
+
+/**
+ * 9.3.2.3 ChangeStructuralFeatureEvent [2] The structural feature must have
+ * exactly one featuringClassifier.
+ */
+public class ChangeStructuralFeatureEventOneFeaturingClassifierModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ChangeStructuralFeatureEvent changeStructuralFeatureEvent = (ChangeStructuralFeatureEvent) context.getTarget();
+		StructuralFeature structuralFeature = changeStructuralFeatureEvent.getStructuralFeature();
+		if (structuralFeature != null) {
+			EList<Classifier> featuringClassifiers = structuralFeature.getFeaturingClassifiers();
+			if (featuringClassifiers == null || featuringClassifiers.size() != 1) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/DirectedFeatureOnlyBehavioralModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/DirectedFeatureOnlyBehavioralModelConstraint.java
new file mode 100644
index 0000000..96983a0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/DirectedFeatureOnlyBehavioralModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 9.3.2.4 DirectedFeature [1] DirectedFeature can only be applied to behavioral
+ * features, or to properties that do not have FlowProperty applied, including
+ * on subsetted or redefined features.
+ */
+public class DirectedFeatureOnlyBehavioralModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		DirectedFeature directedFeature = (DirectedFeature) context.getTarget();
+		Feature feature = directedFeature.getBase_Feature();
+		if (feature != null) {
+			if (!(feature instanceof BehavioralFeature || feature instanceof Property)) {
+				return context.createFailureStatus(context.getTarget());
+			}
+			if (feature instanceof Property && UMLUtil.getStereotypeApplication(feature, FlowProperty.class) != null) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/FlowPropertyTypedByModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/FlowPropertyTypedByModelConstraint.java
new file mode 100644
index 0000000..791c011
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/FlowPropertyTypedByModelConstraint.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 9.3.2.5 FeatureDirection [1] A FlowProperty is typed by a ValueType, Block, or Signal.
+ *
+ */
+public class FlowPropertyTypedByModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		FlowProperty flowProperty = (FlowProperty) context.getTarget();
+		Property property = flowProperty.getBase_Property();
+		if (property != null) {
+			Type type = property.getType();
+			if (type != null) {
+				if (UMLUtil.getStereotypeApplication(type, ValueType.class) == null
+						&& UMLUtil.getStereotypeApplication(type, Block.class) == null
+						&& !(type instanceof Signal)) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/FullPortNotProxyPortModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/FullPortNotProxyPortModelConstraint.java
new file mode 100644
index 0000000..ab8c69a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/FullPortNotProxyPortModelConstraint.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.FullPort;
+import org.eclipse.papyrus.sysml16.portsandflows.ProxyPort;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 
+ * 9.3.2.8 FullPort (SysML 1.6) Constraints [1] Full ports cannot also be proxy
+ * ports. This applies even if some of the stereotypes are on subsetted or
+ * redefined ports.
+ *
+ */
+public class FullPortNotProxyPortModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		FullPort fullPort = (FullPort) context.getTarget();
+		Port port = fullPort.getBase_Port();
+		if (port != null) {
+			if (UMLUtil.getStereotypeApplication(port, ProxyPort.class) != null) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockNoBehaviorConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockNoBehaviorConstraint.java
new file mode 100644
index 0000000..764bc47
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockNoBehaviorConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Class;
+
+/**
+ * 
+ * 9.3.2.9 InterfaceBlock [1] Interface blocks cannot own or inherit behaviors,
+ * have classifier behaviors, or methods for their behavioral features
+ *
+ */
+public class InterfaceBlockNoBehaviorConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		InterfaceBlock interfaceBlock = (InterfaceBlock) context.getTarget();
+		Class clazz = interfaceBlock.getBase_Class();
+		if (clazz != null) {
+			if (clazz.getClassifierBehavior() != null) {
+				return context.createFailureStatus(context.getTarget());
+			}
+			EList<Behavior> ownedBehaviors = clazz.getOwnedBehaviors();
+			if (ownedBehaviors != null && !ownedBehaviors.isEmpty()) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockNoCompositePropertyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockNoCompositePropertyModelConstraint.java
new file mode 100644
index 0000000..c46f7ed
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockNoCompositePropertyModelConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 
+ * 9.3.2.9 [2] Interface blocks cannot have composite properties that are not ports.
+ *
+ */
+public class InterfaceBlockNoCompositePropertyModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		InterfaceBlock interfaceBlock = (InterfaceBlock) context.getTarget();
+		Class clazz = interfaceBlock.getBase_Class();
+		if (clazz != null) {
+			EList<Property> allAttributes = clazz.getAllAttributes();
+			for (Property property : allAttributes) {
+				if (!(property instanceof Port) && property.isComposite()) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockPortTypeModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockPortTypeModelConstraint.java
new file mode 100644
index 0000000..1f93331
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockPortTypeModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 
+ * 9.3.2.9 InterfaceBlock [3] Ports owned by interface blocks can only be typed
+ * by interface blocks
+ *
+ */
+public class InterfaceBlockPortTypeModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		InterfaceBlock interfaceBlock = (InterfaceBlock) context.getTarget();
+		Class clazz = interfaceBlock.getBase_Class();
+		if (clazz != null) {
+			EList<Property> allAttributes = clazz.getAllAttributes();
+			for (Property property : allAttributes) {
+				if (property instanceof Port) {
+					Port port = (Port) property;
+					Type type = port.getType();
+					if (type != null && UMLUtil.getStereotypeApplication(type, InterfaceBlock.class) == null) {
+						return context.createFailureStatus(context.getTarget());
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InvocationOnNestedPortActionPathConsistencyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InvocationOnNestedPortActionPathConsistencyModelConstraint.java
new file mode 100644
index 0000000..528ae86
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InvocationOnNestedPortActionPathConsistencyModelConstraint.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 9.3.2.11 InvocationOnNestedPortAction [3] The port at each successive position of the onNestedPort attribute,
+ * following the first position, shall be owned by the Block that types the port at the immediately preceding
+ * position, or a generalization of that Block.
+ */
+public class InvocationOnNestedPortActionPathConsistencyModelConstraint extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext context) {
+		InvocationOnNestedPortAction invocationOnNestedPortAction = (InvocationOnNestedPortAction) context.getTarget();
+		List<Port> onNestedPort = invocationOnNestedPortAction.getOnNestedPort();
+		Classifier classifier = null;
+		for (Port port : onNestedPort) {
+			if (classifier != null && !classifier.getAllAttributes().contains(port)) {
+				return context.createFailureStatus(context.getTarget());
+			}
+			Type type = port.getType();
+			if (type instanceof Classifier) {
+				// FIXME: this constraint seems to assume that the
+				// type is a classifier
+				classifier = (Classifier) type;
+			} else {
+				classifier = null;
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InvocationOnNestedPortActionRequiredOnPortModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InvocationOnNestedPortActionRequiredOnPortModelConstraint.java
new file mode 100644
index 0000000..f5b1179
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InvocationOnNestedPortActionRequiredOnPortModelConstraint.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction;
+import org.eclipse.uml2.uml.InvocationAction;
+
+/**
+ * 9.3.2.10 InvocationOnNestedPortAction [1] The onPort property of an
+ * invocation action must have a value when this stereotype is applied.
+ */
+public class InvocationOnNestedPortActionRequiredOnPortModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		InvocationOnNestedPortAction invocationOnNestedPortAction = (InvocationOnNestedPortAction) context.getTarget();
+		InvocationAction invocationAction = invocationOnNestedPortAction.getBase_InvocationAction();
+		if (invocationAction != null) {
+			if (invocationAction.getOnPort() == null) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ItemFlowSamePropertyNameModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ItemFlowSamePropertyNameModelConstraint.java
new file mode 100644
index 0000000..c59927d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ItemFlowSamePropertyNameModelConstraint.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.ItemFlow;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 9.3.2.11 ItemFlow [6] If an ItemFlow has an itemProperty, its name should be
+ * the same as the name of the item flow.
+ */
+public class ItemFlowSamePropertyNameModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ItemFlow itemFlow = (ItemFlow) context.getTarget();
+		Property itemProperty = itemFlow.getItemProperty();
+		if (itemProperty != null) {
+			InformationFlow informationFlow = itemFlow.getBase_InformationFlow();
+			if (informationFlow != null) {
+				String name = informationFlow.getName();
+				if (name != null && !name.equals(itemProperty.getName())) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ItemFlowSamePropertyTypedByModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ItemFlowSamePropertyTypedByModelConstraint.java
new file mode 100644
index 0000000..7365261
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ItemFlowSamePropertyTypedByModelConstraint.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.papyrus.sysml16.portsandflows.ItemFlow;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 9.3.2.11 ItemFlow [2] An ItemFlow itemProperty is typed by a ValueType,
+ * Block, or Signal.
+ */
+public class ItemFlowSamePropertyTypedByModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ItemFlow itemFlow = (ItemFlow) context.getTarget();
+		Property itemProperty = itemFlow.getItemProperty();
+		if (itemProperty != null) {
+			Type type = itemProperty.getType();
+			if (type != null) {
+				if (UMLUtil.getStereotypeApplication(type, ValueType.class) == null
+						&& UMLUtil.getStereotypeApplication(type, Block.class) == null
+						&& !(type instanceof Signal)) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortForceInnerProxyPortModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortForceInnerProxyPortModelConstraint.java
new file mode 100644
index 0000000..241c789
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortForceInnerProxyPortModelConstraint.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.ProxyPort;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 
+ * 9.3.2.12 ProxyPort
+ * [3] Ports owned by the type of a proxy port must be proxy ports
+ *
+ */
+public class ProxyPortForceInnerProxyPortModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ProxyPort proxyPort = (ProxyPort) context.getTarget();
+		Port port = proxyPort.getBase_Port();
+		if (port != null) {
+			Type type = port.getType();
+			if (type instanceof org.eclipse.uml2.uml.Class) { // Class due to constraint 9.3.2.12 ProxyPort [2]
+				org.eclipse.uml2.uml.Class clazz = (org.eclipse.uml2.uml.Class) type;
+				EList<Property> ownedAttributes = clazz.getOwnedAttributes();
+				for (Property property : ownedAttributes) {
+					if (property instanceof Port) {
+						Port innerport = (Port) property;
+						if (UMLUtil.getStereotypeApplication(innerport, ProxyPort.class) == null) {
+							return context.createFailureStatus(context.getTarget());
+						}
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortNotFullPortModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortNotFullPortModelConstraint.java
new file mode 100644
index 0000000..c4cce6c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortNotFullPortModelConstraint.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.FullPort;
+import org.eclipse.papyrus.sysml16.portsandflows.ProxyPort;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 
+ * 9.3.2.12 ProxyPort
+ * [1] Proxy ports cannot also be full ports. This applies even if some of the stereotypes are on subsetted or redefined ports..
+ *
+ */
+public class ProxyPortNotFullPortModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ProxyPort proxyPort = (ProxyPort) context.getTarget();
+		Port port = proxyPort.getBase_Port();
+		if (port != null && UMLUtil.getStereotypeApplication(port, FullPort.class) != null) {
+			return context.createFailureStatus(context.getTarget());
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortTypedByInterfaceBlockModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortTypedByInterfaceBlockModelConstraint.java
new file mode 100644
index 0000000..2f3c7eb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortTypedByInterfaceBlockModelConstraint.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+import org.eclipse.papyrus.sysml16.portsandflows.ProxyPort;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 
+ * 9.3.2.12 ProxyPort
+ * [2] Proxy ports can only be typed by interface blocks
+ *
+ */
+public class ProxyPortTypedByInterfaceBlockModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		ProxyPort proxyPort = (ProxyPort) context.getTarget();
+		Port port = proxyPort.getBase_Port();
+		if (port != null) {
+			Type type = port.getType();
+			if (type != null && UMLUtil.getStereotypeApplication(type, InterfaceBlock.class) == null) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/TriggerOnNestedPortPathConsistencyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/TriggerOnNestedPortPathConsistencyModelConstraint.java
new file mode 100644
index 0000000..0aca381
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/TriggerOnNestedPortPathConsistencyModelConstraint.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+
+public class TriggerOnNestedPortPathConsistencyModelConstraint extends AbstractModelConstraint {
+
+	@Override
+	public IStatus validate(IValidationContext context) {
+		TriggerOnNestedPort addFlowPropertyValueOnNestedPortAction = (TriggerOnNestedPort) context.getTarget();
+		List<Port> onNestedPort = addFlowPropertyValueOnNestedPortAction.getOnNestedPort();
+		Classifier classifier = null;
+		for (Port port : onNestedPort) {
+			if (classifier != null && !classifier.getAllAttributes().contains(port)) {
+				return context.createFailureStatus(context.getTarget());
+			}
+			Type type = port.getType();
+			if (type instanceof Classifier) {
+				// FIXME: this constraint seems to assume that the
+				// type is a classifier
+				classifier = (Classifier) type;
+			} else {
+				classifier = null;
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/CopyBetweenRequirementsModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/CopyBetweenRequirementsModelConstraint.java
new file mode 100644
index 0000000..2f4030c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/CopyBetweenRequirementsModelConstraint.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.Copy;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.2 Copy [1] A Copy dependency may only be created between two NamedElements that have a subtype of the
+ * abstractRequirement stereotype applied
+ */
+public class CopyBetweenRequirementsModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Copy copy = (Copy) context.getTarget();
+		Abstraction abstraction = copy.getBase_Abstraction();
+		if (abstraction != null) {
+			EList<NamedElement> suppliers = abstraction.getSuppliers();
+			if (suppliers != null && !suppliers.isEmpty()) {
+				if (UMLUtil.getStereotypeApplication(suppliers.get(0), AbstractRequirement.class) == null) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+			EList<NamedElement> clients = abstraction.getClients();
+			if (clients != null && !clients.isEmpty()) {
+				if (UMLUtil.getStereotypeApplication(clients.get(0), AbstractRequirement.class) == null) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/CopyReadOnlyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/CopyReadOnlyModelConstraint.java
new file mode 100644
index 0000000..25582b7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/CopyReadOnlyModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.Copy;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.2 Copy [2] The text property of the client requirement is constrained to be a read-only copy of the text property of
+ * the supplier requirement and this applies recursively to all subrequirements.
+ */
+public class CopyReadOnlyModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Copy copy = (Copy) context.getTarget();
+		Abstraction abstraction = copy.getBase_Abstraction();
+		if (abstraction != null) {
+			EList<NamedElement> suppliers = abstraction.getSuppliers();
+			EList<NamedElement> clients = abstraction.getClients();
+			if (suppliers != null && !suppliers.isEmpty() && clients != null && !clients.isEmpty()) {
+				AbstractRequirement supplierRequirement = UMLUtil.getStereotypeApplication(suppliers.get(0), AbstractRequirement.class);
+				AbstractRequirement clientRequirement = UMLUtil.getStereotypeApplication(clients.get(0), AbstractRequirement.class);
+				if (supplierRequirement != null && clientRequirement != null && !supplierRequirement.getText().equals(clientRequirement.getText())) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/DeriveReqtClientModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/DeriveReqtClientModelConstraint.java
new file mode 100644
index 0000000..c9aee57
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/DeriveReqtClientModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.DeriveReqt;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.3 DeriveReqt [2] The client shall be an element stereotyped by a subtype of AbstractRequirement.
+ */
+public class DeriveReqtClientModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		DeriveReqt deriveReqt = (DeriveReqt) context.getTarget();
+		Abstraction abstraction = deriveReqt.getBase_Abstraction();
+		if (abstraction != null) {
+			EList<NamedElement> clients = abstraction.getClients();
+			if (clients != null && !clients.isEmpty()) {
+				if (UMLUtil.getStereotypeApplication(clients.get(0), AbstractRequirement.class) == null) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/DeriveReqtSupplierModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/DeriveReqtSupplierModelConstraint.java
new file mode 100644
index 0000000..0f41204
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/DeriveReqtSupplierModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.DeriveReqt;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.3 DeriveReqt [1] The supplier shall be an element stereotyped by a subtype of AbstractRequirement.
+ */
+public class DeriveReqtSupplierModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		DeriveReqt deriveReqt = (DeriveReqt) context.getTarget();
+		Abstraction abstraction = deriveReqt.getBase_Abstraction();
+		if (abstraction != null) {
+			EList<NamedElement> suppliers = abstraction.getSuppliers();
+			if (suppliers != null && !suppliers.isEmpty()) {
+				if (UMLUtil.getStereotypeApplication(suppliers.get(0), AbstractRequirement.class) == null) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RefineOneClientSupplierModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RefineOneClientSupplierModelConstraint.java
new file mode 100644
index 0000000..15ead62
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RefineOneClientSupplierModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.Refine;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * 16.3.2.4 Refine [2] Abstractions with a Refine stereotype or one of its specializations applied shall have exactly one client
+ * and one supplier.
+ */
+public class RefineOneClientSupplierModelConstraint extends AbstractModelConstraint {
+
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Refine refine = (Refine) context.getTarget();
+		Abstraction abstraction = refine.getBase_Abstraction();
+		if (abstraction == null) {
+			return context.createFailureStatus(context.getTarget());
+		}
+		EList<NamedElement> clients = abstraction.getClients();
+		EList<NamedElement> suppliers = abstraction.getSuppliers();
+		if (clients == null || clients.size() != 1 || suppliers == null || suppliers.size() != 1) {
+			return context.createFailureStatus(context.getTarget());
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNestedRequirementModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNestedRequirementModelConstraint.java
new file mode 100644
index 0000000..dca4ce9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNestedRequirementModelConstraint.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.5 Requirement [5] A nested classifier of a class stereotyped by Requirement or one of its specializations shall also be
+ * stereotyped by Requirement or one of its specializations.
+ */
+public class RequirementNestedRequirementModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Requirement requirement = (Requirement) context.getTarget();
+		Class clazz = requirement.getBase_Class();
+		if (clazz != null) {
+			EList<Classifier> nestedClassifiers = clazz.getNestedClassifiers();
+			for (Classifier classifier : nestedClassifiers) {
+				if (UMLUtil.getStereotypeApplication(classifier, Requirement.class) == null) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNoAssociationModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNoAssociationModelConstraint.java
new file mode 100644
index 0000000..6359f16
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNoAssociationModelConstraint.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Class;
+
+/**
+ * 16.3.2.5 Requirement [3] Classes stereotyped by <<requirement>> shall not participate in associations.
+ */
+public class RequirementNoAssociationModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Requirement requirement = (Requirement) context.getTarget();
+		Class clazz = requirement.getBase_Class();
+		if (clazz != null) {
+			EList<Association> associations = clazz.getAssociations();
+			if (associations != null && !associations.isEmpty()) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNoGeneralizationModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNoGeneralizationModelConstraint.java
new file mode 100644
index 0000000..ccb5b8d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNoGeneralizationModelConstraint.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Generalization;
+
+/**
+ * 16.3.2.5 Requirement [4] Classes stereotyped by <<requirement>> shall not participate in generalizations.
+ */
+public class RequirementNoGeneralizationModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Requirement requirement = (Requirement) context.getTarget();
+		Class clazz = requirement.getBase_Class();
+		if (clazz != null) {
+			EList<Generalization> generalizations = clazz.getGeneralizations();
+			if (generalizations != null && !generalizations.isEmpty()) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNotTypeModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNotTypeModelConstraint.java
new file mode 100644
index 0000000..0ab767d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNotTypeModelConstraint.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import java.util.Set;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.gmf.runtime.emf.core.util.CrossReferenceAdapter;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * 16.3.2.5 Requirement [6] Classes stereotyped by <<requirement>> shall not be used to type any other model element.
+ */
+public class RequirementNotTypeModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see
+	 * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+	 * emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Requirement requirement = (Requirement) context.getTarget();
+		Class clazz = requirement.getBase_Class();
+		if (clazz != null) {
+			CrossReferenceAdapter crossReferenceAdapter = CrossReferenceAdapter.getCrossReferenceAdapter(TransactionUtil.getEditingDomain(clazz).getResourceSet());
+			Set inverseReferencers = crossReferenceAdapter.getInverseReferencers(clazz, UMLPackage.eINSTANCE.getTypedElement_Type(), null);
+			if (inverseReferencers != null && !inverseReferencers.isEmpty()) {
+				return context.createFailureStatus(context.getTarget());
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/SatisfySupplierModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/SatisfySupplierModelConstraint.java
new file mode 100644
index 0000000..2b71d29
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/SatisfySupplierModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.Satisfy;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.7 Satisfy [1] The supplier shall be an element stereotyped by any subtype of <<AbstractRequirement>>.
+ */
+public class SatisfySupplierModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Satisfy satisfy = (Satisfy) context.getTarget();
+		Abstraction abstraction = satisfy.getBase_Abstraction();
+		if (abstraction != null) {
+			EList<NamedElement> suppliers = abstraction.getSuppliers();
+			if (suppliers != null && !suppliers.isEmpty()) {
+				if (UMLUtil.getStereotypeApplication(suppliers.get(0), AbstractRequirement.class) == null) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/TestCaseParamVerdictKindModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/TestCaseParamVerdictKindModelConstraint.java
new file mode 100644
index 0000000..bad4392
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/TestCaseParamVerdictKindModelConstraint.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.TestCase;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterDirectionKind;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 16.3.2.6 TestCase [1] The type of return parameter of the stereotyped model element shall be VerdictKind. (note this is
+ * consistent with the UML Testing Profile).
+ */
+public class TestCaseParamVerdictKindModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		TestCase testCase = (TestCase) context.getTarget();
+		Operation operation = testCase.getBase_Operation();
+		if (operation != null) {
+			EList<Parameter> ownedParameters = operation.getOwnedParameters();
+			if (ownedParameters != null && !ownedParameters.isEmpty()) {
+				for (Parameter parameter : ownedParameters) {
+					if (ParameterDirectionKind.RETURN_LITERAL.equals(parameter.getDirection())) {
+						Type type = parameter.getType();
+						if (type == null || !"VerdictKind".equals(type.getName())) { // FIXME get the value from the correct constant
+							return context.createFailureStatus(context.getTarget());
+						}
+					}
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/TraceDependencyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/TraceDependencyModelConstraint.java
new file mode 100644
index 0000000..58ce224
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/TraceDependencyModelConstraint.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.Trace;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DirectedRelationship;
+
+/**
+ * 16.3.2.8 Trace [1] Abstractions with a Trace stereotype or one of its specializations applied shall have exactly one client
+ * and one supplier.
+ */
+public class TraceDependencyModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Trace trace = (Trace) context.getTarget();
+		Abstraction abstraction = trace.getBase_Abstraction();
+		DirectedRelationship directedRelationship = trace.getBase_DirectedRelationship();
+		if (!(abstraction instanceof Dependency && directedRelationship instanceof Dependency)) {
+			return context.createFailureStatus(context.getTarget());
+		}
+		return context.createSuccessStatus();
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/VerifySupplierModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/VerifySupplierModelConstraint.java
new file mode 100644
index 0000000..56368dd
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/VerifySupplierModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.Verify;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.9 Verify [1] The supplier shall be an element stereotyped by any subtype of <<AbstractRequirement>>.
+ */
+public class VerifySupplierModelConstraint extends AbstractModelConstraint {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(IValidationContext context) {
+		Verify verify = (Verify) context.getTarget();
+		Abstraction abstraction = verify.getBase_Abstraction();
+		if (abstraction != null) {
+			EList<NamedElement> suppliers = abstraction.getSuppliers();
+			if (suppliers != null && !suppliers.isEmpty()) {
+				if (UMLUtil.getStereotypeApplication(suppliers.get(0), AbstractRequirement.class) == null) {
+					return context.createFailureStatus(context.getTarget());
+				}
+			}
+		}
+		return context.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AcceptChangeStructuralFeatureEventActionSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AcceptChangeStructuralFeatureEventActionSelector.java
new file mode 100644
index 0000000..d98792f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AcceptChangeStructuralFeatureEventActionSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction;
+
+public class AcceptChangeStructuralFeatureEventActionSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof AcceptChangeStructuralFeatureEventAction;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AddFlowPropertyValueOnNestedPortActionSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AddFlowPropertyValueOnNestedPortActionSelector.java
new file mode 100644
index 0000000..629730a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AddFlowPropertyValueOnNestedPortActionSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction;
+
+public class AddFlowPropertyValueOnNestedPortActionSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object object) {
+		return object instanceof AddFlowPropertyValueOnNestedPortAction;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AllocateActivityPartitionSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AllocateActivityPartitionSelector.java
new file mode 100644
index 0000000..f494eac
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AllocateActivityPartitionSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition;
+
+public class AllocateActivityPartitionSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof AllocateActivityPartition;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AllocateSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AllocateSelector.java
new file mode 100644
index 0000000..aa5f272
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AllocateSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.allocations.Allocate;
+
+public class AllocateSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Allocate;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BehaviorSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BehaviorSelector.java
new file mode 100644
index 0000000..ef7ab08
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BehaviorSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.uml2.uml.Behavior;
+
+public class BehaviorSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Behavior;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BindingConnectorSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BindingConnectorSelector.java
new file mode 100644
index 0000000..ec70d9f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BindingConnectorSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.BindingConnector;
+
+public class BindingConnectorSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof BindingConnector;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BlockSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BlockSelector.java
new file mode 100644
index 0000000..c90c239
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BlockSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+
+public class BlockSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Block;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BoundReferenceSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BoundReferenceSelector.java
new file mode 100644
index 0000000..fcaea8c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BoundReferenceSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.BoundReference;
+
+public class BoundReferenceSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof BoundReference;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ChangeStructuralFeatureEventSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ChangeStructuralFeatureEventSelector.java
new file mode 100644
index 0000000..1056f95
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ChangeStructuralFeatureEventSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent;
+
+public class ChangeStructuralFeatureEventSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof ChangeStructuralFeatureEvent;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ClassifierBehaviorPropertySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ClassifierBehaviorPropertySelector.java
new file mode 100644
index 0000000..6f279bb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ClassifierBehaviorPropertySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty;
+
+public class ClassifierBehaviorPropertySelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof ClassifierBehaviorProperty;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConformSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConformSelector.java
new file mode 100644
index 0000000..a17b77d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConformSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.modelelements.Conform;
+
+public class ConformSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Conform;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConjugatedInterfaceBlockSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConjugatedInterfaceBlockSelector.java
new file mode 100644
index 0000000..473bd20
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConjugatedInterfaceBlockSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock;
+
+public class ConjugatedInterfaceBlockSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object object) {
+		return object instanceof ConjugatedInterfaceBlock;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConnectorPropertySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConnectorPropertySelector.java
new file mode 100644
index 0000000..cbdb376
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConnectorPropertySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+
+public class ConnectorPropertySelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof ConnectorProperty;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConstraintBlockSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConstraintBlockSelector.java
new file mode 100644
index 0000000..c1409bb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConstraintBlockSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+
+public class ConstraintBlockSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof ConstraintBlock;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ControlOperatorSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ControlOperatorSelector.java
new file mode 100644
index 0000000..4546ddf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ControlOperatorSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.ControlOperator;
+
+public class ControlOperatorSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof ControlOperator;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/CopySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/CopySelector.java
new file mode 100644
index 0000000..1bd087e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/CopySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.Copy;
+
+public class CopySelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Copy;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DeriveReqtSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DeriveReqtSelector.java
new file mode 100644
index 0000000..6bbcf4b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DeriveReqtSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.DeriveReqt;
+
+public class DeriveReqtSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof DeriveReqt;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DirectedFeatureSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DirectedFeatureSelector.java
new file mode 100644
index 0000000..7ad2d9d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DirectedFeatureSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature;
+
+public class DirectedFeatureSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof DirectedFeature;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DirectedRelationshipPropertyPathSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DirectedRelationshipPropertyPathSelector.java
new file mode 100644
index 0000000..4da93a8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DirectedRelationshipPropertyPathSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+
+public class DirectedRelationshipPropertyPathSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof DirectedRelationshipPropertyPath;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DiscreteSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DiscreteSelector.java
new file mode 100644
index 0000000..6891e3e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DiscreteSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.Discrete;
+
+public class DiscreteSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Discrete;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DistributedPropertySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DistributedPropertySelector.java
new file mode 100644
index 0000000..fec5f01
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DistributedPropertySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.DistributedProperty;
+
+public class DistributedPropertySelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof DistributedProperty;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ElementPropertyPathSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ElementPropertyPathSelector.java
new file mode 100644
index 0000000..b392dae
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ElementPropertyPathSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath;
+
+public class ElementPropertyPathSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof ElementPropertyPath;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/EndPathMultiplicitySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/EndPathMultiplicitySelector.java
new file mode 100644
index 0000000..95abe67
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/EndPathMultiplicitySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity;
+
+public class EndPathMultiplicitySelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof EndPathMultiplicity;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ExposeSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ExposeSelector.java
new file mode 100644
index 0000000..50eae0e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ExposeSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.modelelements.Expose;
+
+public class ExposeSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Expose;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/FlowPropertySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/FlowPropertySelector.java
new file mode 100644
index 0000000..f3791e0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/FlowPropertySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+
+public class FlowPropertySelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof FlowProperty;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/FullPortSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/FullPortSelector.java
new file mode 100644
index 0000000..687a812
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/FullPortSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.FullPort;
+
+public class FullPortSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof FullPort;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/InterfaceBlockSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/InterfaceBlockSelector.java
new file mode 100644
index 0000000..20a8525
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/InterfaceBlockSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+
+public class InterfaceBlockSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof InterfaceBlock;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/InvocationOnNestedPortActionSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/InvocationOnNestedPortActionSelector.java
new file mode 100644
index 0000000..c8eb956
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/InvocationOnNestedPortActionSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction;
+
+public class InvocationOnNestedPortActionSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof InvocationOnNestedPortAction;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ItemFlowSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ItemFlowSelector.java
new file mode 100644
index 0000000..15e17f6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ItemFlowSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.ItemFlow;
+
+public class ItemFlowSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof ItemFlow;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/NestedConnectorEndSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/NestedConnectorEndSelector.java
new file mode 100644
index 0000000..62945da
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/NestedConnectorEndSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+
+public class NestedConnectorEndSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof NestedConnectorEnd;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/NoBufferSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/NoBufferSelector.java
new file mode 100644
index 0000000..99d9233
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/NoBufferSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.NoBuffer;
+
+public class NoBufferSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof NoBuffer;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OperationSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OperationSelector.java
new file mode 100644
index 0000000..472f9c2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OperationSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.uml2.uml.Operation;
+
+public class OperationSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Operation;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OptionalSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OptionalSelector.java
new file mode 100644
index 0000000..87da046
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OptionalSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.Optional;
+
+public class OptionalSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Optional;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OverwriteSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OverwriteSelector.java
new file mode 100644
index 0000000..6d8a716
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OverwriteSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.Overwrite;
+
+public class OverwriteSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Overwrite;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ParticipantPropertySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ParticipantPropertySelector.java
new file mode 100644
index 0000000..b310008
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ParticipantPropertySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+
+public class ParticipantPropertySelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof ParticipantProperty;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ProbabilitySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ProbabilitySelector.java
new file mode 100644
index 0000000..4a249cc
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ProbabilitySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.Probability;
+
+public class ProbabilitySelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Probability;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/PropertySpecificTypeSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/PropertySpecificTypeSelector.java
new file mode 100644
index 0000000..44ce010
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/PropertySpecificTypeSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.PropertySpecificType;
+
+public class PropertySpecificTypeSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof PropertySpecificType;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ProxyPortSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ProxyPortSelector.java
new file mode 100644
index 0000000..a1a8b3b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ProxyPortSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.ProxyPort;
+
+public class ProxyPortSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof ProxyPort;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RateSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RateSelector.java
new file mode 100644
index 0000000..fa53d95
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RateSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.Rate;
+
+public class RateSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Rate;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RefineSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RefineSelector.java
new file mode 100644
index 0000000..6ecf991
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RefineSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.Refine;
+
+public class RefineSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Refine;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RequirementSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RequirementSelector.java
new file mode 100644
index 0000000..91441ea
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RequirementSelector.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+
+public class RequirementSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Requirement;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/SatisfySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/SatisfySelector.java
new file mode 100644
index 0000000..75864a9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/SatisfySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.Satisfy;
+
+public class SatisfySelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Satisfy;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/StakeholderSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/StakeholderSelector.java
new file mode 100644
index 0000000..beb00cb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/StakeholderSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.modelelements.Stakeholder;
+
+public class StakeholderSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Stakeholder;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TestCaseSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TestCaseSelector.java
new file mode 100644
index 0000000..502e33e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TestCaseSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.TestCase;
+
+public class TestCaseSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof TestCase;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TraceSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TraceSelector.java
new file mode 100644
index 0000000..a8f2121
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TraceSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.Trace;
+
+public class TraceSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Trace;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TriggerOnNestedPortSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TriggerOnNestedPortSelector.java
new file mode 100644
index 0000000..4d7739a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TriggerOnNestedPortSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort;
+
+public class TriggerOnNestedPortSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof TriggerOnNestedPort;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TrueSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TrueSelector.java
new file mode 100644
index 0000000..ee3e88b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TrueSelector.java
@@ -0,0 +1,32 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+
+/**
+ * Temporary solution to execute validation on uml context
+ * @deprecated
+ */
+// TODO: to remove once Bug 507734 is solved
+@Deprecated
+public class TrueSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object object) {
+		return true;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ValueTypeSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ValueTypeSelector.java
new file mode 100644
index 0000000..5422ed6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ValueTypeSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+
+public class ValueTypeSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof ValueType;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/VerifySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/VerifySelector.java
new file mode 100644
index 0000000..f370d91
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/VerifySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.Verify;
+
+public class VerifySelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Verify;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ViewSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ViewSelector.java
new file mode 100644
index 0000000..8dc606f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ViewSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.modelelements.View;
+
+public class ViewSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof View;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ViewpointSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ViewpointSelector.java
new file mode 100644
index 0000000..50fcc6e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ViewpointSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+
+public class ViewpointSelector implements IClientSelector {
+
+	@Override
+	public boolean selects(Object stereoApplicationObj) {
+		return stereoApplicationObj instanceof Viewpoint;
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/validation.mediawiki b/plugins/core/org.eclipse.papyrus.sysml16.validation/validation.mediawiki
new file mode 100644
index 0000000..6483673
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/validation.mediawiki
@@ -0,0 +1,159 @@
+=DONE=
+==ModelElements==
+* (Conform) 1_general_is_viewpoint
+* (Conform) 2_specific_is_view
+* (Expose) 1_client_is_view
+* (Stakeholder) 1_not_association ??
+* (View) 1_single_viewpoint
+* (Viewpoint) 2_create_view_operation
+==Blocks==
+* (BindingConnector) 1_compatible_types
+* (Block) 1_associations_binary
+* (Block) 2_connectors_binary
+* (Block) 6_valueproperties_composite
+* (Block) 8_specializations_are_blocks
+* (BoundReference) 1_bindingconnector_end
+* (BoundReference) 2_opposite_bindingconnector_end
+* (BoundReference) 3_navigable
+* (BoundReference) 4_propertypath_consistency
+* (BoundReference) 5_reference_or_valueproperty
+* (BoundReference) 6_ordered_nonunique
+* (BoundReference) 7_cannot_redefine_boundreference
+* (BoundReference) 8_notbounded_to_itslef
+* (ClassifierBehaviorProperty) 1_owner_classifierbehavior
+* (ClassifierBehaviorProperty) 2_composite
+* (ClassifierBehaviorProperty) 3_typed_by_classifierbehavior
+* (ConnectorProperty) 1_block_property
+* (ConnectorProperty) 2_owned_or_inherited
+* (ConnectorProperty) 3_composite
+* (ConnectorProperty) 4_typed_by_associationblock
+* (ConnectorProperty) 5_same_name
+* (DirectedRelationshipPropertyPath) 1_sourcecontext_iif_property
+* (DirectedRelationshipPropertyPath) 2_targetcontext_iif_property
+* (DirectedRelationshipPropertyPath) 3_sourcepropertypath_implies_property
+* (DirectedRelationshipPropertyPath) 4_targetpropertypath_implies_property
+* (DirectedRelationshipPropertyPath) 5_sourcecontext_owns_sourcepath_first
+* (DirectedRelationshipPropertyPath) 6_targetcontext_owns_targetpath_first
+* (DirectedRelationshipPropertyPath) 8_sourcepath_last_type_owns_source
+* (DirectedRelationshipPropertyPath) 9_targetpath_last_type_owns_target
+* (DistributedProperty) 1_block_or_valuetype
+* (ElementPropertyPath) 1_path_consistency
+* (EndPathMultiplicity) 1_redefinition
+* (EndPathMultiplicity) 2_non_negative
+* (NestedConnectorEnd) 1_propertypath_first_owned_by_connector_owner
+* (NestedConnectorEnd) 2_propertypath_last_type_owns_role
+* (ParticipantProperty) 1_associationblock
+* (ParticipantProperty) 2_memberend
+* (ParticipantProperty) 3_aggregationkind_none
+* (ParticipantProperty) 4_end_owner
+* (ParticipantProperty) 5_same_type
+* (ParticipantProperty) 6_multiplicity_1
+* (PropertySpecificType) 1_only_one_property
+* (ValueType) 1_specializations_are_valuetypes
+* (ValueType) 2_unit
+* (ValueType) 3_quantitykind
+==PortsAndFlows==
+* (AcceptChangeStructuralFeatureEventAction) 1_one_trigger
+* (AcceptChangeStructuralFeatureEventAction) 2_two_resultpins
+* (AcceptChangeStructuralFeatureEventAction) 3_context_owns_structuralfeature
+* (AcceptChangeStructuralFeatureEventAction) 4_can_access_structuralfeature
+* (AddFlowPropertyValueOnNestedPortAction) 1_feature_flowproperty
+* (AddFlowPropertyValueOnNestedPortAction) 2_onnestedport_first_owned_by_target_type
+* (AddFlowPropertyValueOnNestedPortAction) 3_path_consistency
+* (AddFlowPropertyValueOnNestedPortAction) 4_onnestedport_last_type_owns_invocation_onPort
+* (ChangeStructuralFeatureEvent) 1_not_static
+* (ChangeStructuralFeatureEvent) 2_one_featuringclassifier
+* (DirectedFeature) 1_behavioralfeature_or_not_flowproperty
+* (FlowProperty) 1_restricted_types
+* (FullPort) 1_not_proxy
+* (FullPort) 2_not_bound_to_fullport
+* (FullPort) 3_not_behavioral
+* (InterfaceBlock) 1_no_behavior
+* (InterfaceBlock) 3_interfaceblock_typed_ports
+* (InterfaceBlock) isconjugated_not_used
+* (InvocationOnNestedPortAction) 1_onPort_defined
+* (InvocationOnNestedPortAction) 2_onnestedport_first_owned_by_target_type
+* (InvocationOnNestedPortAction) 3_path_consistency
+* (InvocationOnNestedPortAction) 4_onnestedport_last_type_owns_invocation_onPort
+* (ItemFlow) 2_type_restricted
+* (ItemFlow) 4_association_xor_itemproperty
+* (ItemFlow) 5_same_type
+* (ItemFlow) 6_same_name
+* (ProxyPort) 1_not_fullport
+* (ProxyPort) 2_interfaceblock
+* (ProxyPort) 3_subports_are_proxyports
+* (TriggerOnNestedPort) 1_single_proxyport
+* (TriggerOnNestedPort) 2_no_fullport
+* (TriggerOnNestedPort) 3_onnestedport_first_owned_by_context
+* (TriggerOnNestedPort) 4_path_consistency
+* (~InterfaceBlock) enforced_name
+==ConstraintBlocks==
+* (ConstraintBlock) 3_composite
+==Activities==
+* (ControlOperator) 1_one_parameter_controlvalue
+* (ControlOperator) 2_controloperator_operation_method
+* (Discrete) 1_not_continuous
+* (NoBuffer) 1_not_overwrite
+* (Overwrite) 1_not_nobuffer
+* (Optional) 1_lower_is_0
+* (Probability) 1_source_decisionnode_or_objectnode
+* (Probability) 2_all_outgoing_edges
+* (Probability) 3_all_parametersets
+* (Probability) 4_all_outputparameter_in_parametersets
+* (Rate) 1_streaming
+* (Rate) 2_edges_rates
+==Allocations==
+* (Allocate) 2_binary
+* (AllocateActivityPartition) 1_actions_on_client_ends
+==Requirements==
+* (Copy) 1_source_and_taget_are_requirements
+* (Copy) 2_same_text
+* (DeriveReqt) 1_supplier_is_requirement
+* (DeriveReqt) 2_client_is_requirement
+* (Refine) 2_binary
+* (Requirement) 1_no_operation
+* (Requirement) 2_no_attribute
+* (Requirement) 3_no_association
+* (Requirement) 4_no_generalization
+* (Requirement) 5_nestedclassifiers_are_requirements
+* (Requirement) 6_not_a_type
+* (TestCase) 1_return_verdictkind
+* (Satisfy) 1_supplier_is_requirement
+* (Trace) 2_binary
+* (Verify) 1_supplier_is_requirement 
+
+=TODO=
+==ModelElements==
+* (View) 2_viewpoint_derived_from_conform
+* (View) 3_stakeholder_derived_from_conform
+* (Viewpoint) 1_method_derived_from_create_operations
+==Blocks==
+* (AdjunctProperty) 1_principal_kind
+* (AdjunctProperty) 2_same_name
+* (AdjunctProperty) 3_connector_and_callaction_composite
+* (AdjunctProperty) 4_same_owner
+* (AdjunctProperty) 5_compatible_type
+* (AdjunctProperty) 6_connector_principal_associationblock
+* (AdjunctProperty) 7_adjunctproperty_connectorproperty_consistent
+* (AdjunctProperty) 8_callAction_composite_and_consitent_type
+* (AdjunctProperty) 9_objectnode_multiplicity
+* (AdjunctProperty) 10_multiplicity_same_or_less_restrictive
+* (AdjunctProperty) 11_submachine_and_interactionuse_composite_and
+* (Block) 5_uml_connector_constraint_removed => remove an uml constraint
+* (Block) 7_composition_acyclic => inconsistency between ocl rule and text
+* (Block) 9_uml constraint_removed => remove an uml constraint
+* (DirectedRelationshipPropertyPath) 7_path_and_owners_consistency
+==PortsAndFlows==
+* (AcceptChangeStructuralFeatureEventAction) 5_uml_constraint_removed
+* (DirectedFeature) 2_method_if_provided => it seems that this constraint is conflicting with the (DirectedFeature) 1_behavioralfeature_or_not_flowproperty constraint
+* (InterfaceBlock) 2_no_part => change since 1.4 but it seems that the definition is not consistent with the OCL expression
+* (ItemFlow) 1_source_and_target_linked
+* (ItemFlow) 3_itemproperty_common_owner
+* (TriggerOnNestedPort) 5_onnestedport_last_type_owns_trigger_port
+* (~InterfaceBlock) inverted_features
+==ConstraintBlocks==
+* (ConstraintBlock) 1_constraintparameters_only
+==Activities==
+==Allocations==
+* (AllocateActivityPartition) 2_not_uml_semantics
+==Requirements==
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.classpath b/plugins/core/org.eclipse.papyrus.sysml16/.classpath
new file mode 100644
index 0000000..5814bdf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src-gen/"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.project b/plugins/core/org.eclipse.papyrus.sysml16/.project
new file mode 100644
index 0000000..6b8a2f2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.core.resources.prefs b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.core.runtime.prefs b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.jdt.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.jdt.ui.prefs b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.m2e.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.pde.api.tools.prefs b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/META-INF/MANIFEST.MF b/plugins/core/org.eclipse.papyrus.sysml16/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..8a5abc2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/META-INF/MANIFEST.MF
@@ -0,0 +1,48 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.sysml16.Activator
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.11.2,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml.profile.standard;bundle-version="[1.0.100,2.0.0)";visibility:=reexport,
+ org.eclipse.uml2.types;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml.resources;bundle-version="[5.1.0,6.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.sysml16,
+ org.eclipse.papyrus.sysml16.activities,
+ org.eclipse.papyrus.sysml16.activities.internal.impl,
+ org.eclipse.papyrus.sysml16.activities.util,
+ org.eclipse.papyrus.sysml16.allocations,
+ org.eclipse.papyrus.sysml16.allocations.internal.impl,
+ org.eclipse.papyrus.sysml16.allocations.util,
+ org.eclipse.papyrus.sysml16.blocks,
+ org.eclipse.papyrus.sysml16.blocks.internal.impl,
+ org.eclipse.papyrus.sysml16.blocks.util,
+ org.eclipse.papyrus.sysml16.constraintblocks,
+ org.eclipse.papyrus.sysml16.constraintblocks.internal.impl,
+ org.eclipse.papyrus.sysml16.constraintblocks.util,
+ org.eclipse.papyrus.sysml16.deprecatedelements,
+ org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl,
+ org.eclipse.papyrus.sysml16.deprecatedelements.util,
+ org.eclipse.papyrus.sysml16.internal.util,
+ org.eclipse.papyrus.sysml16.modelelements,
+ org.eclipse.papyrus.sysml16.modelelements.internal.impl,
+ org.eclipse.papyrus.sysml16.modelelements.util,
+ org.eclipse.papyrus.sysml16.portsandflows,
+ org.eclipse.papyrus.sysml16.portsandflows.internal.impl,
+ org.eclipse.papyrus.sysml16.portsandflows.util,
+ org.eclipse.papyrus.sysml16.requirements,
+ org.eclipse.papyrus.sysml16.requirements.internal.impl,
+ org.eclipse.papyrus.sysml16.requirements.util,
+ org.eclipse.papyrus.sysml16.sysml,
+ org.eclipse.papyrus.sysml16.sysml.internal.impl,
+ org.eclipse.papyrus.sysml16.util
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Bundle-Description: %Bundle-Description
+Bundle-Vendor: %Bundle-Vendor
+Automatic-Module-Name: org.eclipse.papyrus.sysml16
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/about.html b/plugins/core/org.eclipse.papyrus.sysml16/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/core/org.eclipse.papyrus.sysml16/build.properties b/plugins/core/org.eclipse.papyrus.sysml16/build.properties
new file mode 100644
index 0000000..bec2f0d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/build.properties
@@ -0,0 +1,24 @@
+# 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 2.0
+#  which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+# 
+# Contributors:
+#   Benoit Maggi (CEA LIST) benoit.maggi@cea.fr - Initial API and implementation
+# 
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               resources/,\
+               about.html
+jars.compile.order = .
+source.. = src-gen/,\
+           src/
+output.. = target/classes/
+src.includes = about.html
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/plugin.properties b/plugins/core/org.eclipse.papyrus.sysml16/plugin.properties
new file mode 100644
index 0000000..67e9f14
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/plugin.properties
@@ -0,0 +1,19 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Profile
+Bundle-Description=This plug-in contains the SyML 1.6 profile.
+Bundle-Vendor=Eclipse Modeling Project
+
+
+pluginName = Papyrus SysML 1.6 Profile
+providerName = Eclipse Modeling Project
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/plugin.xml b/plugins/core/org.eclipse.papyrus.sysml16/plugin.xml
new file mode 100644
index 0000000..e12e50d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/plugin.xml
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+
+  <extension
+         point="org.eclipse.emf.ecore.uri_mapping">
+      <mapping
+            source="pathmap://SysML16_LIBRARIES/"
+            target="platform:/plugin/org.eclipse.papyrus.sysml16/resources/library/"/>
+      <mapping
+            source="pathmap://SysML16_PROFILES/"
+            target="platform:/plugin/org.eclipse.papyrus.sysml16/resources/profile/"/>
+      <mapping
+            source="pathmap://SysML16_OMG/"
+            target="platform:/plugin/org.eclipse.papyrus.sysml16/resources/doc/">
+      </mapping>
+   </extension>
+
+   <extension
+         point="org.eclipse.emf.ecore.factory_override">
+      <factory
+            class="org.eclipse.papyrus.sysml16.blocks.BlocksFactoryCustomImpl"
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks">
+      </factory>
+   </extension>
+    <extension
+         point="org.eclipse.emf.ecore.factory_override">
+      <factory
+            class="org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksFactoryCustomImpl"
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks">
+      </factory>
+   </extension>    
+   <extension
+         point="org.eclipse.emf.ecore.factory_override">
+      <factory
+            class="org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatEdelementsCustomFactoryImpl"
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements">
+      </factory>
+   </extension>
+   <extension
+         point="org.eclipse.emf.ecore.factory_override">
+      <factory
+            class="org.eclipse.papyrus.sysml16.requirements.RequirementsFactoryCustomImpl"
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements">
+      </factory>
+   </extension>
+   <extension
+         point="org.eclipse.emf.ecore.factory_override">
+      <factory
+            class="org.eclipse.papyrus.sysml16.modelelements.ModelElementsFactoryCustomImpl"
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements">
+      </factory>
+   </extension>
+ 
+   <extension
+         point="org.eclipse.emf.ecore.factory_override">
+      <factory
+            class="org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsCustomFactoryImpl"
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows">
+      </factory>
+   </extension>
+   
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML"
+            class="org.eclipse.papyrus.sysml16.sysml.SysMLPackage"
+            genModel="resources/profile/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities"
+            class="org.eclipse.papyrus.sysml16.activities.ActivitiesPackage"
+            genModel="resources/profile/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations"
+            class="org.eclipse.papyrus.sysml16.allocations.AllocationsPackage"
+            genModel="resources/profile/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks"
+            class="org.eclipse.papyrus.sysml16.blocks.BlocksPackage"
+            genModel="resources/profile/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks"
+            class="org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage"
+            genModel="resources/profile/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements"
+            class="org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage"
+            genModel="resources/profile/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows"
+            class="org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage"
+            genModel="resources/profile/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements"
+            class="org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage"
+            genModel="resources/profile/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements"
+            class="org.eclipse.papyrus.sysml16.requirements.RequirementsPackage"
+            genModel="resources/profile/SysML.profile.genmodel"/>
+   </extension>
+   
+   <extension point="org.eclipse.uml2.uml.generated_package">
+     <profile uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML"
+           location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML"/>
+     <profile
+           location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Activities"
+           uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities">
+     </profile>
+     <profile
+           location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Allocations"
+           uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations">
+     </profile>
+     <profile
+           location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks"
+           uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks">
+     </profile>
+     <profile
+           location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks"
+           uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks">
+     </profile>
+     <profile
+           location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements"
+           uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements">
+     </profile>
+     <profile
+           location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows"
+           uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows">
+     </profile>
+     <profile
+           location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ModelElements"
+           uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements">
+     </profile>
+     <profile
+           location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements"
+           uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements">
+     </profile>
+  </extension>
+   
+</plugin>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/pom.xml b/plugins/core/org.eclipse.papyrus.sysml16/pom.xml
new file mode 100644
index 0000000..f397cf9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/pom.xml
@@ -0,0 +1,14 @@
+<?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.sysml16.core</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16</name>
+	<description>This plug-in contains the OMG SyML 1.6 profile and its associated QUDV library.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.di b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.di
new file mode 100644
index 0000000..f784d67
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.sysml.architecture.SysML14"/>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.notation b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.notation
new file mode 100644
index 0000000..ffcb5de
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.notation
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_YncoYJoQEeeXz9m6CNxSgg" type="PapyrusUMLClassDiagram" name="PortsdFlows" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_Y_vzoJoQEeeXz9m6CNxSgg" type="NamedElement_DefaultShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Y_xo0JoQEeeXz9m6CNxSgg" type="NamedElement_NameLabel"/>
+      <element xmi:type="uml:Operation" href="SysML-Extension.uml#_bkbkIFFjEeWDrM-hgr_-Kg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y_vzoZoQEeeXz9m6CNxSgg" x="160" y="280"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Y_6ywJoQEeeXz9m6CNxSgg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Y_7Z0JoQEeeXz9m6CNxSgg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Y_7Z0ZoQEeeXz9m6CNxSgg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Y_7Z0poQEeeXz9m6CNxSgg" y="15"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Y_8A4JoQEeeXz9m6CNxSgg" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Y_8A4ZoQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Y_8A4poQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y_8A45oQEeeXz9m6CNxSgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y_8A5JoQEeeXz9m6CNxSgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Y_8A5ZoQEeeXz9m6CNxSgg" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Y_8A5poQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Y_8A55oQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y_8A6JoQEeeXz9m6CNxSgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y_8A6ZoQEeeXz9m6CNxSgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Y_8A6poQEeeXz9m6CNxSgg" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Y_8A65oQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Y_8A7JoQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y_8A7ZoQEeeXz9m6CNxSgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y_8A7poQEeeXz9m6CNxSgg"/>
+      </children>
+      <element xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_5W_iEFFwEeWFqsbjn0GMrw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y_6ywZoQEeeXz9m6CNxSgg" x="430" y="249"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ZAkTAJoQEeeXz9m6CNxSgg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_ZAkTAZoQEeeXz9m6CNxSgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZAkTA5oQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_5W_iEFFwEeWFqsbjn0GMrw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZAkTApoQEeeXz9m6CNxSgg" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ZBI6wJoQEeeXz9m6CNxSgg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_ZBI6wZoQEeeXz9m6CNxSgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZBI6w5oQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Abstraction" href="SysML-Extension.uml#_4mO-EFFxEeWFqsbjn0GMrw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZBI6wpoQEeeXz9m6CNxSgg" x="530" y="149"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_YncoYZoQEeeXz9m6CNxSgg" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_YncoYpoQEeeXz9m6CNxSgg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_YncoY5oQEeeXz9m6CNxSgg" diagramKindId="org.eclipse.papyrus.sysml14.diagram.package">
+      <owner xmi:type="uml:Package" href="SysML-Extension.uml#_lUJKsFFjEeWDrM-hgr_-Kg"/>
+    </styles>
+    <element xmi:type="uml:Package" href="SysML-Extension.uml#_lUJKsFFjEeWDrM-hgr_-Kg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_ZAk6EJoQEeeXz9m6CNxSgg" type="StereotypeCommentLink" source="_Y_6ywJoQEeeXz9m6CNxSgg" target="_ZAkTAJoQEeeXz9m6CNxSgg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZAk6EZoQEeeXz9m6CNxSgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZAlhIJoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_5W_iEFFwEeWFqsbjn0GMrw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZAk6EpoQEeeXz9m6CNxSgg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZAk6E5oQEeeXz9m6CNxSgg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZAk6FJoQEeeXz9m6CNxSgg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ZBEpUJoQEeeXz9m6CNxSgg" type="Dependency_Edge" source="_Y_vzoJoQEeeXz9m6CNxSgg" target="_Y_6ywJoQEeeXz9m6CNxSgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZBEpU5oQEeeXz9m6CNxSgg" type="Dependency_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZZ_foJoQEeeXz9m6CNxSgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZBEpVJoQEeeXz9m6CNxSgg" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZBEpVZoQEeeXz9m6CNxSgg" type="Dependency_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZaG0YJoQEeeXz9m6CNxSgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZBEpVpoQEeeXz9m6CNxSgg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZBEpUZoQEeeXz9m6CNxSgg"/>
+      <element xmi:type="uml:Abstraction" href="SysML-Extension.uml#_4mO-EFFxEeWFqsbjn0GMrw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZBEpUpoQEeeXz9m6CNxSgg" points="[0, 0, -643984, -643984]$[0, 0, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZaU20JoQEeeXz9m6CNxSgg" id="(1.0,0.5)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZaVd4JoQEeeXz9m6CNxSgg" id="(0.0,0.49557522123893805)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ZBI6xJoQEeeXz9m6CNxSgg" type="StereotypeCommentLink" source="_ZBEpUJoQEeeXz9m6CNxSgg" target="_ZBI6wJoQEeeXz9m6CNxSgg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZBI6xZoQEeeXz9m6CNxSgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZBI6yZoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Abstraction" href="SysML-Extension.uml#_4mO-EFFxEeWFqsbjn0GMrw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZBI6xpoQEeeXz9m6CNxSgg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZBI6x5oQEeeXz9m6CNxSgg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZBI6yJoQEeeXz9m6CNxSgg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_bFgmQJoQEeeXz9m6CNxSgg" type="PapyrusUMLClassDiagram" name="Blocks" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_bh2kAJoQEeeXz9m6CNxSgg" type="NamedElement_DefaultShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_bh3LEJoQEeeXz9m6CNxSgg" type="NamedElement_NameLabel"/>
+      <element xmi:type="uml:Operation" href="SysML-Extension.uml#_RQB2sFIUEeWHYvssogj-zQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh2kAZoQEeeXz9m6CNxSgg" x="160" y="400"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_bh8qoJoQEeeXz9m6CNxSgg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_bh8qopoQEeeXz9m6CNxSgg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bh8qo5oQEeeXz9m6CNxSgg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bh8qpJoQEeeXz9m6CNxSgg" y="15"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_bh8qpZoQEeeXz9m6CNxSgg" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_bh8qppoQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_bh8qp5oQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_bh8qqJoQEeeXz9m6CNxSgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh8qqZoQEeeXz9m6CNxSgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_bh8qqpoQEeeXz9m6CNxSgg" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_bh8qq5oQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_bh8qrJoQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_bh8qrZoQEeeXz9m6CNxSgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh8qrpoQEeeXz9m6CNxSgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_bh8qr5oQEeeXz9m6CNxSgg" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_bh8qsJoQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_bh8qsZoQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_bh8qspoQEeeXz9m6CNxSgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh8qs5oQEeeXz9m6CNxSgg"/>
+      </children>
+      <element xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_ZyAskFIZEeWOVPwTUSkFAw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh8qoZoQEeeXz9m6CNxSgg" x="461" y="402"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_biLUI5oQEeeXz9m6CNxSgg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_biLUJJoQEeeXz9m6CNxSgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_biL7MJoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_ZyAskFIZEeWOVPwTUSkFAw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biLUJZoQEeeXz9m6CNxSgg" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_bigEQ5oQEeeXz9m6CNxSgg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_bigERJoQEeeXz9m6CNxSgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_bigERpoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Abstraction" href="SysML-Extension.uml#_839tMFIaEeWOVPwTUSkFAw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bigERZoQEeeXz9m6CNxSgg" x="561" y="302"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_bFgmQZoQEeeXz9m6CNxSgg" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_bFgmQpoQEeeXz9m6CNxSgg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_bFgmQ5oQEeeXz9m6CNxSgg" diagramKindId="org.eclipse.papyrus.sysml14.diagram.package">
+      <owner xmi:type="uml:Package" href="SysML-Extension.uml#_DjFlkFIUEeWHYvssogj-zQ"/>
+    </styles>
+    <element xmi:type="uml:Package" href="SysML-Extension.uml#_DjFlkFIUEeWHYvssogj-zQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_biL7MZoQEeeXz9m6CNxSgg" type="StereotypeCommentLink" source="_bh8qoJoQEeeXz9m6CNxSgg" target="_biLUI5oQEeeXz9m6CNxSgg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_biL7MpoQEeeXz9m6CNxSgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_biL7NpoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_ZyAskFIZEeWOVPwTUSkFAw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_biL7M5oQEeeXz9m6CNxSgg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biL7NJoQEeeXz9m6CNxSgg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biL7NZoQEeeXz9m6CNxSgg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_bibLwJoQEeeXz9m6CNxSgg" type="Dependency_Edge" source="_bh2kAJoQEeeXz9m6CNxSgg" target="_bh8qoJoQEeeXz9m6CNxSgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_bibLw5oQEeeXz9m6CNxSgg" type="Dependency_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_b-Xg4JoQEeeXz9m6CNxSgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bibLxJoQEeeXz9m6CNxSgg" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bibLxZoQEeeXz9m6CNxSgg" type="Dependency_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_b-cZYJoQEeeXz9m6CNxSgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bibLxpoQEeeXz9m6CNxSgg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_bibLwZoQEeeXz9m6CNxSgg"/>
+      <element xmi:type="uml:Abstraction" href="SysML-Extension.uml#_839tMFIaEeWOVPwTUSkFAw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bibLwpoQEeeXz9m6CNxSgg" points="[0, 0, -643984, -643984]$[0, 0, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b-mKYJoQEeeXz9m6CNxSgg" id="(1.0,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b-mKYZoQEeeXz9m6CNxSgg" id="(0.0,0.4424778761061947)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_bigER5oQEeeXz9m6CNxSgg" type="StereotypeCommentLink" source="_bibLwJoQEeeXz9m6CNxSgg" target="_bigEQ5oQEeeXz9m6CNxSgg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_bigESJoQEeeXz9m6CNxSgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_bigETJoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Abstraction" href="SysML-Extension.uml#_839tMFIaEeWOVPwTUSkFAw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bigESZoQEeeXz9m6CNxSgg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bigESpoQEeeXz9m6CNxSgg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bigES5oQEeeXz9m6CNxSgg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_fAvFsJoQEeeXz9m6CNxSgg" type="PapyrusUMLClassDiagram" name="NewSysML1.6PackageDiagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_fU0fUJoQEeeXz9m6CNxSgg" type="NamedElement_DefaultShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_fU0fUpoQEeeXz9m6CNxSgg" type="NamedElement_NameLabel"/>
+      <element xmi:type="uml:Operation" href="SysML-Extension.uml#_XgZG8FFjEeWDrM-hgr_-Kg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fU0fUZoQEeeXz9m6CNxSgg" x="399" y="166"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_fU6l8JoQEeeXz9m6CNxSgg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_fU6l8poQEeeXz9m6CNxSgg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_fU6l85oQEeeXz9m6CNxSgg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_fU6l9JoQEeeXz9m6CNxSgg" y="15"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_fU6l9ZoQEeeXz9m6CNxSgg" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_fU6l9poQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_fU6l95oQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_fU6l-JoQEeeXz9m6CNxSgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fU6l-ZoQEeeXz9m6CNxSgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_fU6l-poQEeeXz9m6CNxSgg" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_fU6l-5oQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_fU6l_JoQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_fU6l_ZoQEeeXz9m6CNxSgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fU6l_poQEeeXz9m6CNxSgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_fU6l_5oQEeeXz9m6CNxSgg" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_fU6mAJoQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_fU6mAZoQEeeXz9m6CNxSgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_fU6mApoQEeeXz9m6CNxSgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fU6mA5oQEeeXz9m6CNxSgg"/>
+      </children>
+      <element xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_b0XAEFFvEeWFqsbjn0GMrw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fU6l8ZoQEeeXz9m6CNxSgg" x="499" y="166"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_fVOH85oQEeeXz9m6CNxSgg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_fVOH9JoQEeeXz9m6CNxSgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fVOH9poQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_b0XAEFFvEeWFqsbjn0GMrw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fVOH9ZoQEeeXz9m6CNxSgg" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_fVktQ5oQEeeXz9m6CNxSgg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_fVktRJoQEeeXz9m6CNxSgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fVktRpoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Abstraction" href="SysML-Extension.uml#_nViSUFFxEeWFqsbjn0GMrw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fVktRZoQEeeXz9m6CNxSgg" x="599" y="66"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_fAvFsZoQEeeXz9m6CNxSgg" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_fAvFspoQEeeXz9m6CNxSgg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_fAvFs5oQEeeXz9m6CNxSgg" diagramKindId="org.eclipse.papyrus.sysml14.diagram.package">
+      <owner xmi:type="uml:Package" href="SysML-Extension.uml#_M8sesFFjEeWDrM-hgr_-Kg"/>
+    </styles>
+    <element xmi:type="uml:Package" href="SysML-Extension.uml#_M8sesFFjEeWDrM-hgr_-Kg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_fVOH95oQEeeXz9m6CNxSgg" type="StereotypeCommentLink" source="_fU6l8JoQEeeXz9m6CNxSgg" target="_fVOH85oQEeeXz9m6CNxSgg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_fVOvAJoQEeeXz9m6CNxSgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fVOvBJoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_b0XAEFFvEeWFqsbjn0GMrw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fVOvAZoQEeeXz9m6CNxSgg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fVOvApoQEeeXz9m6CNxSgg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fVOvA5oQEeeXz9m6CNxSgg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_fViRAJoQEeeXz9m6CNxSgg" type="Dependency_Edge" source="_fU0fUJoQEeeXz9m6CNxSgg" target="_fU6l8JoQEeeXz9m6CNxSgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_fVi4EJoQEeeXz9m6CNxSgg" type="Dependency_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_fVi4EZoQEeeXz9m6CNxSgg" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_fVi4EpoQEeeXz9m6CNxSgg" type="Dependency_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_fVi4E5oQEeeXz9m6CNxSgg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_fViRAZoQEeeXz9m6CNxSgg"/>
+      <element xmi:type="uml:Abstraction" href="SysML-Extension.uml#_nViSUFFxEeWFqsbjn0GMrw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fViRApoQEeeXz9m6CNxSgg" points="[0, 0, -643984, -643984]$[0, 0, -643984, -643984]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_fVlUUJoQEeeXz9m6CNxSgg" type="StereotypeCommentLink" source="_fViRAJoQEeeXz9m6CNxSgg" target="_fVktQ5oQEeeXz9m6CNxSgg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_fVlUUZoQEeeXz9m6CNxSgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fVlUVZoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Abstraction" href="SysML-Extension.uml#_nViSUFFxEeWFqsbjn0GMrw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fVlUUpoQEeeXz9m6CNxSgg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fVlUU5oQEeeXz9m6CNxSgg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fVlUVJoQEeeXz9m6CNxSgg"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.uml b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.uml
new file mode 100644
index 0000000..fe69ce5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.uml
@@ -0,0 +1,134 @@
+<?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:Requirements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements" 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/sysml/1.4/SysML/Requirements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements">
+  <uml:Model xmi:id="_82iTcFFiEeWDrM-hgr_-Kg" name="SysML">
+    <packagedElement xmi:type="uml:Package" xmi:id="_M8sesFFjEeWDrM-hgr_-Kg" name="DeprecatedElements">
+      <packagedElement xmi:type="uml:Class" xmi:id="_PWXr0FFjEeWDrM-hgr_-Kg" name="FlowPort">
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_XgZG8FFjEeWDrM-hgr_-Kg" name="getIcon">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_XgZG8VFjEeWDrM-hgr_-Kg" name="img" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Abstraction" xmi:id="_nViSUFFxEeWFqsbjn0GMrw" name="Satisfy1" client="_XgZG8FFjEeWDrM-hgr_-Kg">
+        <supplier xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_b0XAEFFvEeWFqsbjn0GMrw"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_PEJF4Ga4EeW5JrLha2pcnA" name="FlowSpecification">
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_XE7sgGa4EeW5JrLha2pcnA" name="getFlowProperties">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_XE7sgWa4EeW5JrLha2pcnA" name="flowProperties" direction="out">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XE7sgma4EeW5JrLha2pcnA"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XE7sg2a4EeW5JrLha2pcnA" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_lUJKsFFjEeWDrM-hgr_-Kg" name="PortsAndFlows">
+      <packagedElement xmi:type="uml:Class" xmi:id="_j0IwgFFjEeWDrM-hgr_-Kg" name="FlowProperty">
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_bkbkIFFjEeWDrM-hgr_-Kg" name="getIcon">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_bkbkIVFjEeWDrM-hgr_-Kg" name="img" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Abstraction" xmi:id="_4mO-EFFxEeWFqsbjn0GMrw" name="Satisfy1" client="_bkbkIFFjEeWDrM-hgr_-Kg">
+        <supplier xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_5W_iEFFwEeWFqsbjn0GMrw"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_DjFlkFIUEeWHYvssogj-zQ" name="Blocks">
+      <packagedElement xmi:type="uml:Class" xmi:id="_Mh_aQFIUEeWHYvssogj-zQ" name="Block">
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_RQB2sFIUEeWHYvssogj-zQ" name="getReferences">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_5V4qYFIWEeWOVPwTUSkFAw" name="references" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JptMQFIZEeWOVPwTUSkFAw"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JpxdsFIZEeWOVPwTUSkFAw" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_kEJocFYDEeW77p7V_ZuW3Q" name="getParts">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_rMeWAFYDEeW77p7V_ZuW3Q" name="parts" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_f5D2IFYFEeW77p7V_ZuW3Q"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gpIoMFYFEeW77p7V_ZuW3Q" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_K4WW8GE-EeWbSMDuSXx8SQ" name="getFlowProperties">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_QHhKgGE-EeWbSMDuSXx8SQ" name="flowProperties" direction="out">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UXmfoGE-EeWbSMDuSXx8SQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U6nGEGE-EeWbSMDuSXx8SQ" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Abstraction" xmi:id="_839tMFIaEeWOVPwTUSkFAw" client="_RQB2sFIUEeWHYvssogj-zQ">
+        <supplier xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_ZyAskFIZEeWOVPwTUSkFAw"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_YYHkIACyEeabH6-I0dvpUQ" name="ConstraintBlocks">
+      <packagedElement xmi:type="uml:Class" xmi:id="_fe0hEACyEeabH6-I0dvpUQ" name="ConstraintBlock">
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_pFeSQACyEeabH6-I0dvpUQ" name="getParameters">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_pFeSQQCyEeabH6-I0dvpUQ" name="parameters" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_56uYIACyEeabH6-I0dvpUQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_56wNUACyEeabH6-I0dvpUQ" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7ccQJoQEeeXz9m6CNxSgg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7dqYJoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7eRcJoQEeeXz9m6CNxSgg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7e4gJoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//activities"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Activities"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7e4gZoQEeeXz9m6CNxSgg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7ffkJoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//allocations"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Allocations"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7gGoJoQEeeXz9m6CNxSgg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7gGoZoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//blocks"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7gtsJoQEeeXz9m6CNxSgg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7hUwJoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//constraintblocks"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7h70JoQEeeXz9m6CNxSgg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7h70ZoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//deprecatedelements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7ii4JoQEeeXz9m6CNxSgg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7ii4ZoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//modelelements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ModelElements"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7jJ8JoQEeeXz9m6CNxSgg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7jxAJoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//portsandflows"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7kYEJoQEeeXz9m6CNxSgg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7k_IJoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+    </profileApplication>
+  </uml:Model>
+  <Requirements:Satisfy xmi:id="_nVoY8FFxEeWFqsbjn0GMrw" base_Abstraction="_nViSUFFxEeWFqsbjn0GMrw"/>
+  <Requirements:Satisfy xmi:id="_4mSocFFxEeWFqsbjn0GMrw" base_Abstraction="_4mO-EFFxEeWFqsbjn0GMrw"/>
+  <Requirements:Satisfy xmi:id="_-e_8cFIaEeWOVPwTUSkFAw" base_Abstraction="_839tMFIaEeWOVPwTUSkFAw"/>
+</xmi:XMI>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/org.eclipse.papyrus.sysml14.uml b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/org.eclipse.papyrus.sysml14.uml
new file mode 100644
index 0000000..6e00ebc
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/org.eclipse.papyrus.sysml14.uml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001"/>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/SysML.gif b/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/SysML.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/SysML.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/SysMLModel.gif b/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/SysMLModel.gif
new file mode 100644
index 0000000..35ee3e1
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/SysMLModel.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/full/obj16/SysML.gif b/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/full/obj16/SysML.gif
new file mode 100644
index 0000000..8f7da75
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/full/obj16/SysML.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.di b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.di
new file mode 100644
index 0000000..785b011
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.sysml.architecture.SysML16"/>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.notation b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.notation
new file mode 100644
index 0000000..9bf93b8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.notation
@@ -0,0 +1,1603 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_0Gvw8HJgEeWaaoAi4ttVsA" type="PapyrusUMLClassDiagram" name="QUDVDiagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_2RUyIHJgEeWaaoAi4ttVsA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_2RXOYHJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_2RXOYXJgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_2RXOYnJgEeWaaoAi4ttVsA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_2RX1cHJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lMIxsBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lMIxsRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_n0ZNYBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.isInvertible"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_n0ZNYRL9EeeY9ueKNJ6bdg"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_2RX1cXJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_2RX1cnJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_2RX1c3JgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2RX1dHJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_2RX1dXJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_2RX1dnJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_2RX1d3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_2RX1eHJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2RX1eXJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_2RX1enJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_2RX1e3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_2RX1fHJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_2RX1fXJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2RX1fnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_2T8oUHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_2T8oUXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2T8oUnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_2T9PYHJgEeWaaoAi4ttVsA" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_2T9PYXJgEeWaaoAi4ttVsA" showTitle="true"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_2T9PYnJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2T9PY3JgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="_2UNHAHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_2UNuEHJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+    <children xmi:type="notation:Compartment" xmi:id="_2UOVIHJgEeWaaoAi4ttVsA" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="_2UOVIXJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_2UO8MHJgEeWaaoAi4ttVsA" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_2UO8MXJgEeWaaoAi4ttVsA" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="_2UPjQHJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="_U4N1IBIqEeeFNrLZFDmeGg" type="Parameters"/>
+    <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_ConversionBasedUnit"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2RUyIXJgEeWaaoAi4ttVsA" x="1640" y="720" width="141" height="161"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_2UWQ8HJgEeWaaoAi4ttVsA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_2UWQ8XJgEeWaaoAi4ttVsA" showTitle="true"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_2UWQ83JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_ConversionBasedUnit"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2UWQ8nJgEeWaaoAi4ttVsA" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_3J2VkHJgEeWaaoAi4ttVsA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_3J2VknJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_3J2Vk3JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_3J2VlHJgEeWaaoAi4ttVsA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_3J2VlXJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uDd-wBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uDd-wRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_v5Rp0BL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_v5Rp0RL9EeeY9ueKNJ6bdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_v5SQ4BL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_v5SQ4RL9EeeY9ueKNJ6bdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_v5S38BL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_v5S38RL9EeeY9ueKNJ6bdg"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3J2VlnJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_3J2Vl3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_3J2VmHJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3J2VmXJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_3J28oHJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3J28oXJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_3J28onJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_3J28o3JgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3J28pHJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_3J28pXJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3J28pnJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_3J28p3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_3J28qHJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3J28qXJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_3KJ3kHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_3KJ3kXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3KJ3knJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_3KJ3k3JgEeWaaoAi4ttVsA" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3KJ3lHJgEeWaaoAi4ttVsA" showTitle="true"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_3KJ3lXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3KJ3lnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="_3KQlQHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_3KRMUHJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+    <children xmi:type="notation:Compartment" xmi:id="_3KRMUXJgEeWaaoAi4ttVsA" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="_3KRMUnJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_3KSacHJgEeWaaoAi4ttVsA" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_3KSacXJgEeWaaoAi4ttVsA" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="_3KSacnJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="_VEZP8BIqEeeFNrLZFDmeGg" type="Parameters"/>
+    <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Unit"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3J2VkXJgEeWaaoAi4ttVsA" x="1200" y="720" width="161" height="161"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_3KXS8HJgEeWaaoAi4ttVsA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_3KXS8XJgEeWaaoAi4ttVsA" showTitle="true"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3KXS83JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Unit"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3KXS8nJgEeWaaoAi4ttVsA" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_39NFIHJgEeWaaoAi4ttVsA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_39NsMHJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_39NsMXJgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_39NsMnJgEeWaaoAi4ttVsA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_39NsM3JgEeWaaoAi4ttVsA" visible="false" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0dPXQBOMEeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0dPXQROMEeeY9ueKNJ6bdg" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_39NsNHJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_39NsNXJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_39NsNnJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_39NsN3JgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_39NsOHJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_39NsOXJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_39NsOnJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_39NsO3JgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_39NsPHJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_39NsPXJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_39NsPnJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_39NsP3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_39NsQHJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_39NsQXJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_4AaKIHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_4AaKIXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4AaKInJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_4AaKI3JgEeWaaoAi4ttVsA" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_4AaKJHJgEeWaaoAi4ttVsA" showTitle="true"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_4AaKJXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4AaKJnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="_4AgQwHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_4Ag30HJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+    <children xmi:type="notation:Compartment" xmi:id="_4Ahe4HJgEeWaaoAi4ttVsA" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="_4Ahe4XJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_4Ahe4nJgEeWaaoAi4ttVsA" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_4Ahe43JgEeWaaoAi4ttVsA" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="_4AiF8HJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="_VE4YIBIqEeeFNrLZFDmeGg" type="Parameters"/>
+    <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_DerivedQuantityKind"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_39NFIXJgEeWaaoAi4ttVsA" x="256" y="267" width="164" height="104"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_4AlJQHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_4AlJQXJgEeWaaoAi4ttVsA" showTitle="true"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_4AlJQ3JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_DerivedQuantityKind"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4AlJQnJgEeWaaoAi4ttVsA" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_4m0p4HJgEeWaaoAi4ttVsA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_4m1Q8HJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_4m1Q8XJgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_4m1Q8nJgEeWaaoAi4ttVsA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_4m1Q83JgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_29WwkBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_29WwkRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_4ZL1YBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.exponent"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4ZL1YRL9EeeY9ueKNJ6bdg"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_4m1Q9HJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_4m1Q9XJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_4m1Q9nJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4m1Q93JgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_4m1Q-HJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_4m1Q-XJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_4m1Q-nJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_4m1Q-3JgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4m1Q_HJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_4m1Q_XJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_4m1Q_nJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_4m1Q_3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_4m1RAHJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4m1RAXJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_4pdHIHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_4pdHIXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4pdHInJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_4pdHI3JgEeWaaoAi4ttVsA" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_4pdHJHJgEeWaaoAi4ttVsA" showTitle="true"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_4pdHJXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4pdHJnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="_4pj00HJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_4pkb4HJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+    <children xmi:type="notation:Compartment" xmi:id="_4pkb4XJgEeWaaoAi4ttVsA" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="_4pkb4nJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_4pkb43JgEeWaaoAi4ttVsA" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_4plC8HJgEeWaaoAi4ttVsA" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="_4plC8XJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="_VFWSMBIqEeeFNrLZFDmeGg" type="Parameters"/>
+    <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_QuantityKindFactor"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4m0p4XJgEeWaaoAi4ttVsA" x="100" y="480" width="161" height="161"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_4poGQHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_4poGQXJgEeWaaoAi4ttVsA" showTitle="true"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_4poGQ3JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_QuantityKindFactor"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4poGQnJgEeWaaoAi4ttVsA" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_5Y18sHJgEeWaaoAi4ttVsA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_5Y18snJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_5Y18s3JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5Y18tHJgEeWaaoAi4ttVsA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_5Y18tXJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QjpqwBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QjqR0BL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_ToHhUBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ToHhURL9EeeY9ueKNJ6bdg"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_5Y18tnJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_5Y18t3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_5Y18uHJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Y18uXJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_5Y18unJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_5Y18u3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_5Y18vHJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_5Y18vXJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Y18vnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_5Y18v3JgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_5Y18wHJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_5Y18wXJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_5Y18wnJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Y18w3JgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_5ZXhIHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_5ZXhIXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5ZXhInJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_5ZXhI3JgEeWaaoAi4ttVsA" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_5ZXhJHJgEeWaaoAi4ttVsA" showTitle="true"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_5ZXhJXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5ZXhJnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="_5ZdnwHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_5ZdnwXJgEeWaaoAi4ttVsA" visible="false" type="constraints" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aA62cBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aA7dgBL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="_5ZeO0HJgEeWaaoAi4ttVsA" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="_5ZeO0XJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_5ZeO0nJgEeWaaoAi4ttVsA" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_5ZeO03JgEeWaaoAi4ttVsA" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="_5Ze14HJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="_VF32oBIqEeeFNrLZFDmeGg" type="Parameters"/>
+    <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_DerivedUnit"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Y18sXJgEeWaaoAi4ttVsA" x="1520" y="220" width="159" height="118"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_5Zh5MHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_5Zh5MXJgEeWaaoAi4ttVsA" showTitle="true"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_5ZigQHJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_DerivedUnit"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Zh5MnJgEeWaaoAi4ttVsA" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_6IwWsHJgEeWaaoAi4ttVsA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_6IwWsnJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_6IwWs3JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_6IwWtHJgEeWaaoAi4ttVsA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6Iw9wHJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iqNngBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iqOOkBL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_kKypcBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_UnitFactor_ownedAttribute.exponent"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kKypcRL9EeeY9ueKNJ6bdg"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6Iw9wXJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6Iw9wnJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6Iw9w3JgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Iw9xHJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6Iw9xXJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6Iw9xnJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6Iw9x3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6Iw9yHJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Iw9yXJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6Iw9ynJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6Iw9y3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6Iw9zHJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6Iw9zXJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Iw9znJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_6Jc6QHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_6Jc6QXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Jc6QnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6JdhUHJgEeWaaoAi4ttVsA" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6JdhUXJgEeWaaoAi4ttVsA" showTitle="true"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_6JdhUnJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6JdhU3JgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="_6JmEMHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_6JmEMXJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+    <children xmi:type="notation:Compartment" xmi:id="_6JmEMnJgEeWaaoAi4ttVsA" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="_6JmrQHJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_6JmrQXJgEeWaaoAi4ttVsA" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_6JmrQnJgEeWaaoAi4ttVsA" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="_6JmrQ3JgEeWaaoAi4ttVsA" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="_VGY0ABIqEeeFNrLZFDmeGg" type="Parameters"/>
+    <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_UnitFactor"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6IwWsXJgEeWaaoAi4ttVsA" x="1520" y="500" width="164" height="113"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_6JqVoHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_6JqVoXJgEeWaaoAi4ttVsA" showTitle="true"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6JqVo3JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_UnitFactor"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6JqVonJgEeWaaoAi4ttVsA" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_6-dPoHJgEeWaaoAi4ttVsA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_6-dPonJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_6-dPo3JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_6-d2sHJgEeWaaoAi4ttVsA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6-d2sXJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0cCqYBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0cCqYRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_1YxYYBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1YxYYRL9EeeY9ueKNJ6bdg"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6-d2snJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6-d2s3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6-d2tHJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6-d2tXJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6-d2tnJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6-d2t3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6-d2uHJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6-d2uXJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6-d2unJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6-d2u3JgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6-d2vHJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6-d2vXJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6-d2vnJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6-d2v3JgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_6_Qg4HJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_6_Qg4XJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6_Qg4nJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6_RH8HJgEeWaaoAi4ttVsA" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6_RH8XJgEeWaaoAi4ttVsA" showTitle="true"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_6_RH8nJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6_RH83JgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="_6_X1oHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_6_X1oXJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+    <children xmi:type="notation:Compartment" xmi:id="_6_YcsHJgEeWaaoAi4ttVsA" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="_6_YcsXJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_6_ZDwHJgEeWaaoAi4ttVsA" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_6_ZDwXJgEeWaaoAi4ttVsA" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="_6_ZDwnJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="_VJADIBIqEeeFNrLZFDmeGg" type="Parameters"/>
+    <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Dimension"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6-dPoXJgEeWaaoAi4ttVsA" x="20" y="20" width="161" height="181"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_6_cuIHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_6_cuIXJgEeWaaoAi4ttVsA" showTitle="true"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6_cuI3JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Dimension"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6_cuInJgEeWaaoAi4ttVsA" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_7wOq0HJgEeWaaoAi4ttVsA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_7wOq0nJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_7wOq03JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_7wOq1HJgEeWaaoAi4ttVsA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7wPR4HJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7yq5sBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7yq5sRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_-Ju3sBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-Ju3sRL9EeeY9ueKNJ6bdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_-JvewBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-JvewRL9EeeY9ueKNJ6bdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_-JwF0BL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-JwF0RL9EeeY9ueKNJ6bdg"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7wPR4XJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7wPR4nJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7wPR43JgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wPR5HJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7wPR5XJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7wPR5nJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7wPR53JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7wPR6HJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wPR6XJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7wPR6nJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7wPR63JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7wPR7HJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7wPR7XJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wPR7nJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_7xDKMHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_7xDKMXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7xDKMnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7xDxQHJgEeWaaoAi4ttVsA" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7xDxQXJgEeWaaoAi4ttVsA" showTitle="true"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_7xDxQnJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7xDxQ3JgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="_7xKe8HJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_7xKe8XJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+    <children xmi:type="notation:Compartment" xmi:id="_7xKe8nJgEeWaaoAi4ttVsA" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="_7xKe83JgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_7xLGAHJgEeWaaoAi4ttVsA" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_7xLGAXJgEeWaaoAi4ttVsA" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="_7xLGAnJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="_VJhnkBIqEeeFNrLZFDmeGg" type="Parameters"/>
+    <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wOq0XJgEeWaaoAi4ttVsA" x="500" y="720" width="201" height="161"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_7xOJUHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_7xOJUXJgEeWaaoAi4ttVsA" showTitle="true"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_7xOwYHJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7xOJUnJgEeWaaoAi4ttVsA" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_8nrQMHJgEeWaaoAi4ttVsA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_8nr3QHJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8nr3QXJgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8nr3QnJgEeWaaoAi4ttVsA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_8nr3Q3JgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xb2p4BOMEeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xb34ABOMEeeY9ueKNJ6bdg" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_y4Q9gBOMEeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_y4Q9gROMEeeY9ueKNJ6bdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_y4Q9ghOMEeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_y4Q9gxOMEeeY9ueKNJ6bdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_y4Q9hBOMEeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_y4Q9hROMEeeY9ueKNJ6bdg"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_8nr3RHJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_8nr3RXJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_8nr3RnJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8nr3R3JgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_8nr3SHJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_8nr3SXJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_8nr3SnJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_8nr3S3JgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8nr3THJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_8nr3TXJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_8nr3TnJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_8nr3T3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_8nr3UHJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8nr3UXJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8okoEHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_8okoEXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8okoEnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_8olPIHJgEeWaaoAi4ttVsA" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_8olPIXJgEeWaaoAi4ttVsA" showTitle="true"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_8olPInJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8olPI3JgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="_8orVwHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_8or80HJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+    <children xmi:type="notation:Compartment" xmi:id="_8or80XJgEeWaaoAi4ttVsA" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="_8or80nJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_8osj4HJgEeWaaoAi4ttVsA" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_8osj4XJgEeWaaoAi4ttVsA" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="_8osj4nJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="_VJ8eUBIqEeeFNrLZFDmeGg" type="Parameters"/>
+    <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_SystemOfQuantities"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8nrQMXJgEeWaaoAi4ttVsA" x="520" y="20" width="161" height="181"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_8owOQHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_8owOQXJgEeWaaoAi4ttVsA" showTitle="true"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_8ow1UHJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_SystemOfQuantities"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8owOQnJgEeWaaoAi4ttVsA" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_9YlvwHJgEeWaaoAi4ttVsA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_9YlvwnJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_9Ylvw3JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_9YlvxHJgEeWaaoAi4ttVsA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_9YlvxXJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H6aHkBL-EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H6aHkRL-EeeY9ueKNJ6bdg" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9YlvxnJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_9Ylvx3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_9YlvyHJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9YlvyXJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_9YmW0HJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9YmW0XJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_9YmW0nJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_9YmW03JgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9YmW1HJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_9YmW1XJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9YmW1nJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_9YmW13JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_9YmW2HJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9YmW2XJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_9ZmcYHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_9ZmcYXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9ZmcYnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_9ZmcY3JgEeWaaoAi4ttVsA" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9ZmcZHJgEeWaaoAi4ttVsA" showTitle="true"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_9ZmcZXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9ZmcZnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="_9ZsjAHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_9ZtKEHJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+    <children xmi:type="notation:Compartment" xmi:id="_9ZtKEXJgEeWaaoAi4ttVsA" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="_9ZtKEnJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_9ZtxIHJgEeWaaoAi4ttVsA" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_9ZtxIXJgEeWaaoAi4ttVsA" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="_9ZtxInJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="_VKgfABIqEeeFNrLZFDmeGg" type="Parameters"/>
+    <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_SystemOfUnits"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9YlvwXJgEeWaaoAi4ttVsA" x="1200" y="20" width="141" height="134"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_9ZxbgHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_9ZxbgXJgEeWaaoAi4ttVsA" showTitle="true"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9Zxbg3JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_SystemOfUnits"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9ZxbgnJgEeWaaoAi4ttVsA" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_-IDd0HJgEeWaaoAi4ttVsA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_-IDd0nJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-IDd03JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-IDd1HJgEeWaaoAi4ttVsA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_-IDd1XJgEeWaaoAi4ttVsA" visible="false" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Bjm9kBL-EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Bjm9kRL-EeeY9ueKNJ6bdg" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_-IDd1nJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_-IDd13JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_-IEE4HJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-IEE4XJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_-IEE4nJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_-IEE43JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_-IEE5HJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_-IEE5XJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-IEE5nJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_-IEE53JgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_-IEE6HJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_-IEE6XJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_-IEE6nJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-IEE63JgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-JH00HJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_-JH00XJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-JH00nJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_-JIb4HJgEeWaaoAi4ttVsA" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_-JIb4XJgEeWaaoAi4ttVsA" showTitle="true"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_-JIb4nJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-JIb43JgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="_-JPJkHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_-JPJkXJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+    <children xmi:type="notation:Compartment" xmi:id="_-JPJknJgEeWaaoAi4ttVsA" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="_-JPJk3JgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_-JPwoHJgEeWaaoAi4ttVsA" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_-JPwoXJgEeWaaoAi4ttVsA" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="_-JPwonJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="_VLEfsBIqEeeFNrLZFDmeGg" type="Parameters"/>
+    <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_PrefixedUnit"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-IDd0XJgEeWaaoAi4ttVsA" x="840" y="280" width="141" height="161"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_-JTbAHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_-JTbAXJgEeWaaoAi4ttVsA" showTitle="true"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_-JTbA3JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_PrefixedUnit"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-JTbAnJgEeWaaoAi4ttVsA" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_-17QcHJgEeWaaoAi4ttVsA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_-17QcnJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-173gHJgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-173gXJgEeWaaoAi4ttVsA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_-173gnJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GRsdUBL-EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GRsdURL-EeeY9ueKNJ6bdg" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_FIgasBONEeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_Prefix_ownedAttribute.factor"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_FIgasRONEeeY9ueKNJ6bdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_FImhUBONEeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_Prefix_ownedAttribute.symbol"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_FImhURONEeeY9ueKNJ6bdg"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_-173g3JgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_-173hHJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_-173hXJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-173hnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_-173h3JgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_-173iHJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_-173iXJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_-173inJgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-173i3JgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_-173jHJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_-173jXJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_-173jnJgEeWaaoAi4ttVsA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_-173j3JgEeWaaoAi4ttVsA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-173kHJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-3GVIHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_-3GVIXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-3GVInJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_-3GVI3JgEeWaaoAi4ttVsA" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_-3GVJHJgEeWaaoAi4ttVsA" showTitle="true"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_-3GVJXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-3GVJnJgEeWaaoAi4ttVsA"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="_-3NC0HJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_-3NC0XJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+    <children xmi:type="notation:Compartment" xmi:id="_-3Np4HJgEeWaaoAi4ttVsA" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="_-3Np4XJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_-3Np4nJgEeWaaoAi4ttVsA" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="_-3Np43JgEeWaaoAi4ttVsA" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="_-3OQ8HJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="_VLc6MBIqEeeFNrLZFDmeGg" type="Parameters"/>
+    <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Prefix"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-17QcXJgEeWaaoAi4ttVsA" x="980" y="520" width="141" height="161"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_-3RUQHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_-3RUQXJgEeWaaoAi4ttVsA" showTitle="true"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_-3R7UHJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Prefix"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-3RUQnJgEeWaaoAi4ttVsA" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_dQph0BL9EeeY9ueKNJ6bdg" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_dQqI4BL9EeeY9ueKNJ6bdg" type="Constraint_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_dQqI4RL9EeeY9ueKNJ6bdg" type="Constraint_BodyLabel"/>
+    <element xmi:type="uml:Constraint" href="QUDV.uml#QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dQph0RL9EeeY9ueKNJ6bdg" x="1667" y="79"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_-20nMBL9EeeY9ueKNJ6bdg" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_-21OQBL9EeeY9ueKNJ6bdg" type="Constraint_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-21OQRL9EeeY9ueKNJ6bdg" type="Constraint_BodyLabel"/>
+    <element xmi:type="uml:Constraint" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-20nMRL9EeeY9ueKNJ6bdg" x="640" y="960"/>
+  </children>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_0Gvw8XJgEeWaaoAi4ttVsA" name="diagram_compatibility_version" stringValue="1.4.0"/>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_0Gvw8nJgEeWaaoAi4ttVsA"/>
+  <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_3gCm4FdZEee6UuspFlbpuA" diagramKindId="org.eclipse.papyrus.sysml16.diagram.blockdefinition">
+    <owner xmi:type="uml:Package" href="QUDV.uml#QUDV"/>
+  </styles>
+  <element xmi:type="uml:Package" href="QUDV.uml#QUDV"/>
+  <edges xmi:type="notation:Connector" xmi:id="_2UW4AHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_2RUyIHJgEeWaaoAi4ttVsA" target="_2UWQ8HJgEeWaaoAi4ttVsA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_2UW4AXJgEeWaaoAi4ttVsA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_2UW4BXJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_ConversionBasedUnit"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2UW4AnJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2UW4A3JgEeWaaoAi4ttVsA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2UW4BHJgEeWaaoAi4ttVsA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_3KXS9HJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_3J2VkHJgEeWaaoAi4ttVsA" target="_3KXS8HJgEeWaaoAi4ttVsA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_3KXS9XJgEeWaaoAi4ttVsA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3KXS-XJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Unit"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3KXS9nJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3KXS93JgEeWaaoAi4ttVsA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3KXS-HJgEeWaaoAi4ttVsA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_35XuAHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_2RUyIHJgEeWaaoAi4ttVsA" target="_3J2VkHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="_35YVEHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_n8or0BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_35YVEXJgEeWaaoAi4ttVsA" x="-1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_35YVEnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_n953IBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_35YVE3JgEeWaaoAi4ttVsA" x="100" y="13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_35YVFHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_n-masBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_35YVFXJgEeWaaoAi4ttVsA" x="100" y="-7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_35YVFnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_n_ZE4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_35YVF3JgEeWaaoAi4ttVsA" x="1" y="-7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_35Y8IHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_oAGPgBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_35Y8IXJgEeWaaoAi4ttVsA" x="20" y="13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_35Y8InJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_oAyzEBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_35Y8I3JgEeWaaoAi4ttVsA" x="-19" y="13"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_35XuAXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_35XuAnJgEeWaaoAi4ttVsA" points="[1000, 801, -643984, -643984]$[900, 940, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DDVFAHJhEeWaaoAi4ttVsA" id="(0.0,0.37267080745341613)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DDVsEHJhEeWaaoAi4ttVsA" id="(1.0,0.37267080745341613)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_4AlwUHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_39NFIHJgEeWaaoAi4ttVsA" target="_4AlJQHJgEeWaaoAi4ttVsA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_4AlwUXJgEeWaaoAi4ttVsA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_4AlwVXJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_DerivedQuantityKind"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4AlwUnJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4AlwU3JgEeWaaoAi4ttVsA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4AlwVHJgEeWaaoAi4ttVsA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_4poGRHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_4m0p4HJgEeWaaoAi4ttVsA" target="_4poGQHJgEeWaaoAi4ttVsA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_4poGRXJgEeWaaoAi4ttVsA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_4poGSXJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_QuantityKindFactor"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4poGRnJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4poGR3JgEeWaaoAi4ttVsA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4poGSHJgEeWaaoAi4ttVsA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_5V6kgHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_39NFIHJgEeWaaoAi4ttVsA" target="_4m0p4HJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="_5V6kg3JgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Dpoz0BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5V6khHJgEeWaaoAi4ttVsA" x="1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_5V7LkHJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DqUJQBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5V7LkXJgEeWaaoAi4ttVsA" x="19" y="-7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_5V7LknJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DuYw8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5V7Lk3JgEeWaaoAi4ttVsA" x="17" y="-16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_5V7LlHJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DvDfUBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5V7LlXJgEeWaaoAi4ttVsA" x="-13" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_5V7LlnJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Dx5X8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5V7Ll3JgEeWaaoAi4ttVsA" x="17" y="32"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_5V7LmHJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DyjfQBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5V7LmXJgEeWaaoAi4ttVsA" x="-13" y="20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_5V6kgXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_derivedQuantityKind_factor"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5V6kgnJgEeWaaoAi4ttVsA" points="[340, 401, -643984, -643984]$[340, 440, -643984, -643984]$[220, 440, -643984, -643984]$[220, 480, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DHS_AHJhEeWaaoAi4ttVsA" id="(0.49390243902439024,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DHTmEHJhEeWaaoAi4ttVsA" id="(0.7453416149068323,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_5ZigQXJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_5Y18sHJgEeWaaoAi4ttVsA" target="_5Zh5MHJgEeWaaoAi4ttVsA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_5ZigQnJgEeWaaoAi4ttVsA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_5ZigRnJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_DerivedUnit"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5ZigQ3JgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5ZigRHJgEeWaaoAi4ttVsA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5ZigRXJgEeWaaoAi4ttVsA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_6JqVpHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_6IwWsHJgEeWaaoAi4ttVsA" target="_6JqVoHJgEeWaaoAi4ttVsA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_6JqVpXJgEeWaaoAi4ttVsA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6Jq8snJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_UnitFactor"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6JqVpnJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6Jq8sHJgEeWaaoAi4ttVsA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6Jq8sXJgEeWaaoAi4ttVsA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_65aXkHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_5Y18sHJgEeWaaoAi4ttVsA" target="_6IwWsHJgEeWaaoAi4ttVsA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dfHboBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dfHboRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_65a-oHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lj4rwBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_65a-oXJgEeWaaoAi4ttVsA" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_65a-onJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_llXScBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_65a-o3JgEeWaaoAi4ttVsA" x="6"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_65a-pHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lmpr4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_65a-pXJgEeWaaoAi4ttVsA" x="6"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_65a-pnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_loF2UBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_65a-p3JgEeWaaoAi4ttVsA" x="-13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_65a-qHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_loyZ4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_65a-qXJgEeWaaoAi4ttVsA" x="6" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_65a-qnJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lpfkgBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_65a-q3JgEeWaaoAi4ttVsA" x="-13" y="20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_65aXkXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_derivedUnit_factor"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_65aXknJgEeWaaoAi4ttVsA" points="[1588, 381, -643984, -643984]$[1588, 500, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DM3bgHJhEeWaaoAi4ttVsA" id="(0.425531914893617,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DM3bgXJhEeWaaoAi4ttVsA" id="(0.425531914893617,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_6_cuJHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_6-dPoHJgEeWaaoAi4ttVsA" target="_6_cuIHJgEeWaaoAi4ttVsA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_6_cuJXJgEeWaaoAi4ttVsA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6_cuKXJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Dimension"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6_cuJnJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6_cuJ3JgEeWaaoAi4ttVsA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6_cuKHJgEeWaaoAi4ttVsA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_7tLW0HJgEeWaaoAi4ttVsA" type="Association_Edge" source="_6-dPoHJgEeWaaoAi4ttVsA" target="_4m0p4HJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="_7tLW03JgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CGdJ0BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_7tLW1HJgEeWaaoAi4ttVsA" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_7tLW1XJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CIJL4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_7tLW1nJgEeWaaoAi4ttVsA" x="-11" y="-53"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_7tL94HJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CJYiABIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_7tL94XJgEeWaaoAi4ttVsA" x="6"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_7tL94nJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CKjmsBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_7tL943JgEeWaaoAi4ttVsA" x="-13" y="80"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_7tL95HJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CLYtIBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_7tL95XJgEeWaaoAi4ttVsA" x="6" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_7tL95nJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CMan4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_7tL953JgEeWaaoAi4ttVsA" x="-13" y="-20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_7tLW0XJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_dimension_factor"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7tLW0nJgEeWaaoAi4ttVsA" points="[80, 201, -643984, -643984]$[80, 360, -643984, -643984]$[140, 360, -643984, -643984]$[140, 480, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DKQzcXJhEeWaaoAi4ttVsA" id="(0.37267080745341613,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DKQzcnJhEeWaaoAi4ttVsA" id="(0.2484472049689441,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_7xOwYXJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_7wOq0HJgEeWaaoAi4ttVsA" target="_7xOJUHJgEeWaaoAi4ttVsA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_7xOwYnJgEeWaaoAi4ttVsA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_7xOwZnJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7xOwY3JgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7xOwZHJgEeWaaoAi4ttVsA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7xOwZXJgEeWaaoAi4ttVsA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_8fpVkHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_7wOq0HJgEeWaaoAi4ttVsA" target="_7wOq0HJgEeWaaoAi4ttVsA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-8S9FBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-8S9FRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8fp8oHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vLvW0BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8fp8oXJgEeWaaoAi4ttVsA" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8fp8onJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vM_7EBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8fp8o3JgEeWaaoAi4ttVsA" x="-33" y="240"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8fp8pHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vNrQgBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8fqjsHJgEeWaaoAi4ttVsA" x="60" y="-7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8fqjsXJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vOWl8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8fqjsnJgEeWaaoAi4ttVsA" x="-46" y="-60"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8fqjs3JgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vPBUUBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8fqjtHJgEeWaaoAi4ttVsA" x="20" y="13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8frKwHJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vPsCsBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8frKwXJgEeWaaoAi4ttVsA" x="-26" y="-40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_8fpVkXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8fpVknJgEeWaaoAi4ttVsA" points="[500, 820, -643984, -643984]$[440, 820, -643984, -643984]$[440, 920, -643984, -643984]$[560, 920, -643984, -643984]$[620, 881, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZwlVcBIuEeeFNrLZFDmeGg" id="(0.0,0.6211180124223602)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZwlVcRIuEeeFNrLZFDmeGg" id="(0.29850746268656714,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_8i9vUHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_3J2VkHJgEeWaaoAi4ttVsA" target="_3J2VkHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="_8i9vU3JgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pUU3gBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8i9vVHJgEeWaaoAi4ttVsA" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8i9vVXJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pVtXkBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8i9vVnJgEeWaaoAi4ttVsA" x="-170" y="-33"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8i9vV3JgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pWyVoBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8i9vWHJgEeWaaoAi4ttVsA" x="60" y="-7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8i9vWXJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pXncEBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8i-WYHJgEeWaaoAi4ttVsA" x="-6"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8i-WYXJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pYSxgBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8i-WYnJgEeWaaoAi4ttVsA" x="40" y="13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8i-WY3JgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pZAjMBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8i-WZHJgEeWaaoAi4ttVsA" x="-6" y="-20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_8i9vUXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_generalUnit_specificUnit"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8i9vUnJgEeWaaoAi4ttVsA" points="[1200, 840, -643984, -643984]$[1140, 840, -643984, -643984]$[1140, 920, -643984, -643984]$[1260, 920, -643984, -643984]$[1300, 881, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GvZHABIvEeeFNrLZFDmeGg" id="(0.0,0.7453416149068323)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HIAbUBIvEeeFNrLZFDmeGg" id="(0.37267080745341613,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_8ow1UXJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_8nrQMHJgEeWaaoAi4ttVsA" target="_8owOQHJgEeWaaoAi4ttVsA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_8ow1UnJgEeWaaoAi4ttVsA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_8ow1VnJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_SystemOfQuantities"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8ow1U3JgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8ow1VHJgEeWaaoAi4ttVsA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8ow1VXJgEeWaaoAi4ttVsA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_9VpwgHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_8nrQMHJgEeWaaoAi4ttVsA" target="_8nrQMHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="_9Vpwg3JgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7XXboBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_9VpwhHJgEeWaaoAi4ttVsA" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_9VpwhXJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7YxJ0BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_9VpwhnJgEeWaaoAi4ttVsA" x="-53"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_9Vpwh3JgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7ZkbEBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_9VpwiHJgEeWaaoAi4ttVsA" x="19" y="-13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_9VpwiXJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7a4psBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_9VpwinJgEeWaaoAi4ttVsA" x="-49" y="3"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_9Vpwi3JgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7cArEBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_9VpwjHJgEeWaaoAi4ttVsA" x="19" y="7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_9VqXkHJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7dUSoBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_9VqXkXJgEeWaaoAi4ttVsA" x="-26" y="20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_9VpwgXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9VpwgnJgEeWaaoAi4ttVsA" points="[681, 160, -643984, -643984]$[720, 160, -643984, -643984]$[720, 240, -643984, -643984]$[640, 240, -643984, -643984]$[640, 201, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ahc64BIrEeeFNrLZFDmeGg" id="(1.0,0.7734806629834254)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ahc64RIrEeeFNrLZFDmeGg" id="(0.7453416149068323,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_9ZyCkHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_9ZxbgHJgEeWaaoAi4ttVsA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_9ZyCkXJgEeWaaoAi4ttVsA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9ZyClXJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_SystemOfUnits"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9ZyCknJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9ZyCk3JgEeWaaoAi4ttVsA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9ZyClHJgEeWaaoAi4ttVsA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_-FOMQHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_9YlvwHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="_-FOzUHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-Q_UIBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-FOzUXJgEeWaaoAi4ttVsA" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-FOzUnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-SM1EBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-FOzU3JgEeWaaoAi4ttVsA" x="-43"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-FOzVHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-TAtYBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-FOzVXJgEeWaaoAi4ttVsA" x="19" y="-13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-FOzVnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-TywgBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-FOzV3JgEeWaaoAi4ttVsA" x="-46"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-FOzWHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-VVBkBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-FOzWXJgEeWaaoAi4ttVsA" x="19" y="7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-FPaYHJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-WEBYBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-FPaYXJgEeWaaoAi4ttVsA" x="-26" y="20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_-FOMQXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-FOMQnJgEeWaaoAi4ttVsA" points="[1341, 160, -643984, -643984]$[1400, 160, -643984, -643984]$[1400, 240, -643984, -643984]$[1320, 240, -643984, -643984]$[1320, 201, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Al4ScBIsEeeFNrLZFDmeGg" id="(1.0,0.7734806629834254)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AXhtYBIsEeeFNrLZFDmeGg" id="(0.851063829787234,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_-JTbBHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_-IDd0HJgEeWaaoAi4ttVsA" target="_-JTbAHJgEeWaaoAi4ttVsA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_-JTbBXJgEeWaaoAi4ttVsA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_-JTbCXJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_PrefixedUnit"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-JTbBnJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-JTbB3JgEeWaaoAi4ttVsA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-JTbCHJgEeWaaoAi4ttVsA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_-y9cAHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_7wOq0HJgEeWaaoAi4ttVsA" target="_-IDd0HJgEeWaaoAi4ttVsA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-8RH4BL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-8RH4RL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-y-DEHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_uIl3wBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-y-DEXJgEeWaaoAi4ttVsA" x="2" y="-17"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-y-DEnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_uKDQUBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-y-DE3JgEeWaaoAi4ttVsA" x="-170" y="-93"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-y-DFHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_uKwa8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-y-DFXJgEeWaaoAi4ttVsA" x="33"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-y-DFnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_uLdlkBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-y-DF3JgEeWaaoAi4ttVsA" x="-6" y="-100"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-y-DGHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_uMI7ABIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-y-DGXJgEeWaaoAi4ttVsA" x="33" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-y-DGnJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_uMzpYBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-y-DG3JgEeWaaoAi4ttVsA" x="-6"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_-y9cAXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-y9cAnJgEeWaaoAi4ttVsA" points="[680, 720, -643984, -643984]$[660, 680, -643984, -643984]$[880, 680, -643984, -643984]$[880, 441, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUyBYHJhEeWaaoAi4ttVsA" id="(0.7960199004975125,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUyBYXJhEeWaaoAi4ttVsA" id="(0.28368794326241137,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_-3R7UXJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_-17QcHJgEeWaaoAi4ttVsA" target="_-3RUQHJgEeWaaoAi4ttVsA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_-3R7UnJgEeWaaoAi4ttVsA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_-3R7VnJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Prefix"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-3R7U3JgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-3R7VHJgEeWaaoAi4ttVsA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-3R7VXJgEeWaaoAi4ttVsA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="__gug8HJgEeWaaoAi4ttVsA" type="Association_Edge" source="_-IDd0HJgEeWaaoAi4ttVsA" target="_-17QcHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="__gvIAHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_o2JtwBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__gvIAXJgEeWaaoAi4ttVsA" x="1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__gvIAnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_o3cHMBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__gvIA3JgEeWaaoAi4ttVsA" x="-31" y="-13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__gvIBHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_o4Kf8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__gvIBXJgEeWaaoAi4ttVsA" x="6"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__gvIBnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_o42ccBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__gvIB3JgEeWaaoAi4ttVsA" x="-13" y="80"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__gvICHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_o5k1MBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__gvvEHJgEeWaaoAi4ttVsA" x="6" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__gvvEXJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_o6Z7oBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__gvvEnJgEeWaaoAi4ttVsA" x="-13" y="-20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="__gug8XJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_prefixedUnit_prefix"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__gug8nJgEeWaaoAi4ttVsA" points="[940, 441, -643984, -643984]$[940, 480, -643984, -643984]$[1020, 480, -643984, -643984]$[1020, 520, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DeR7oHJhEeWaaoAi4ttVsA" id="(0.7092198581560284,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DeSisHJhEeWaaoAi4ttVsA" id="(0.28368794326241137,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="__jv_wHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_4m0p4HJgEeWaaoAi4ttVsA" target="_7wOq0HJgEeWaaoAi4ttVsA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-8TkIhL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-8TkIxL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="__jwm0HJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Dkd_8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__jwm0XJgEeWaaoAi4ttVsA" y="-19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__jwm0nJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DlsH8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__jwm03JgEeWaaoAi4ttVsA" x="-71" y="-13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__jwm1HJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DmmG4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__jwm1XJgEeWaaoAi4ttVsA" x="6"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__jwm1nJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DnVGsBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__jwm13JgEeWaaoAi4ttVsA" x="-13" y="120"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__jwm2HJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DoRh4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__jwm2XJgEeWaaoAi4ttVsA" x="6" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__jwm2nJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Do-FcBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__jwm23JgEeWaaoAi4ttVsA" x="-13"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="__jv_wXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_quantityKindFactor_quantityKind"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__jv_wnJgEeWaaoAi4ttVsA" points="[180, 641, -643984, -643984]$[180, 680, -643984, -643984]$[540, 680, -643984, -643984]$[540, 720, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DKQMYHJhEeWaaoAi4ttVsA" id="(0.4968944099378882,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DKQzcHJhEeWaaoAi4ttVsA" id="(0.19900497512437812,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="__m2-IHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_7wOq0HJgEeWaaoAi4ttVsA" target="_3J2VkHJgEeWaaoAi4ttVsA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-8TkIBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-8TkIRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="__m3lMHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pZymUBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__m3lMXJgEeWaaoAi4ttVsA" x="1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__m3lMnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_paei0BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__m3lM3JgEeWaaoAi4ttVsA" x="-91" y="7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__m3lNHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pes7gBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__m3lNXJgEeWaaoAi4ttVsA" x="19" y="-13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__m3lNnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pi9wcBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__m3lN3JgEeWaaoAi4ttVsA" x="-100" y="-13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__m4MQHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pj49gBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__m4MQXJgEeWaaoAi4ttVsA" x="39" y="7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__m4MQnJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_poWmwBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__m4MQ3JgEeWaaoAi4ttVsA" x="-40" y="7"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="__m2-IXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_quantityKind_measurementUnit"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__m2-InJgEeWaaoAi4ttVsA" points="[701, 800, -643984, -643984]$[1200, 800, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFxVAHJhEeWaaoAi4ttVsA" id="(1.0,0.4968944099378882)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFxVAXJhEeWaaoAi4ttVsA" id="(0.0,0.4968944099378882)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="__qI7oHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_8nrQMHJgEeWaaoAi4ttVsA" target="_7wOq0HJgEeWaaoAi4ttVsA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-8S9EBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-8S9ERL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="__qJisHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7hqnIBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__qJisXJgEeWaaoAi4ttVsA" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__qJisnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7i0dsBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__qJis3JgEeWaaoAi4ttVsA" x="86" y="220"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__qJitHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7x8e0BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__qJitXJgEeWaaoAi4ttVsA" x="106" y="120"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__qJitnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7ysswBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__qJit3JgEeWaaoAi4ttVsA" x="-93" y="120"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__qJiuHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_724pMBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__qJiuXJgEeWaaoAi4ttVsA" x="106"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__qKJwHJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_733goBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__qKJwXJgEeWaaoAi4ttVsA" x="-93"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="__qI7oXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__qI7onJgEeWaaoAi4ttVsA" points="[560, 201, -643984, -643984]$[480, 1000, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUyocHJhEeWaaoAi4ttVsA" id="(0.37267080745341613,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUyocXJhEeWaaoAi4ttVsA" id="(0.39800995024875624,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="__u0nUHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_8nrQMHJgEeWaaoAi4ttVsA" target="_6-dPoHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="__u0nU3JgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_78fh8BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__u1OYHJgEeWaaoAi4ttVsA" x="-1" y="-19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__u1OYXJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_79YSwBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__u1OYnJgEeWaaoAi4ttVsA" x="62" y="56"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__u1OY3JgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8BfWsBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__u1OZHJgEeWaaoAi4ttVsA" x="119" y="-22"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__u1OZXJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8C5r8BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__u1OZnJgEeWaaoAi4ttVsA" x="-10" y="26"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__u1OZ3JgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8DuyYBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__u1OaHJgEeWaaoAi4ttVsA" x="25" y="15"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__u1OaXJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8E0-kBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__u1OanJgEeWaaoAi4ttVsA" x="-14" y="-19"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="__u0nUXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfQuantities_dimension"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__u0nUnJgEeWaaoAi4ttVsA" points="[500, 80, -643984, -643984]$[160, 20, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DQ6OAHJhEeWaaoAi4ttVsA" id="(0.0,0.3314917127071823)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DQ61EHJhEeWaaoAi4ttVsA" id="(1.0,0.3314917127071823)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="__yBFQHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_8nrQMHJgEeWaaoAi4ttVsA" target="_7wOq0HJgEeWaaoAi4ttVsA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-8S9EhL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-8S9ExL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="__yBsUHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8FtIUBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__yBsUXJgEeWaaoAi4ttVsA" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__yBsUnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8HFBUBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__yBsU3JgEeWaaoAi4ttVsA" x="26"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__yBsVHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8ID4wBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__yBsVXJgEeWaaoAi4ttVsA" x="126"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__yBsVnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8I3KABIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__yBsV3JgEeWaaoAi4ttVsA" x="-73"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__yBsWHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8Jmw4BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__yBsWXJgEeWaaoAi4ttVsA" x="126" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__yBsWnJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8Mpd0BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__yBsW3JgEeWaaoAi4ttVsA" x="-73" y="20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="__yBFQXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfQuantities_quantityKind"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__yBFQnJgEeWaaoAi4ttVsA" points="[580, 201, -643984, -643984]$[560, 1000, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUzPgHJhEeWaaoAi4ttVsA" id="(0.6211180124223602,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUzPgXJhEeWaaoAi4ttVsA" id="(0.5970149253731343,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="__1Tp0HJgEeWaaoAi4ttVsA" type="Association_Edge" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_3J2VkHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="__1UQ4HJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-XMp0BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__1UQ4XJgEeWaaoAi4ttVsA" y="-19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__1UQ4nJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-aDJgBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__1UQ43JgEeWaaoAi4ttVsA" x="26"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__1UQ5HJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-c2l4BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__1UQ5XJgEeWaaoAi4ttVsA" x="186"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__1UQ5nJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-dsTYBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__1U38HJgEeWaaoAi4ttVsA" x="-93"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__1U38XJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-gg94BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__1U38nJgEeWaaoAi4ttVsA" x="166" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__1U383JgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-hM6YBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__1U39HJgEeWaaoAi4ttVsA" x="-93" y="20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="__1Tp0XJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfUnits_baseUnit"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__1Tp0nJgEeWaaoAi4ttVsA" points="[1120, 201, -643984, -643984]$[1000, 940, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFx8E3JhEeWaaoAi4ttVsA" id="(0.7092198581560284,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFyjIHJhEeWaaoAi4ttVsA" id="(0.6211180124223602,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="__6sgIHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_-17QcHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="__6tHMHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-h7TIBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__6tHMXJgEeWaaoAi4ttVsA" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__6tHMnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-k2EQBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__6tHM3JgEeWaaoAi4ttVsA" x="39" y="-7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__6tHNHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-lgyoBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__6tHNXJgEeWaaoAi4ttVsA" x="34" y="15"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__6tHNnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-ouesBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__6tHN3JgEeWaaoAi4ttVsA" x="-13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__6tHOHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-peFkBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__6tHOXJgEeWaaoAi4ttVsA" x="86"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__6tHOnJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-qKCEBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__6tHO3JgEeWaaoAi4ttVsA" x="-13" y="20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="__6sgIXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfUnits_prefix"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__6sgInJgEeWaaoAi4ttVsA" points="[1240, 201, -643984, -643984]$[1240, 320, -643984, -643984]$[1080, 320, -643984, -643984]$[1060, 520, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Da1mEHJhEeWaaoAi4ttVsA" id="(0.28368794326241137,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Da1mEXJhEeWaaoAi4ttVsA" id="(0.7092198581560284,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="__-HnkHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_8nrQMHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="__-IOoHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8TUtkBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__-IOoXJgEeWaaoAi4ttVsA" x="1" y="-19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__-IOonJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8UWoUBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__-IOo3JgEeWaaoAi4ttVsA" x="100" y="13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__-IOpHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8VTqkBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__-IOpXJgEeWaaoAi4ttVsA" x="120" y="-7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__-IOpnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8WQs0BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__-IOp3JgEeWaaoAi4ttVsA" x="-19" y="-7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__-IOqHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8aS4QBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__-IOqXJgEeWaaoAi4ttVsA" x="20" y="13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__-I1sHJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8bBRABIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__-I1sXJgEeWaaoAi4ttVsA" x="-19" y="13"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="__-HnkXJgEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__-HnknJgEeWaaoAi4ttVsA" points="[1200, 80, -643984, -643984]$[681, 80, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DYbyUHJhEeWaaoAi4ttVsA" id="(0.0,0.4552238805970149)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DYbyUXJhEeWaaoAi4ttVsA" id="(1.0,0.3314917127071823)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_ABWhwHJhEeWaaoAi4ttVsA" type="Association_Edge" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_3J2VkHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="_ABWhw3JhEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-tXuIBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ABWhxHJhEeWaaoAi4ttVsA" y="-19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_ABXI0HJhEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-uB1cBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ABXI0XJhEeWaaoAi4ttVsA" x="-12" y="139"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_ABXI0nJhEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-ur8wBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ABXI03JhEeWaaoAi4ttVsA" x="166" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_ABXI1HJhEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-vZHYBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ABXI1XJhEeWaaoAi4ttVsA" x="-32" y="123"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_ABXI1nJhEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-wLxkBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ABXI13JhEeWaaoAi4ttVsA" x="186" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_ABXI2HJhEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-zztUBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ABXI2XJhEeWaaoAi4ttVsA" x="-113"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_ABWhwXJhEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfUnits_unit"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ABWhwnJhEeWaaoAi4ttVsA" points="[1260, 201, -643984, -643984]$[1000, 940, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFx8EXJhEeWaaoAi4ttVsA" id="(0.425531914893617,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFx8EnJhEeWaaoAi4ttVsA" id="(0.37267080745341613,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_AF5DgHJhEeWaaoAi4ttVsA" type="Association_Edge" source="_6IwWsHJgEeWaaoAi4ttVsA" target="_3J2VkHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="_AF5Dg3JhEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ni1rwBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AF5DhHJhEeWaaoAi4ttVsA" x="1" y="-19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AF5DhXJhEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nkZK8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AF5DhnJhEeWaaoAi4ttVsA" x="19" y="-7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AF5Dh3JhEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nlohEBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AF5qkHJhEeWaaoAi4ttVsA" x="6"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AF5qkXJhEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nmW50BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AF5qknJhEeWaaoAi4ttVsA" x="-13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AF5qk3JhEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nnSt8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AF5qlHJhEeWaaoAi4ttVsA" x="6" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AF5qlXJhEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_noBtwBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AF5qlnJhEeWaaoAi4ttVsA" x="-13" y="20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_AF5DgXJhEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_unitFactor_unit"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AF5DgnJhEeWaaoAi4ttVsA" points="[1600, 661, -643984, -643984]$[1600, 680, -643984, -643984]$[1340, 680, -643984, -643984]$[1340, 720, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFxVAnJhEeWaaoAi4ttVsA" id="(0.4968944099378882,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFx8EHJhEeWaaoAi4ttVsA" id="(0.8695652173913043,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_AJP5gHJhEeWaaoAi4ttVsA" type="Association_Edge" source="_8nrQMHJgEeWaaoAi4ttVsA" target="_8nrQMHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="_AJP5g3JhEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8N4M4BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AJP5hHJhEeWaaoAi4ttVsA" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AJQgkHJhEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8O_AIBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AJQgkXJhEeWaaoAi4ttVsA" x="-18" y="271"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AJQgknJhEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8P9QgBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AJQgk3JhEeWaaoAi4ttVsA" x="200" y="16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AJQglHJhEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8QtecBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AJQglXJhEeWaaoAi4ttVsA" x="-46" y="-100"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AJQglnJhEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8RmPQBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AJQgl3JhEeWaaoAi4ttVsA" x="35" y="-16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AJQgmHJhEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8SfAEBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AJQgmXJhEeWaaoAi4ttVsA" x="-26" y="-40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_AJP5gXJhEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AJP5gnJhEeWaaoAi4ttVsA" points="[520, 160, -643984, -643984]$[460, 160, -643984, -643984]$[460, 240, -643984, -643984]$[540, 240, -643984, -643984]$[540, 201, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Iq5HMBIrEeeFNrLZFDmeGg" id="(0.0,0.7734806629834254)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J5kg0BIrEeeFNrLZFDmeGg" id="(0.12422360248447205,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_AMhP8HJhEeWaaoAi4ttVsA" type="Association_Edge" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_9YlvwHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="_AMh3AHJhEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-0qo8BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AMh3AXJhEeWaaoAi4ttVsA" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AMh3AnJhEeWaaoAi4ttVsA" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-1lO8BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AMh3A3JhEeWaaoAi4ttVsA" x="-176" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AMh3BHJhEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-2ktcBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AMh3BXJhEeWaaoAi4ttVsA" x="120" y="13"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AMieEHJhEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-6incBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AMieEXJhEeWaaoAi4ttVsA" x="-46" y="-80"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AMieEnJhEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-8tKoBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AMieE3JhEeWaaoAi4ttVsA" x="40" y="-7"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AMieFHJhEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-9YgEBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AMieFXJhEeWaaoAi4ttVsA" x="-26" y="-40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_AMhP8XJhEeWaaoAi4ttVsA"/>
+    <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AMhP8nJhEeWaaoAi4ttVsA" points="[1200, 160, -643984, -643984]$[1140, 160, -643984, -643984]$[1140, 240, -643984, -643984]$[1220, 240, -643984, -643984]$[1300, 201, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4MgMsBIrEeeFNrLZFDmeGg" id="(0.0,0.7734806629834254)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4jABIBIrEeeFNrLZFDmeGg" id="(0.14184397163120568,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_dfIpwBL9EeeY9ueKNJ6bdg" type="Constraint_ContextEdge" source="_dQph0BL9EeeY9ueKNJ6bdg" target="_5Y18sHJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="_dfJ34BL9EeeY9ueKNJ6bdg" type="Constraint_KeywordLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_dfJ34RL9EeeY9ueKNJ6bdg" y="15"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_dfIpwRL9EeeY9ueKNJ6bdg"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dfIpwhL9EeeY9ueKNJ6bdg" points="[0, 0, -643984, -643984]$[1520, 296, -643984, -643984]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_-8Ru8BL9EeeY9ueKNJ6bdg" type="Constraint_ContextEdge" source="_-20nMBL9EeeY9ueKNJ6bdg" target="_7wOq0HJgEeWaaoAi4ttVsA">
+    <children xmi:type="notation:DecorationNode" xmi:id="_-8Ru8xL9EeeY9ueKNJ6bdg" type="Constraint_KeywordLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="__dWbsBL9EeeY9ueKNJ6bdg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-8Ru9BL9EeeY9ueKNJ6bdg" x="-1" y="13"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_-8Ru8RL9EeeY9ueKNJ6bdg"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-8Ru8hL9EeeY9ueKNJ6bdg" points="[0, 0, -643984, -643984]$[540, 720, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__eSP0BL9EeeY9ueKNJ6bdg" id="(0.3835616438356164,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__eSP0RL9EeeY9ueKNJ6bdg" id="(0.8955223880597015,1.0)"/>
+  </edges>
+</notation:Diagram>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.uml b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.uml
new file mode 100644
index 0000000..93a79c1
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.uml
@@ -0,0 +1,1963 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<xmi:XMI 
+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/sysml/1.6/SysML/Blocks" 
+xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" 
+xmlns:StandardProfile="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard"
+xmlns:SysML="http://www.eclipse.org/papyrus/sysml/1.6/SysML"
+xsi:schemaLocation="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks">
+  <uml:Package xmi:id="QUDV" xmi:uuid="org.omg.sysml.QUDV" xmi:type="uml:Package">
+    <name>QUDV</name>
+    <URI>http://www.omg.org/spec/SysML/20150709/QUDV</URI>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit" xmi:type="uml:Association">
+      <name>A_conversionBasedUnit_referenceUnit</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit" xmi:type="uml:Property">
+        <name>conversionBasedUnit</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue 
+        xmi:id="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.referenceUnit"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_derivedQuantityKind_factor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedQuantityKind_factor" xmi:type="uml:Association">
+      <name>A_derivedQuantityKind_factor</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind" xmi:type="uml:Property">
+        <name>derivedQuantityKind</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_derivedQuantityKind_factor"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_derivedUnit_factor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedUnit_factor" xmi:type="uml:Association">
+      <name>A_derivedUnit_factor</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_derivedUnit_factor_ownedEnd.derivedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedUnit_factor_ownedEnd.derivedUnit" xmi:type="uml:Property">
+        <name>derivedUnit</name>
+        <type xmi:idref="QUDV.class_packagedElement_DerivedUnit"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_derivedUnit_factor"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_derivedUnit_factor_ownedEnd.derivedUnit"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_dimension_factor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_dimension_factor" xmi:type="uml:Association">
+      <name>A_dimension_factor</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension" xmi:type="uml:Property">
+        <name>dimension</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_Dimension"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_dimension_factor"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_Dimension_ownedAttribute.factor"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind" xmi:type="uml:Association">
+      <name>A_generalQuantityKind_specificQuantityKind</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific" xmi:type="uml:Property">
+        <name>specific</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedAttribute.general"/>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_generalUnit_specificUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalUnit_specificUnit" xmi:type="uml:Association">
+      <name>A_generalUnit_specificUnit</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific" xmi:type="uml:Property">
+        <name>specific</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_generalUnit_specificUnit"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.general"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities" xmi:type="uml:Association">
+      <name>A_includedSystemOfQuantities_systemOfQuantities</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
+        <name>systemOfQuantities</name>
+        <lowerValue 
+        xmi:id="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger">
+        </lowerValue>
+        <upperValue 
+        xmi:id="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits" xmi:type="uml:Association">
+      <name>A_includedSystemOfUnits_systemOfUnits</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits" xmi:type="uml:Property">
+        <name>systemOfUnits</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit" xmi:type="uml:Association">
+      <name>A_noQuantityKind_prefixedUnit</name>
+      <generalization 
+      xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit._generalization.QUDV.association_packagedElement_A_quantityKind_measurementUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit._generalization.QUDV.association_packagedElement_A_quantityKind_measurementUnit" xmi:type="uml:Generalization">
+        <general xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit"/>
+      </generalization>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit" xmi:type="uml:Property">
+        <name>prefixedUnit</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural"/>
+        <type xmi:idref="QUDV.class_packagedElement_PrefixedUnit"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit"/>
+        <redefinedProperty xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind"/>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_prefixedUnit_prefix" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_prefixedUnit_prefix" xmi:type="uml:Association">
+      <name>A_prefixedUnit_prefix</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit" xmi:type="uml:Property">
+        <name>prefixedUnit</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_PrefixedUnit"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_prefixedUnit_prefix"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.prefix"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKindFactor_quantityKind" xmi:type="uml:Association">
+      <name>A_quantityKindFactor_quantityKind</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor" xmi:type="uml:Property">
+        <name>quantityKindFactor</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_QuantityKindFactor"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.quantityKind"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit" xmi:type="uml:Association">
+      <name>A_quantityKind_measurementUnit</name>
+      <generalization 
+      xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit" xmi:type="uml:Generalization">
+        <general xmi:type="uml:Association" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit"/>
+      </generalization>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit" xmi:type="uml:Property">
+        <name>measurementUnit</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit"/>
+        <redefinedProperty xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit_ownedEnd.unit"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind"/>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind" xmi:type="uml:Association">
+      <name>A_systemOfQuantities_baseQuantityKind</name>
+      <generalization 
+      xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind._generalization.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind._generalization.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind" xmi:type="uml:Generalization">
+        <general xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind"/>
+      </generalization>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
+        <name>systemOfQuantities</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue 
+        xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind"/>
+        <subsettedProperty xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_dimension" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_dimension" xmi:type="uml:Association">
+      <name>A_systemOfQuantities_dimension</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
+        <name>systemOfQuantities</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_dimension"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind" xmi:type="uml:Association">
+      <name>A_systemOfQuantities_quantityKind</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
+        <name>systemOfQuantities</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit" xmi:type="uml:Association">
+      <name>A_systemOfUnits_baseUnit</name>
+      <generalization 
+      xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit._generalization.QUDV.association_packagedElement_A_systemOfUnits_unit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit._generalization.QUDV.association_packagedElement_A_systemOfUnits_unit" xmi:type="uml:Generalization">
+        <general xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit"/>
+      </generalization>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits" xmi:type="uml:Property">
+        <name>systemOfUnits</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_baseUnit"/>
+        <subsettedProperty xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfUnits_prefix" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_prefix" xmi:type="uml:Association">
+      <name>A_systemOfUnits_prefix</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits" xmi:type="uml:Property">
+        <name>systemOfUnits</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_prefix"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities" xmi:type="uml:Association">
+      <name>A_systemOfUnits_systemOfQuantities</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits" xmi:type="uml:Property">
+        <name>systemOfUnits</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfUnits_unit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_unit" xmi:type="uml:Association">
+      <name>A_systemOfUnits_unit</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits" xmi:type="uml:Property">
+        <name>systemOfUnits</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_unitFactor_unit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_unitFactor_unit" xmi:type="uml:Association">
+      <name>A_unitFactor_unit</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor" xmi:type="uml:Property">
+        <name>unitFactor</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_UnitFactor"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_unitFactor_unit"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_UnitFactor_ownedAttribute.unit"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities" xmi:type="uml:Association">
+      <name>A_usedSystemOfQuantities_systemOfQuantities</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
+        <name>systemOfQuantities</name>
+        <lowerValue 
+        xmi:id="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger">
+        </lowerValue>
+        <upperValue 
+        xmi:id="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits" xmi:type="uml:Association">
+      <name>A_usedSystemOfUnits_systemOfUnits</name>
+      <ownedEnd xmi:id="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits" xmi:type="uml:Property">
+        <name>systemOfUnits</name>
+        <lowerValue xmi:id="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits"/>
+      </ownedEnd>
+      <memberEnd xmi:idref="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits"/>
+      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits"/>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_AffineConversionUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit" xmi:type="uml:Class">
+      <name>AffineConversionUnit</name>
+      <ownedRule xmi:id="QUDV.class_packagedElement_AffineConversionUnit.constraint_ownedRule_invertible" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit.constraint_ownedRule_invertible" xmi:type="uml:Constraint">
+        <name>invertible</name>
+        <specification xmi:id="QUDV.class_packagedElement_AffineConversionUnit.constraint_ownedRule_invertible_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit.constraint_ownedRule_invertible_specification" xmi:type="uml:OpaqueExpression">
+          <body>isInvertible = true</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <generalization 
+      xmi:id="QUDV.class_packagedElement_AffineConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Generalization">
+        <general xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
+      </generalization>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_AffineConversionUnit_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit_ownedAttribute.factor" xmi:type="uml:Property">
+        <name>factor</name>
+        <type xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_AffineConversionUnit_ownedAttribute.offset" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit_ownedAttribute.offset" xmi:type="uml:Property">
+        <name>offset</name>
+        <type xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Class">
+      <name>ConversionBasedUnit</name>
+      <isAbstract>true</isAbstract>
+      <generalization xmi:id="QUDV.class_packagedElement_ConversionBasedUnit._generalization.QUDV.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit._generalization.QUDV.class_packagedElement_Unit" xmi:type="uml:Generalization">
+        <general xmi:idref="QUDV.class_packagedElement_Unit"/>
+      </generalization>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.isInvertible" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.isInvertible" xmi:type="uml:Property">
+        <name>isInvertible</name>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.referenceUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.referenceUnit" xmi:type="uml:Property">
+        <name>referenceUnit</name>
+        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit"/>
+      </ownedAttribute>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit" xmi:type="uml:Operation">
+        <name>dependsOnUnits</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+          <body>A ConversionBasedUnit transitively depends on its referenceUnit and all of the Units that its referenceUnit depends on.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+          </ownedParameter>
+        <bodyCondition xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>referenceUnit.dependsOnUnits()-&gt;including(referenceUnit)-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit"/>
+        </bodyCondition>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_DerivedQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind" xmi:type="uml:Class">
+      <name>DerivedQuantityKind</name>
+      <generalization xmi:id="QUDV.class_packagedElement_DerivedQuantityKind._generalization.QUDV.class_packagedElement_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind._generalization.QUDV.class_packagedElement_QuantityKind" xmi:type="uml:Generalization">
+        <general xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+      </generalization>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor" xmi:type="uml:Property">
+        <name>factor</name>
+        <upperValue xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_QuantityKindFactor"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_derivedQuantityKind_factor"/>
+      </ownedAttribute>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+        <name>dependsOnQuantityKinds</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+          <body>A DerivedQuantityKind transitively depends on its factors' QuantityKinds and all of the QuantityKinds that its factors' QuantityKinds depend on.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>factor.quantityKind.dependsOnQuantityKinds()-&gt;flatten()-&gt;asSet()-&gt;union(factor.quantityKind-&gt;flatten()-&gt;asSet())-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
+        </bodyCondition>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_DerivedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit" xmi:type="uml:Class">
+      <name>DerivedUnit</name>
+      <ownedRule xmi:id="QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind" xmi:type="uml:Constraint">
+        <name>mustSpecifyQuantityKind</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind._ownedComment.0" xmi:type="uml:Comment">
+          <body>Since a DerivedUnit is defined as a product factor of one or more other Units, it must specify explicitly its QuantityKinds.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind"/>
+        </ownedComment>
+        <specification xmi:id="QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind_specification" xmi:type="uml:OpaqueExpression">
+          <body>quantityKind &lt;&gt; null and quantityKind-&gt;notEmpty()</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="QUDV.class_packagedElement_DerivedUnit._generalization.QUDV.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit._generalization.QUDV.class_packagedElement_Unit" xmi:type="uml:Generalization">
+        <general xmi:idref="QUDV.class_packagedElement_Unit"/>
+      </generalization>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor" xmi:type="uml:Property">
+        <name>factor</name>
+        <upperValue xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_UnitFactor"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_derivedUnit_factor"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors" xmi:type="uml:Property">
+        <name>hasReducedFactors</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors._ownedComment.0" xmi:type="uml:Comment">
+          <body>
+            If true, the UnitFactors specifying the product of powers of other measurement units that define the DerivedUnit cannot be simplified. If false, the DerivedUnit is non-reduced; some UnitFactors can be simplified. A non-reduced DerivedUnit can have as a general unit other DerivedUnits defined in terms of simplified UnitFactors, possibly in reduced form.
+          </body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors"/>
+        </ownedComment>
+        <defaultValue xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors_defaultValue" xmi:type="uml:LiteralBoolean">
+          <value>true</value>
+        </defaultValue>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+      </ownedAttribute>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit" xmi:type="uml:Operation">
+        <name>dependsOnUnits</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+          <body>A DerivedUnit transitively depends on its factors' Units and all of the Units that its factors' Units depend on.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body"/>
+        <ownedParameter xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        </ownedParameter>
+        <bodyCondition xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>factor.unit.dependsOnUnits()-&gt;flatten()-&gt;asSet()-&gt;union(factor.unit-&gt;flatten()-&gt;asSet())-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit"/>
+        </bodyCondition>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_Dimension" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension" xmi:type="uml:Class">
+      <name>Dimension</name>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.factor" xmi:type="uml:Property">
+        <name>factor</name>
+        <isOrdered>true</isOrdered>
+        <lowerValue xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.factor_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.factor_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.factor_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.factor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_QuantityKindFactor"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_dimension_factor"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression" xmi:type="uml:Property">
+        <name>symbolicExpression</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression._ownedComment.0" xmi:type="uml:Comment">
+          <body>Symbolic expression of the quantity dimension's product of powers, in terms of symbols of the kinds of quantity that represent the base kinds of quantity and their exponents. In tool implementations, the symbolicExpression may automatically derived from the associated factor set.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression"/>
+        </ownedComment>
+        <lowerValue xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_GeneralConversionUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit" xmi:type="uml:Class">
+      <name>GeneralConversionUnit</name>
+      <generalization 
+      xmi:id="QUDV.class_packagedElement_GeneralConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Generalization">
+        <general xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
+      </generalization>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expression" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expression" xmi:type="uml:Property">
+        <name>expression</name>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expressionLanguageURI" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expressionLanguageURI" xmi:type="uml:Property">
+        <name>expressionLanguageURI</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expressionLanguageURI_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expressionLanguageURI_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_LinearConversionUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit" xmi:type="uml:Class">
+      <name>LinearConversionUnit</name>
+      <ownedRule xmi:id="QUDV.class_packagedElement_LinearConversionUnit.constraint_ownedRule_invertible" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit.constraint_ownedRule_invertible" xmi:type="uml:Constraint">
+        <name>invertible</name>
+        <specification xmi:id="QUDV.class_packagedElement_LinearConversionUnit.constraint_ownedRule_invertible_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit.constraint_ownedRule_invertible_specification" xmi:type="uml:OpaqueExpression">
+          <body>isInvertible = true</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <generalization 
+      xmi:id="QUDV.class_packagedElement_LinearConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Generalization">
+        <general xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
+      </generalization>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_LinearConversionUnit_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit_ownedAttribute.factor" xmi:type="uml:Property">
+        <name>factor</name>
+        <type xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_Prefix" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Prefix" xmi:type="uml:Class">
+      <name>Prefix</name>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_Prefix_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Prefix_ownedAttribute.factor" xmi:type="uml:Property">
+        <name>factor</name>
+        <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_Prefix_ownedAttribute.symbol" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Prefix_ownedAttribute.symbol" xmi:type="uml:Property">
+        <name>symbol</name>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_PrefixedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit" xmi:type="uml:Class">
+      <name>PrefixedUnit</name>
+      <ownedRule xmi:id="QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1" xmi:type="uml:Constraint">
+        <name>PU1</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1._ownedComment.0" xmi:type="uml:Comment">
+          <body>The referenceUnit shall not be a PrefixedUnit, i.e.,it is not allowed to prefix an already prefixed measurement unit. In general the referenceUnit should be a SimpleUnit.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1"/>
+        </ownedComment>
+        <specification xmi:id="QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1_specification" xmi:type="uml:OpaqueExpression">
+          <body>not referenceUnit.oclIsTypeOf(PrefixedUnit)</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="QUDV.class_packagedElement_PrefixedUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Generalization">
+        <general xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
+      </generalization>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind" xmi:type="uml:Property">
+        <name>noQuantityKind</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural"/>
+        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit"/>
+        <redefinedProperty xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.prefix" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.prefix" xmi:type="uml:Property">
+        <name>prefix</name>
+        <type xmi:idref="QUDV.class_packagedElement_Prefix"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_prefixedUnit_prefix"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind" xmi:type="uml:Class">
+      <name>QuantityKind</name>
+      <isAbstract>true</isAbstract>
+      <ownedRule xmi:id="QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies" xmi:type="uml:Constraint">
+        <name>acyclic_quantity_kind_dependencies</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies._ownedComment.0" xmi:type="uml:Comment">
+          <body>A QuantityKind cannot be defined in terms of itself. This follows from the quantity calculus used for expressing a derived QuantityKind in terms of base QuantityKinds chosen for a SystemOfQuantities by means of non-contradictory equations (See ISO 80000-1, 4.3).</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies"/>
+        </ownedComment>
+        <specification 
+        xmi:id="QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies_specification" xmi:type="uml:OpaqueExpression">
+          <body>dependsOnQuantityKinds-&gt;excludes(self)</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <generalization 
+      xmi:id="QUDV.class_packagedElement_QuantityKind._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind" xmi:type="uml:Generalization">
+        <general xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind"/>
+      </generalization>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds" xmi:type="uml:Property">
+        <name>dependsOnQuantityKinds</name>
+        <isReadOnly>true</isReadOnly>
+        <isDerived>true</isDerived>
+        <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds._ownedComment.0" xmi:type="uml:Comment">
+          <body>The set of all QuantityKinds that this QuantityKind directly or indirectly depends on according to its definition.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds"/>
+        </ownedComment>
+        <lowerValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.general" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.general" xmi:type="uml:Property">
+        <name>general</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.general_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.general_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.general_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.general_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities" xmi:type="uml:Property">
+        <name>isNumberOfEntities</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities._ownedComment.0" xmi:type="uml:Comment">
+          <body>If true, indicates that the QuantityKind represents a number of entities (see ISO 80000-1, 3.8, Note 4).</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities"/>
+        </ownedComment>
+        <defaultValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities_defaultValue" xmi:type="uml:LiteralBoolean"/>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne" xmi:type="uml:Property">
+        <name>isQuantityOfDimensionOne</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne._ownedComment.0" xmi:type="uml:Comment">
+          <body>If true, indicates that the QuantityKind has dimension one (see ISO 80000-1, 3.8).</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne"/>
+        </ownedComment>
+        <defaultValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne_defaultValue" xmi:type="uml:LiteralBoolean"/>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+      </ownedAttribute>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+        <name>dependsOnQuantityKinds</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+          <body>Abstract operation specified in SpecializedQuantityKind, SimpleQuantityKind and DerivedQuantityKind to calculate the value of the derived property QuantityKind:/dependsOnQuantityKinds.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
+        </ownedComment>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        </ownedParameter>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_QuantityKindFactor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKindFactor" xmi:type="uml:Class">
+      <name>QuantityKindFactor</name>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.exponent" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.exponent" xmi:type="uml:Property">
+        <name>exponent</name>
+        <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.quantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.quantityKind" xmi:type="uml:Property">
+        <name>quantityKind</name>
+        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_SimpleQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind" xmi:type="uml:Class">
+      <name>SimpleQuantityKind</name>
+      <generalization xmi:id="QUDV.class_packagedElement_SimpleQuantityKind._generalization.QUDV.class_packagedElement_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind._generalization.QUDV.class_packagedElement_QuantityKind" xmi:type="uml:Generalization">
+        <general xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+      </generalization>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+        <name>dependsOnQuantityKinds</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+          <body>A SimpleQuantityKind does not depend on any other QuantityKind.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>Set(QuantityKind){}</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
+        </bodyCondition>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_SimpleUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit" xmi:type="uml:Class">
+      <name>SimpleUnit</name>
+      <generalization xmi:id="QUDV.class_packagedElement_SimpleUnit._generalization.QUDV.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit._generalization.QUDV.class_packagedElement_Unit" xmi:type="uml:Generalization">
+        <general xmi:idref="QUDV.class_packagedElement_Unit"/>
+      </generalization>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit" xmi:type="uml:Operation">
+        <name>dependsOnUnits</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+          <body>A SimpleUnit, by definition, does not depend on any other Unit.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body"/>
+        <ownedParameter xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        </ownedParameter>
+        <bodyCondition xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>Set(Unit){}</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit"/>
+        </bodyCondition>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_SystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities" xmi:type="uml:Class">
+      <name>SystemOfQuantities</name>
+      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance" xmi:type="uml:Constraint">
+        <name>acyclicProvenance</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance._ownedComment.0" xmi:type="uml:Comment">
+          <body>For a QuantityKind to have a provenance to a single SystemOfQuantities, the use and includes relationships among SystemOfQuantities must be acyclic.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance"/>
+        </ownedComment>
+        <specification xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance_specification" xmi:type="uml:OpaqueExpression">
+          <body>allAccessibleSystemOfQuantities()-&gt;excludes(self)</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities" xmi:type="uml:Constraint">
+        <name>allBaseQuantitiesAreQuantities</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities._ownedComment.0" xmi:type="uml:Comment">
+          <body>
+            The set of all QuantityKinds in a given SystemOfQuantities can be partitioned into two disjoint, covering subsets: the set of base QuantityKinds (typically chosen to be mutually independent) and all its complement, the set of derived QuantityKinds, each of which can be expressed in terms of the base QuantityKinds (See ISO 80000-1, 4.3).
+          </body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities"/>
+        </ownedComment>
+        <specification 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities_specification" xmi:type="uml:OpaqueExpression">
+          <body>allQuantityKinds()-&gt;includesAll(allBaseQuantityKinds())</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <ownedRule 
+      xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities" xmi:type="uml:Constraint">
+        <name>includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities</name>
+        <ownedComment 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities._ownedComment.0" xmi:type="uml:Comment">
+          <body>For a QuantityKind to have a provenance to a single SystemOfQuantities, includedSystemsOfQuantities must be transitively disjoint with usedSystemsOfQuantities</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities"/>
+        </ownedComment>
+        <specification 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities_specification" xmi:type="uml:OpaqueExpression">
+          <body>allIncludedSystemOfQuantities()-&gt;intersection(self.oclAsSet()-&gt;closure(usedSystemOfQuantities))-&gt;isEmpty()</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance" xmi:type="uml:Constraint">
+        <name>singleProvenance</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance._ownedComment.0" xmi:type="uml:Comment">
+          <body>
+            Every QuantityKind must be defined in only one SystemOfQuantities but it can be in the scope of several SystemOfQuantities. A given QuantityKind is in scope of a SystemOfQuantities either because it is defined or used in a SystemOfQuantities or because it is included from the scope of another SystemOfQuantities.
+          </body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance"/>
+        </ownedComment>
+        <specification xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance_specification" xmi:type="uml:OpaqueExpression">
+          <body>includedSystemOfQuantities-&gt;collect(allQuantityKinds())-&gt;intersection(quantityKind)-&gt;isEmpty()</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind" xmi:type="uml:Property">
+        <name>baseQuantityKind</name>
+        <isOrdered>true</isOrdered>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind"/>
+        <subsettedProperty xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI" xmi:type="uml:Property">
+        <name>definitionURI</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description" xmi:type="uml:Property">
+        <name>description</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension" xmi:type="uml:Property">
+        <name>dimension</name>
+        <isOrdered>true</isOrdered>
+        <isUnique>false</isUnique>
+        <isReadOnly>true</isReadOnly>
+        <isDerived>true</isDerived>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_Dimension"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_dimension"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities" xmi:type="uml:Property">
+        <name>includedSystemOfQuantities</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind" xmi:type="uml:Property">
+        <name>quantityKind</name>
+        <isOrdered>true</isOrdered>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol" xmi:type="uml:Property">
+        <name>symbol</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities" xmi:type="uml:Property">
+        <name>usedSystemOfQuantities</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities"/>
+      </ownedAttribute>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+        <name>allAccessibleQuantityKinds</name>
+        <isQuery>true</isQuery>
+        <ownedComment 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query accessibleQuantityKinds() gives all the QuantityKinds directly defined in the SystemOfQuantities or transitively in any included or used SystemOfQuantities.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>allAccessibleSystemOfQuantities()-&gt;collect(quantityKind)-&gt;flatten()-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind"/>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities" xmi:type="uml:Operation">
+        <name>allAccessibleSystemOfQuantities</name>
+        <isQuery>true</isQuery>
+        <ownedComment 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query allAccessibleSystemOfQuantities() gives all the SystemOfQuantities directly or transitively included or used.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>self-&gt;closure(includedSystemOfQuantities-&gt;union(usedSystemOfQuantities))-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+        <name>allBaseQuantityKinds</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query allBaseQuantityKinds() gives all the QuantityKinds directly adopted or transitively adopted from any included SystemOfQuantities as base QuantityKinds.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>allIncludedSystemOfQuantities()-&gt;collect(baseQuantityKind)-&gt;flatten()-&gt;asSet()-&gt;union(baseQuantityKind)-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind"/>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities" xmi:type="uml:Operation">
+        <name>allIncludedSystemOfQuantities</name>
+        <isQuery>true</isQuery>
+        <ownedComment 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query allIncludedSystemOfQuantities() gives all the SystemOfQuantities directly or transitively included.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>self-&gt;closure(includedSystemOfQuantities)-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+        <name>allQuantityKinds</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+          <body>
+            The query allQuantityKinds() gives all the QuantityKinds in scope of a SystemOfQuantities; that is, each QuantityKind is either directly defined in the SystemOfQuantities, selectively used from another SystemOfQuantities or part of the scope of all the QuantityKinds included from another SystemOfQuantities.
+          </body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>allIncludedSystemOfQuantities()-&gt;collect(quantityKind)-&gt;flatten()-&gt;asSet()-&gt;union(quantityKind)-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind"/>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension" xmi:type="uml:Operation">
+        <name>getDimension</name>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension.parameter_ownedParameter_qk" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension.parameter_ownedParameter_qk" xmi:type="uml:Parameter">
+          <name>qk</name>
+          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        </ownedParameter>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <type xmi:idref="QUDV.class_packagedElement_Dimension"/>
+        </ownedParameter>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_SystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits" xmi:type="uml:Class">
+      <name>SystemOfUnits</name>
+      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1" xmi:type="uml:Constraint">
+        <name>SoU3_1</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1._ownedComment.0" xmi:type="uml:Comment">
+          <body>In a well-formed SystemOfUnits, all of the prefixes of PrefixedUnits are defined in the SystemOfUnits.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1"/>
+        </ownedComment>
+        <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1_specification" xmi:type="uml:OpaqueExpression">
+          <body>allPrefixes()-&gt;includesAll(allUnits()-&gt;select(oclIsTypeOf(PrefixedUnit))-&gt;collect(oclAsType(PrefixedUnit).prefix))</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2" xmi:type="uml:Constraint">
+        <name>SoU3_2</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2._ownedComment.0" xmi:type="uml:Comment">
+          <body>All the dependent Units of a SystemOfUnits must be in the scope of that SystemOfUnits.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2"/>
+        </ownedComment>
+        <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2_specification" xmi:type="uml:OpaqueExpression">
+          <body>allUnits()-&gt;includesAll(allUnits()-&gt;collect(dependsOnUnits())-&gt;flatten()-&gt;asSet())</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3" xmi:type="uml:Constraint">
+        <name>SoU3_3</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3._ownedComment.0" xmi:type="uml:Comment">
+          <body>All of the quantityKinds that are measurementUnits of Units in the SystemOfUnits are defined in the systemOfQuantities of that SystemOfUnits.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3"/>
+        </ownedComment>
+        <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3_specification" xmi:type="uml:OpaqueExpression">
+          <body>getEffectiveSystemOfQuantities() = null or let aqk : Set(QuantityKind) = getEffectiveSystemOfQuantities().allQuantityKinds() in allUnits()-&gt;forAll(u | aqk-&gt;includesAll(getKindOfQuantitiesForMeasurementUnit(u)))</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance" xmi:type="uml:Constraint">
+        <name>acyclicProvenance</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance._ownedComment.0" xmi:type="uml:Comment">
+          <body>For a Unit to have a provenance to a single SystemOfUnits, the use and includes relationships among SystemOfUnits must be acyclic.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance"/>
+        </ownedComment>
+        <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance_specification" xmi:type="uml:OpaqueExpression">
+          <body>allAccessibleSystemOfUnits()-&gt;excludes(self)</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits" xmi:type="uml:Constraint">
+        <name>allBaseUnitsAreUnits</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits._ownedComment.0" xmi:type="uml:Comment">
+          <body>
+            The set of all Units in a given SystemOfUnits can be partitioned into two disjoint, covering subsets: the set of base Units (typically chosen to be mutually independent) and all its complement, the set of derived Units, each of which can be expressed in terms of the base Units (See ISO 80000-1, 6.4).
+          </body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits"/>
+        </ownedComment>
+        <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits_specification" xmi:type="uml:OpaqueExpression">
+          <body>allUnits()-&gt;includesAll(allBaseUnits())</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <ownedRule 
+      xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits" xmi:type="uml:Constraint">
+        <name>includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits</name>
+        <ownedComment 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits._ownedComment.0" xmi:type="uml:Comment">
+          <body>For a Unit to have a provenance to a single SystemOfUnits, all included systems of units must be transitively disjoint with all used systems of units.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits"/>
+        </ownedComment>
+        <specification 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits_specification" xmi:type="uml:OpaqueExpression">
+          <body>allIncludedSystemOfUnits()-&gt;intersection(self.oclAsSet()-&gt;closure(usedSystemOfUnits))-&gt;isEmpty()</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance" xmi:type="uml:Constraint">
+        <name>singleProvenance</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance._ownedComment.0" xmi:type="uml:Comment">
+          <body>Every Unit must be defined in only one SystemOfUnits but it can be in the scope of several SystemOfUnits. A given Unit is in scope of a SystemOfUnits either because it is defined or used in a SystemOfUnits or because it is included from the scope of another SystemOfUnits.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance"/>
+        </ownedComment>
+        <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance_specification" xmi:type="uml:OpaqueExpression">
+          <body>includedSystemOfUnits-&gt;collect(allUnits())-&gt;intersection(unit)-&gt;isEmpty()</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds" xmi:type="uml:Constraint">
+        <name>systemOfQuantitiesIncludesAllUnitsQuantityKinds</name>
+        <ownedComment 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds._ownedComment.0" xmi:type="uml:Comment">
+          <body>For a Unit to have a provenance to a single SystemOfUnits, includedSystemsOfUnits must be transitively disjoint with usedSystemsOfUnits.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds"/>
+        </ownedComment>
+        <specification 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds_specification" xmi:type="uml:OpaqueExpression">
+          <body>let aqks : Set(QuantityKind) = getEffectiveSystemOfQuantities().allQuantityKinds() in allUnits()-&gt;forAll(u | getKindOfQuantitiesForMeasurementUnit(u)-&gt;intersection(aqks)-&gt;notEmpty())</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit" xmi:type="uml:Property">
+        <name>baseUnit</name>
+        <isOrdered>true</isOrdered>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_baseUnit"/>
+        <subsettedProperty xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.definitionURI" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.definitionURI" xmi:type="uml:Property">
+        <name>definitionURI</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.definitionURI_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.definitionURI_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.description" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.description" xmi:type="uml:Property">
+        <name>description</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.description_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.description_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits" xmi:type="uml:Property">
+        <name>includedSystemOfUnits</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix" xmi:type="uml:Property">
+        <name>prefix</name>
+        <isOrdered>true</isOrdered>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_Prefix"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_prefix"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.symbol" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.symbol" xmi:type="uml:Property">
+        <name>symbol</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.symbol_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.symbol_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities" xmi:type="uml:Property">
+        <name>systemOfQuantities</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit" xmi:type="uml:Property">
+        <name>unit</name>
+        <isOrdered>true</isOrdered>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits" xmi:type="uml:Property">
+        <name>usedSystemOfUnits</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits"/>
+      </ownedAttribute>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits" xmi:type="uml:Operation">
+        <name>allAccessibleSystemOfUnits</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query allAccessibleSystemOfUnits() gives all the SystemOfUnits directly or transitively included or used.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>self-&gt;closure(includedSystemOfUnits-&gt;union(usedSystemOfUnits))-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit" xmi:type="uml:Operation">
+        <name>allAccessibleUnits</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query accessibleUnits() gives all the Units directly defined in a SystemOfUnits or transitively in any included or used SystemOfUnits.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body"/>
+        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        </ownedParameter>
+        <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>allAccessibleSystemOfUnits()-&gt;collect(unit)-&gt;flatten()-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit"/>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+        <name>allBaseQuantityKinds</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query allBaseQuantityKinds() gives all the QuantityKinds directly adopted or transitively adopted from any included SystemOfQuantities as base QuantityKinds in the effective SystemOfQuantities associated to a SystemOfUnits.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result" xmi:type="uml:Constraint">
+          <name>result</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result_specification" xmi:type="uml:OpaqueExpression">
+            <body>getEffectiveSystemOfQuantities().allBaseQuantityKinds()-&gt;flatten()-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit" xmi:type="uml:Operation">
+        <name>allBaseUnits</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query allBaseUnits() gives all the Units directly adopted or transitively adopted from any included SystemOfUnits as base Units.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body"/>
+        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        </ownedParameter>
+        <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>allIncludedSystemOfUnits()-&gt;collect(baseUnit)-&gt;flatten()-&gt;asSet()-&gt;union(baseUnit)-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit"/>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits" xmi:type="uml:Operation">
+        <name>allIncludedSystemOfUnits</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query allIncludedSystemOfUnits() gives all the SystemOfUnits directly or transitively included.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>self-&gt;closure(includedSystemOfUnits-&gt;union(usedSystemOfUnits))-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean" xmi:type="uml:Operation">
+        <name>allMeasurementUnitsDefinedForSomeQuantityKind</name>
+        <isQuery>true</isQuery>
+        <ownedComment 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean._ownedComment.0" xmi:type="uml:Comment">
+          <body>The predicate allMeasurementUnitsDefinedForSomeQuantityKind() determines whether, in a SystemOfUnits, every Unit must be defined, by convention, as a multiplicable reference for at least one QuantityKind (see ISO 80000-1, 3.9).</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>allUnits()-&gt;forAll(quantityKind &lt;&gt; null)</body>
+            <language>OCL2.0</language>
+          </specification>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix" xmi:type="uml:Operation">
+        <name>allPrefixes</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query allPrefixes() gives all the Prefixes in scope of a SystemOfUnits; that is, each Prefix is either directly defined in the SystemOfUnits or in any accessible SystemOfUnits.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body"/>
+        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_Prefix"/>
+        </ownedParameter>
+        <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>allAccessibleSystemOfUnits()-&gt;including(self)-&gt;collect(prefix)-&gt;flatten()-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit" xmi:type="uml:Operation">
+        <name>allUnits</name>
+        <isQuery>true</isQuery>
+        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query allUnits() gives all the Units in scope of a SystemOfUnits; that is, each Unit is either directly defined in the SystemOfUnits, selectively used from another SystemOfUnits or part of the scope of all the Units included from another SystemOfUnits.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body"/>
+        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        </ownedParameter>
+        <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>allIncludedSystemOfUnits()-&gt;collect(unit)-&gt;flatten()-&gt;asSet()-&gt;union(unit)-&gt;asSet()</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit"/>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit" xmi:type="uml:Operation">
+        <name>getAdoptedBaseUnitForMeasurementUnit</name>
+        <isQuery>true</isQuery>
+        <ownedComment 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query getAdoptedBaseUnitForMeasurementUnit() determines for a Unit u in scope of a SystemOfUnits the base Unit, if any, corresponding to u, which can be u itself if it is a baseUnit in that SystemOfUnits or its reference Unit if it is a base Unit and u is a PrefixUnit.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        </ownedParameter>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_u" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_u" xmi:type="uml:Parameter">
+          <name>u</name>
+          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>let abu : Set(Unit) = allBaseUnits() in if (abu-&gt;includes(u)) then u else if (u.oclIsKindOf(PrefixedUnit)) then abu-&gt;intersection(u.oclAsType(PrefixedUnit).referenceUnit-&gt;asSet())-&gt;any(true) else null endif endif</body>
+            <language>OCL2.0</language>
+          </specification>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation 
+      xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit" xmi:type="uml:Operation">
+        <name>getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit</name>
+        <isQuery>true</isQuery>
+        <ownedComment 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit() determines for a Unit u in scope of a SystemOfUnits the base QuantityKind, if any, corresponding to the base Unit of u.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body"/>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind"/>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        </ownedParameter>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_u" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_u" xmi:type="uml:Parameter">
+          <name>u</name>
+          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>let bu : Unit = getAdoptedBaseUnitForMeasurementUnit(u) in if (bu = null) then Set{} else let qks : Set(QuantityKind) = getKindOfQuantitiesForMeasurementUnit(bu) in allBaseQuantityKinds()-&gt;intersection(qks) endif</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit"/>
+        </bodyCondition>
+        <postcondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind" xmi:type="uml:Constraint">
+          <name>knownPrimaryQuantityKind</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind_specification" xmi:type="uml:OpaqueExpression">
+            <body>getEffectiveSystemOfQuantities().allBaseQuantityKinds()-&gt;includesAll(result)</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit"/>
+        </postcondition>
+        <precondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter" xmi:type="uml:Constraint">
+          <name>baseUnitParameter</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter_specification" xmi:type="uml:OpaqueExpression">
+            <body>allBaseUnits()-&gt;includes(u)</body>
+            <language>OCL2.0</language>
+          </specification>
+        </precondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities" xmi:type="uml:Operation">
+        <name>getEffectiveSystemOfQuantities</name>
+        <isQuery>true</isQuery>
+        <ownedComment 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query getEffectiveSystemOfQuantities() determines for a SystemOfUnits the SystemOfQuantities, if any, that it is directly or indirectly associated with via included SystemOfUnits.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body"/>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>if systemOfQuantities = null then includedSystemOfUnits-&gt;collect(getEffectiveSystemOfQuantities())-&gt;flatten()-&gt;asSet()-&gt;any(true) else systemOfQuantities endif</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities"/>
+        </bodyCondition>
+        <precondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities" xmi:type="uml:Constraint">
+          <name>atMostOneSystemOfQuantities</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities_specification" xmi:type="uml:OpaqueExpression">
+            <body>systemOfQuantities = null implies includedSystemOfUnits-&gt;collect(getEffectiveSystemOfQuantities())-&gt;asSet()-&gt;size() &lt;= 1</body>
+            <language>OCL2.0</language>
+          </specification>
+          <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities"/>
+        </precondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit" xmi:type="uml:Operation">
+        <name>getKindOfQuantitiesForMeasurementUnit</name>
+        <isQuery>true</isQuery>
+        <ownedComment 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit._ownedComment.0" xmi:type="uml:Comment">
+          <body>The query getKindOfQuantitiesForMeasurementUnit() determines for a Unit u in scope of a SystemOfUnits the set of QuantityKinds corresponding to u, if specified, or to the Units that u is defined in terms of, if any.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit"/>
+        </ownedComment>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body"/>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        </ownedParameter>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_u" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_u" xmi:type="uml:Parameter">
+          <name>u</name>
+          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        </ownedParameter>
+        <bodyCondition 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>
+              if (u.oclIsKindOf(SimpleUnit)) 
+						then 
+							u.quantityKind-&gt;collect(oclAsType(QuantityKind))-&gt;asSet()
+						else if (u.oclIsKindOf(DerivedUnit)) 
+							then let du : DerivedUnit = u.oclAsType(DerivedUnit) in 
+								if (du.quantityKind &lt;&gt; null) then 
+									du.quantityKind-&gt;collect(oclAsType(QuantityKind))-&gt;asSet() 
+								else 
+									getKindOfQuantitiesForMeasurementUnit(du.factor-&gt;any(true).unit) 
+								endif
+							else if (u.oclIsKindOf(ConversionBasedUnit)) 
+								then let cu : ConversionBasedUnit = u.oclAsType(ConversionBasedUnit) in
+									if (cu.oclIsKindOf(PrefixedUnit)) 
+									then 
+										getKindOfQuantitiesForMeasurementUnit(cu.referenceUnit)
+									else 
+										if (cu.quantityKind &lt;&gt; null) then 
+											cu.quantityKind-&gt;collect(oclAsType(QuantityKind))-&gt;asSet()
+										else 
+											getKindOfQuantitiesForMeasurementUnit(cu.referenceUnit)
+										endif
+									endif
+								else 
+									Set(QuantityKind){}
+								endif
+							endif
+						endif
+            </body>
+            <language>OCL2.0</language>
+          </specification>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit" xmi:type="uml:Operation">
+        <name>getUnit</name>
+        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body"/>
+        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_name" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_name" xmi:type="uml:Parameter">
+          <name>name</name>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+          </lowerValue>
+          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        </ownedParameter>
+        <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+          <name>body</name>
+          <specification 
+          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+            <body>allUnits()-&gt;select(u | u.name = name)-&gt;any(true)</body>
+            <language>OCL2.0</language>
+          </specification>
+        </bodyCondition>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_Boolean" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_Boolean" xmi:type="uml:Operation">
+        <name>isCoherent</name>
+        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_Boolean.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_Boolean.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean" xmi:type="uml:Operation">
+        <name>isCoherent</name>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean.parameter_ownedParameter_du" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean.parameter_ownedParameter_du" xmi:type="uml:Parameter">
+          <name>du</name>
+          <type xmi:idref="QUDV.class_packagedElement_DerivedUnit"/>
+        </ownedParameter>
+        <ownedParameter 
+        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit" xmi:type="uml:Class">
+      <name>Unit</name>
+      <isAbstract>true</isAbstract>
+      <ownedRule xmi:id="QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies" xmi:type="uml:Constraint">
+        <name>acyclic_unit_dependencies</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies._ownedComment.0" xmi:type="uml:Comment">
+          <body>A Unit cannot be defined in terms of itself. This follows from the requirement that, in a coherent SystemOfUnits, the Units of all derived QuantityKinds are expressed in terms of the base Units in accordance with the equations in the SystemOfQuantities (see ISO 80000-1, 6.4).</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies"/>
+        </ownedComment>
+        <specification xmi:id="QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies_specification" xmi:type="uml:OpaqueExpression">
+          <body>dependsOnUnits-&gt;excludes(self)</body>
+          <language>OCL2.0</language>
+        </specification>
+      </ownedRule>
+      <generalization 
+      xmi:id="QUDV.class_packagedElement_Unit._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit" xmi:type="uml:Generalization">
+        <general xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+      </generalization>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits" xmi:type="uml:Property">
+        <name>dependsOnUnits</name>
+        <isReadOnly>true</isReadOnly>
+        <isDerived>true</isDerived>
+        <ownedComment xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits._ownedComment.0" xmi:type="uml:Comment">
+          <body>The set of all Units that this Unit directly or indirectly depends on according to its definition.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits"/>
+        </ownedComment>
+        <lowerValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.general" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.general" xmi:type="uml:Property">
+        <name>general</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.general_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.general_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.general_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.general_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_generalUnit_specificUnit"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities" xmi:type="uml:Property">
+        <name>isUnitCountOfEntities</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities._ownedComment.0" xmi:type="uml:Comment">
+          <body>If true, indicates that the measurement unit represents a number of entities (see ISO 80000-1, 3.10, Note 3).</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities"/>
+        </ownedComment>
+        <defaultValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities_defaultValue" xmi:type="uml:LiteralBoolean"/>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne" xmi:type="uml:Property">
+        <name>isUnitForQuantityOfDimensionOne</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne._ownedComment.0" xmi:type="uml:Comment">
+          <body>If true, indicates that the corresponding QuantityKind has dimension one (see ISO 80000-1, 3.8).</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne"/>
+        </ownedComment>
+        <defaultValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne_defaultValue" xmi:type="uml:LiteralBoolean"/>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind" xmi:type="uml:Property">
+        <name>quantityKind</name>
+        <lowerValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
+        <upperValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+          <value>*</value>
+        </upperValue>
+        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit"/>
+        <redefinedProperty xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.quantityKind"/>
+      </ownedAttribute>
+      <ownedOperation xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit" xmi:type="uml:Operation">
+        <name>dependsOnUnits</name>
+        <ownedComment xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+          <body>Abstract operation specified in ConversionBasedUnit, SimpleUnit and DerivedUnit to calculate the value of the derived property Unit:/dependsOnUnits.</body>
+          <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit"/>
+        </ownedComment>
+        <ownedParameter xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <lowerValue xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger"/>
+          <upperValue 
+          xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+            <value>*</value>
+          </upperValue>
+          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        </ownedParameter>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.class_packagedElement_UnitFactor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_UnitFactor" xmi:type="uml:Class">
+      <name>UnitFactor</name>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_UnitFactor_ownedAttribute.exponent" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_UnitFactor_ownedAttribute.exponent" xmi:type="uml:Property">
+        <name>exponent</name>
+        <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.class_packagedElement_UnitFactor_ownedAttribute.unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_UnitFactor_ownedAttribute.unit" xmi:type="uml:Property">
+        <name>unit</name>
+        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+        <association xmi:idref="QUDV.association_packagedElement_A_unitFactor_unit"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:id="QUDV.dataType_packagedElement_Rational" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational" xmi:type="uml:DataType">
+      <name>Rational</name>
+      <generalization 
+      xmi:id="QUDV.dataType_packagedElement_Rational._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" xmi:type="uml:Generalization">
+        <general xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+      </generalization>
+      <ownedAttribute xmi:id="QUDV.dataType_packagedElement_Rational_ownedAttribute.denominator" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedAttribute.denominator" xmi:type="uml:Property">
+        <name>denominator</name>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="QUDV.dataType_packagedElement_Rational_ownedAttribute.numerator" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedAttribute.numerator" xmi:type="uml:Property">
+        <name>numerator</name>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedOperation xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean" xmi:type="uml:Operation">
+        <name>equivalent</name>
+        <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean.parameter_ownedParameter_r" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean.parameter_ownedParameter_r" xmi:type="uml:Parameter">
+          <name>r</name>
+          <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+        </ownedParameter>
+        <ownedParameter 
+        xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational" xmi:type="uml:Operation">
+        <name>plus</name>
+        <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational.parameter_ownedParameter_r" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational.parameter_ownedParameter_r" xmi:type="uml:Parameter">
+          <name>r</name>
+          <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational" xmi:type="uml:Operation">
+        <name>times</name>
+        <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational.parameter_ownedParameter_r" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational.parameter_ownedParameter_r" xmi:type="uml:Parameter">
+          <name>r</name>
+          <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+          <name>result</name>
+          <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+        </ownedParameter>
+      </ownedOperation>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbA2wE73EemF1O5H-vsXHQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbJZoE73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbNrEE73EemF1O5H-vsXHQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbNrEU73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//activities"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Activities"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbSjkE73EemF1O5H-vsXHQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbTKoE73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//allocations"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Allocations"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbTKoU73EemF1O5H-vsXHQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbTxsE73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbTxsU73EemF1O5H-vsXHQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbTxsk73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//constraintblocks"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbUYwE73EemF1O5H-vsXHQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbUYwU73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//deprecatedelements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbUYwk73EemF1O5H-vsXHQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbU_0E73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//modelelements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ModelElements"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbU_0U73EemF1O5H-vsXHQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbVm4E73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//portsandflows"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbVm4U73EemF1O5H-vsXHQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbWN8E73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//requirements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbW1AE73EemF1O5H-vsXHQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbW1AU73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_sZwgkDq8EeW1FZ2lBd8dLg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sZxusDq8EeW1FZ2lBd8dLg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Package>
+  <StandardProfile:ModelLibrary xmi:id="QUDV.stereotypeApplication_ModelLibrary" xmi:uuid="org.omg.sysml.QUDV.stereotypeApplication_ModelLibrary" xmi:type="StandardProfile:ModelLibrary" base_Package="QUDV">
+    <base_Package xmi:idref="QUDV"/>
+  </StandardProfile:ModelLibrary>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_AffineConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" base_Class="QUDV.class_packagedElement_AffineConversionUnit"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_ConversionBasedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" base_Class="QUDV.class_packagedElement_ConversionBasedUnit"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_DerivedQuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_DerivedQuantityKind"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_DerivedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_DerivedUnit"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_Dimension.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_Dimension"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_GeneralConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_GeneralConversionUnit"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_LinearConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_LinearConversionUnit"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_Prefix.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Prefix.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_Prefix"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_PrefixedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_PrefixedUnit"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_QuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_QuantityKind"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_QuantityKindFactor.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKindFactor.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_QuantityKindFactor"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_SimpleQuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_SimpleQuantityKind"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_SimpleUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_SimpleUnit"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_SystemOfQuantities.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_SystemOfQuantities"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_SystemOfUnits.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_SystemOfUnits"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_Unit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_Unit"/>
+  <Blocks:Block 
+  xmi:id="QUDV.class_packagedElement_UnitFactor.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_UnitFactor.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_UnitFactor"/>
+  <Blocks:ValueType 
+  xmi:id="QUDV.dataType_packagedElement_Rational.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" xmi:type="Blocks:ValueType" base_DataType="QUDV.dataType_packagedElement_Rational"/>
+</xmi:XMI>
+
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.di b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.di
new file mode 100644
index 0000000..785b011
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.sysml.architecture.SysML16"/>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.notation b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.notation
new file mode 100644
index 0000000..b47c838
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.notation
@@ -0,0 +1,720 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:style_1="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_v7_YoDn1EeWWssZOJ2QVuQ" type="PapyrusUMLClassDiagram" name="Libraries Diagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_wdotIDn1EeWWssZOJ2QVuQ" type="Package_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_wdqiUDn1EeWWssZOJ2QVuQ" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_wdrJYDn1EeWWssZOJ2QVuQ" type="Package_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_wdrJYTn1EeWWssZOJ2QVuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wdrJYjn1EeWWssZOJ2QVuQ"/>
+      </children>
+      <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wdotITn1EeWWssZOJ2QVuQ" x="100" y="80"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_xFCEUDn1EeWWssZOJ2QVuQ" type="Package_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_xFDScDn1EeWWssZOJ2QVuQ" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_xFDScTn1EeWWssZOJ2QVuQ" type="Package_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_xFDScjn1EeWWssZOJ2QVuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xFDSczn1EeWWssZOJ2QVuQ"/>
+      </children>
+      <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xFCEUTn1EeWWssZOJ2QVuQ" x="100" y="240"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_xU5FQDn1EeWWssZOJ2QVuQ" type="Package_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_xU6TYDn1EeWWssZOJ2QVuQ" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_xU6TYTn1EeWWssZOJ2QVuQ" type="Package_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_xU6TYjn1EeWWssZOJ2QVuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xU6TYzn1EeWWssZOJ2QVuQ"/>
+      </children>
+      <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xU5FQTn1EeWWssZOJ2QVuQ" x="360" y="80"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_FgtVEBIpEeeFNrLZFDmeGg" type="Package_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Fgt8IBIpEeeFNrLZFDmeGg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Fgt8IRIpEeeFNrLZFDmeGg" type="Package_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Fgt8IhIpEeeFNrLZFDmeGg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Fgt8IxIpEeeFNrLZFDmeGg"/>
+      </children>
+      <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#_7DGgkDthEeWLFIpRJHQiHw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FgtVERIpEeeFNrLZFDmeGg" x="360" y="240" width="201" height="101"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_v7_YoTn1EeWWssZOJ2QVuQ" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_v7_Yojn1EeWWssZOJ2QVuQ"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_9r5C4MrNEee5xeGZ3-9rfg" diagramKindId="org.eclipse.papyrus.sysml16.diagram.blockdefinition">
+      <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries"/>
+    </styles>
+    <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_RzuDkDtgEeWLFIpRJHQiHw" type="PapyrusUMLClassDiagram" name="Primitive Value Types Diagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_SVy14DtgEeWLFIpRJHQiHw" type="DataType_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_SVzc8DtgEeWLFIpRJHQiHw" type="DataType_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SV0EADtgEeWLFIpRJHQiHw" type="DataType_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SV0EATtgEeWLFIpRJHQiHw" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_SV0EAjtgEeWLFIpRJHQiHw" visible="false" type="DataType_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_SV0EAztgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_SV0EBDtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_SV0EBTtgEeWLFIpRJHQiHw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SV0EBjtgEeWLFIpRJHQiHw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_SV0EBztgEeWLFIpRJHQiHw" visible="false" type="DataType_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_SV0ECDtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_SV0ECTtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_SV0ECjtgEeWLFIpRJHQiHw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SV0ECztgEeWLFIpRJHQiHw"/>
+      </children>
+      <element xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SVy14TtgEeWLFIpRJHQiHw" x="320" y="160" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Syc8sDtgEeWLFIpRJHQiHw" type="DataType_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_SydjwDtgEeWLFIpRJHQiHw" type="DataType_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SydjwTtgEeWLFIpRJHQiHw" type="DataType_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SydjwjtgEeWLFIpRJHQiHw" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_SydjwztgEeWLFIpRJHQiHw" type="DataType_AttributeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UnbhUDtgEeWLFIpRJHQiHw" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UncIYDtgEeWLFIpRJHQiHw" key="visible" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:Shape" xmi:id="_V398IDtgEeWLFIpRJHQiHw" type="Property_DataTypeAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.imaginaryPart"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_V398ITtgEeWLFIpRJHQiHw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WVMDoDtgEeWLFIpRJHQiHw" type="Property_DataTypeAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.realPart"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_WVMDoTtgEeWLFIpRJHQiHw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_SydjxDtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_SydjxTtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_SydjxjtgEeWLFIpRJHQiHw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SydjxztgEeWLFIpRJHQiHw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_SydjyDtgEeWLFIpRJHQiHw" visible="false" type="DataType_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_SydjyTtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_SydjyjtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_SydjyztgEeWLFIpRJHQiHw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SydjzDtgEeWLFIpRJHQiHw"/>
+      </children>
+      <element xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Syc8sTtgEeWLFIpRJHQiHw" x="580" y="360" width="201"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_W-1dkDtgEeWLFIpRJHQiHw" type="DataType_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_W-2EoDtgEeWLFIpRJHQiHw" type="DataType_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_W-2EoTtgEeWLFIpRJHQiHw" type="DataType_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_W-2EojtgEeWLFIpRJHQiHw" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_W-2EoztgEeWLFIpRJHQiHw" visible="false" type="DataType_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_W-2EpDtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_W-2EpTtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_W-2EpjtgEeWLFIpRJHQiHw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W-2EpztgEeWLFIpRJHQiHw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_W-2EqDtgEeWLFIpRJHQiHw" visible="false" type="DataType_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_W-2EqTtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_W-2EqjtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_W-2EqztgEeWLFIpRJHQiHw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W-2ErDtgEeWLFIpRJHQiHw"/>
+      </children>
+      <element xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W-1dkTtgEeWLFIpRJHQiHw" x="320" y="360" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_W_N4EDtgEeWLFIpRJHQiHw" type="DataType_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_W_N4EjtgEeWLFIpRJHQiHw" type="DataType_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_W_N4EztgEeWLFIpRJHQiHw" type="DataType_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_W_N4FDtgEeWLFIpRJHQiHw" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_W_N4FTtgEeWLFIpRJHQiHw" visible="false" type="DataType_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_W_N4FjtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_W_N4FztgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_W_N4GDtgEeWLFIpRJHQiHw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W_N4GTtgEeWLFIpRJHQiHw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_W_OfIDtgEeWLFIpRJHQiHw" visible="false" type="DataType_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_W_OfITtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_W_OfIjtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_W_OfIztgEeWLFIpRJHQiHw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W_OfJDtgEeWLFIpRJHQiHw"/>
+      </children>
+      <element xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W_N4ETtgEeWLFIpRJHQiHw" x="580" y="160" width="201"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_X_r2kDtgEeWLFIpRJHQiHw" type="DataType_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_X_sdoDtgEeWLFIpRJHQiHw" type="DataType_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X_sdoTtgEeWLFIpRJHQiHw" type="DataType_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X_sdojtgEeWLFIpRJHQiHw" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_X_tEsDtgEeWLFIpRJHQiHw" visible="false" type="DataType_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_X_tEsTtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_X_tEsjtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_X_tEsztgEeWLFIpRJHQiHw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X_tEtDtgEeWLFIpRJHQiHw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_X_tEtTtgEeWLFIpRJHQiHw" visible="false" type="DataType_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_X_tEtjtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_X_tEtztgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_X_tEuDtgEeWLFIpRJHQiHw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X_tEuTtgEeWLFIpRJHQiHw"/>
+      </children>
+      <element xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X_r2kTtgEeWLFIpRJHQiHw" x="880" y="360" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Yj1FcDtgEeWLFIpRJHQiHw" type="DataType_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Yj1sgDtgEeWLFIpRJHQiHw" type="DataType_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Yj1sgTtgEeWLFIpRJHQiHw" type="DataType_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Yj1sgjtgEeWLFIpRJHQiHw" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Yj1sgztgEeWLFIpRJHQiHw" visible="false" type="DataType_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Yj1shDtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Yj1shTtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Yj1shjtgEeWLFIpRJHQiHw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yj1shztgEeWLFIpRJHQiHw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Yj1siDtgEeWLFIpRJHQiHw" visible="false" type="DataType_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Yj1siTtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Yj1sijtgEeWLFIpRJHQiHw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Yj1siztgEeWLFIpRJHQiHw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yj1sjDtgEeWLFIpRJHQiHw"/>
+      </children>
+      <element xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yj1FcTtgEeWLFIpRJHQiHw" x="880" y="160" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Go3x8BCzEeeFNrLZFDmeGg" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Go6OMBCzEeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real._ownedComment.0"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Go3x8RCzEeeFNrLZFDmeGg" x="1060" y="320" width="221" height="181"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Kp3iMBCzEeeFNrLZFDmeGg" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Kp4wUBCzEeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex._ownedComment.0"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kp3iMRCzEeeFNrLZFDmeGg" x="560" y="520" width="241" height="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9i7EoBCzEeeFNrLZFDmeGg" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9i7rsBCzEeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean._ownedComment.0"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9i7EoRCzEeeFNrLZFDmeGg" x="140" y="160" width="124" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QNNZgBC0EeeFNrLZFDmeGg" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QNOAkBC0EeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integert._ownedComment.0"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QNNZgRC0EeeFNrLZFDmeGg" x="60" y="320" width="201" height="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_fr8_cBC0EeeFNrLZFDmeGg" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_fr9mgBC0EeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number._ownedComment.0"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fr8_cRC0EeeFNrLZFDmeGg" x="560" y="20" width="241" height="81"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gjjV0BC0EeeFNrLZFDmeGg" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gjj84BC0EeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String._ownedComment.0"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gjjV0RC0EeeFNrLZFDmeGg" x="1060" y="160" width="221" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qeW6MMrREee5xeGZ3-9rfg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qeW6McrREee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qeYIUMrREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qeW6MsrREee5xeGZ3-9rfg" x="520" y="160"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qedA08rREee5xeGZ3-9rfg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qedA1MrREee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qedA1srREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qedA1crREee5xeGZ3-9rfg" x="780" y="360"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qeigY8rREee5xeGZ3-9rfg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qeigZMrREee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qeigZsrREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qeigZcrREee5xeGZ3-9rfg" x="520" y="360"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qenY58rREee5xeGZ3-9rfg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qenY6MrREee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qenY6srREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qenY6crREee5xeGZ3-9rfg" x="780" y="160"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qesRYMrREee5xeGZ3-9rfg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qesRYcrREee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qesRY8rREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qesRYsrREee5xeGZ3-9rfg" x="1080" y="360"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qexJ4MrREee5xeGZ3-9rfg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qexJ4crREee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qexJ48rREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qexJ4srREee5xeGZ3-9rfg" x="1080" y="160"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_RzuDkTtgEeWLFIpRJHQiHw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_RzuDkjtgEeWLFIpRJHQiHw"/>
+    <styles xmi:type="style_1:PapyrusViewStyle" xmi:id="_RzuDkztgEeWLFIpRJHQiHw">
+      <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes"/>
+    </styles>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_awezcMrOEee5xeGZ3-9rfg" diagramKindId="org.eclipse.papyrus.sysml16.diagram.blockdefinition">
+      <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes"/>
+    </styles>
+    <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes"/>
+    <edges xmi:type="notation:Connector" xmi:id="_W_lrgDtgEeWLFIpRJHQiHw" type="Generalization_Edge" source="_W-1dkDtgEeWLFIpRJHQiHw" target="_W_N4EDtgEeWLFIpRJHQiHw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xixh8BCyEeeFNrLZFDmeGg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xiyJABCyEeeFNrLZFDmeGg" key="routing" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_W_lrgztgEeWLFIpRJHQiHw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_c3jskBCxEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_W_lrhDtgEeWLFIpRJHQiHw" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_W_lrgTtgEeWLFIpRJHQiHw"/>
+      <element xmi:type="uml:Generalization" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_W_lrgjtgEeWLFIpRJHQiHw" points="[380, 360, -643984, -643984]$[380, 320, -643984, -643984]$[680, 320, -643984, -643984]$[680, 260, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XZO6kDtgEeWLFIpRJHQiHw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XZPhoDtgEeWLFIpRJHQiHw" id="(0.4975124378109453,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YAIigDtgEeWLFIpRJHQiHw" type="Generalization_Edge" source="_X_r2kDtgEeWLFIpRJHQiHw" target="_W_N4EDtgEeWLFIpRJHQiHw" routing="Tree">
+      <children xmi:type="notation:DecorationNode" xmi:id="_YAIigztgEeWLFIpRJHQiHw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_c4vYUBCxEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YAIihDtgEeWLFIpRJHQiHw" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_YAIigTtgEeWLFIpRJHQiHw"/>
+      <element xmi:type="uml:Generalization" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YAIigjtgEeWLFIpRJHQiHw" points="[940, 360, -643984, -643984]$[940, 320, -643984, -643984]$[680, 320, -643984, -643984]$[680, 260, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Z8hWsDtgEeWLFIpRJHQiHw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jgsboDtgEeWLFIpRJHQiHw" id="(0.4975124378109453,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dV_z8DtgEeWLFIpRJHQiHw" type="Generalization_Edge" source="_Syc8sDtgEeWLFIpRJHQiHw" target="_W_N4EDtgEeWLFIpRJHQiHw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_44d9IBCyEeeFNrLZFDmeGg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_44ekMBCyEeeFNrLZFDmeGg" key="routing" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_dWAbADtgEeWLFIpRJHQiHw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_c5F9oBCxEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dWAbATtgEeWLFIpRJHQiHw" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dV_z8TtgEeWLFIpRJHQiHw"/>
+      <element xmi:type="uml:Generalization" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dV_z8jtgEeWLFIpRJHQiHw" points="[680, 360, -643984, -643984]$[680, 320, -643984, -643984]$[680, 260, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dqZ9sDtgEeWLFIpRJHQiHw" id="(0.4975124378109453,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dqakwDtgEeWLFIpRJHQiHw" id="(0.4975124378109453,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_QXGx0BCzEeeFNrLZFDmeGg" type="Generalization_Edge" source="_Syc8sDtgEeWLFIpRJHQiHw" target="_W_N4EDtgEeWLFIpRJHQiHw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QXHY4BCzEeeFNrLZFDmeGg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BCydwBC0EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QXHY4RCzEeeFNrLZFDmeGg" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_QXGx0RCzEeeFNrLZFDmeGg"/>
+      <element xmi:type="uml:Generalization" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QXGx0hCzEeeFNrLZFDmeGg" points="[680, 360, -643984, -643984]$[680, 260, -643984, -643984]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_W9CkABCzEeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_Go3x8BCzEeeFNrLZFDmeGg" target="_X_r2kDtgEeWLFIpRJHQiHw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_W9CkARCzEeeFNrLZFDmeGg"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_W9CkAhCzEeeFNrLZFDmeGg" points="[1120, 400, -643984, -643984]$[1001, 400, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W9kvgBCzEeeFNrLZFDmeGg" id="(0.0,0.4419889502762431)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W9kvgRCzEeeFNrLZFDmeGg" id="(1.0,0.4)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YAvcsBCzEeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_Kp3iMBCzEeeFNrLZFDmeGg" target="_Syc8sDtgEeWLFIpRJHQiHw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YAvcsRCzEeeFNrLZFDmeGg"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YAvcshCzEeeFNrLZFDmeGg" points="[680, 560, -643984, -643984]$[680, 465, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YBFa8BCzEeeFNrLZFDmeGg" id="(0.4979253112033195,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YBFa8RCzEeeFNrLZFDmeGg" id="(0.4975124378109453,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_DBVOEBC0EeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_9i7EoBCzEeeFNrLZFDmeGg" target="_SVy14DtgEeWLFIpRJHQiHw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_DBVOERC0EeeFNrLZFDmeGg"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DBVOEhC0EeeFNrLZFDmeGg" points="[244, 200, -643984, -643984]$[340, 200, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DB9gMBC0EeeFNrLZFDmeGg" id="(1.0,0.39603960396039606)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DB9gMRC0EeeFNrLZFDmeGg" id="(0.0,0.4)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_W4F9IBC0EeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_QNNZgBC0EeeFNrLZFDmeGg" target="_W-1dkDtgEeWLFIpRJHQiHw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_W4F9IRC0EeeFNrLZFDmeGg"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_W4F9IhC0EeeFNrLZFDmeGg" points="[380, 560, -643984, -643984]$[380, 460, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W4p90BC0EeeFNrLZFDmeGg" id="(1.0,0.49382716049382713)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W4p90RC0EeeFNrLZFDmeGg" id="(0.0,0.4)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ktRkQBC0EeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_fr8_cBC0EeeFNrLZFDmeGg" target="_W_N4EDtgEeWLFIpRJHQiHw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ktRkQRC0EeeFNrLZFDmeGg"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ktRkQhC0EeeFNrLZFDmeGg" points="[680, 101, -643984, -643984]$[680, 160, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kt9gwBC0EeeFNrLZFDmeGg" id="(0.4979253112033195,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kt9gwRC0EeeFNrLZFDmeGg" id="(0.4975124378109453,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_lnyrwBC0EeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_gjjV0BC0EeeFNrLZFDmeGg" target="_Yj1FcDtgEeWLFIpRJHQiHw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_lnyrwRC0EeeFNrLZFDmeGg"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lnyrwhC0EeeFNrLZFDmeGg" points="[1120, 200, -643984, -643984]$[1001, 200, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lokH0BC0EeeFNrLZFDmeGg" id="(0.0,0.39603960396039606)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lokH0RC0EeeFNrLZFDmeGg" id="(1.0,0.4)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qeYIUcrREee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_SVy14DtgEeWLFIpRJHQiHw" target="_qeW6MMrREee5xeGZ3-9rfg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qeYIUsrREee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qeYIVsrREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qeYIU8rREee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qeYIVMrREee5xeGZ3-9rfg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qeYIVcrREee5xeGZ3-9rfg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qedA18rREee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_Syc8sDtgEeWLFIpRJHQiHw" target="_qedA08rREee5xeGZ3-9rfg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qedA2MrREee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qedA3MrREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qedA2crREee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qedA2srREee5xeGZ3-9rfg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qedA28rREee5xeGZ3-9rfg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qeigZ8rREee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_W-1dkDtgEeWLFIpRJHQiHw" target="_qeigY8rREee5xeGZ3-9rfg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qeigaMrREee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qeigbMrREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qeigacrREee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qeigasrREee5xeGZ3-9rfg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qeiga8rREee5xeGZ3-9rfg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qen_8MrREee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_W_N4EDtgEeWLFIpRJHQiHw" target="_qenY58rREee5xeGZ3-9rfg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qen_8crREee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qen_9crREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qen_8srREee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qen_88rREee5xeGZ3-9rfg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qen_9MrREee5xeGZ3-9rfg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qesRZMrREee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_X_r2kDtgEeWLFIpRJHQiHw" target="_qesRYMrREee5xeGZ3-9rfg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qesRZcrREee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qesRacrREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qesRZsrREee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qesRZ8rREee5xeGZ3-9rfg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qesRaMrREee5xeGZ3-9rfg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qexJ5MrREee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_Yj1FcDtgEeWLFIpRJHQiHw" target="_qexJ4MrREee5xeGZ3-9rfg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qexJ5crREee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qexJ6crREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qexJ5srREee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qexJ58rREee5xeGZ3-9rfg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qexJ6MrREee5xeGZ3-9rfg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_qPokIBC1EeeFNrLZFDmeGg" type="PapyrusUMLClassDiagram" name="Unit And QuantityKind Diagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_wmc8QBC1EeeFNrLZFDmeGg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_wmdjUBC1EeeFNrLZFDmeGg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wmdjURC1EeeFNrLZFDmeGg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wmeKYBC1EeeFNrLZFDmeGg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_wmexcBC1EeeFNrLZFDmeGg" type="Class_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ydgkgBC1EeeFNrLZFDmeGg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.definitionURI"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ydgkgRC1EeeFNrLZFDmeGg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ytm2ABC1EeeFNrLZFDmeGg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.description"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ytm2ARC1EeeFNrLZFDmeGg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_y8auEBC1EeeFNrLZFDmeGg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.symbol"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y8auERC1EeeFNrLZFDmeGg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_wmexcRC1EeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_wmexchC1EeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_wmexcxC1EeeFNrLZFDmeGg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wmexdBC1EeeFNrLZFDmeGg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_wmexdRC1EeeFNrLZFDmeGg" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_wmexdhC1EeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_wmexdxC1EeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_wmexeBC1EeeFNrLZFDmeGg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wmexeRC1EeeFNrLZFDmeGg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_wmexehC1EeeFNrLZFDmeGg" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_wmexexC1EeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_wmexfBC1EeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_wmexfRC1EeeFNrLZFDmeGg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wmexfhC1EeeFNrLZFDmeGg"/>
+      </children>
+      <element xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wmc8QRC1EeeFNrLZFDmeGg" x="280" y="300" width="221" height="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_0pFrQBC1EeeFNrLZFDmeGg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_0pGSUBC1EeeFNrLZFDmeGg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0pGSURC1EeeFNrLZFDmeGg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_0pGSUhC1EeeFNrLZFDmeGg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0pGSUxC1EeeFNrLZFDmeGg" type="Class_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_2HQ5cBC1EeeFNrLZFDmeGg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.definitionURI"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2HQ5cRC1EeeFNrLZFDmeGg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_2XhjABC1EeeFNrLZFDmeGg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.description"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2XhjARC1EeeFNrLZFDmeGg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_3WAkgBC1EeeFNrLZFDmeGg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.symbol"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_3WAkgRC1EeeFNrLZFDmeGg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_0pGSVBC1EeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0pGSVRC1EeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0pGSVhC1EeeFNrLZFDmeGg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0pGSVxC1EeeFNrLZFDmeGg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0pG5YBC1EeeFNrLZFDmeGg" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_0pG5YRC1EeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0pG5YhC1EeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0pG5YxC1EeeFNrLZFDmeGg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0pG5ZBC1EeeFNrLZFDmeGg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0pG5ZRC1EeeFNrLZFDmeGg" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_0pG5ZhC1EeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0pG5ZxC1EeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0pG5aBC1EeeFNrLZFDmeGg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0pG5aRC1EeeFNrLZFDmeGg"/>
+      </children>
+      <element xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0pFrQRC1EeeFNrLZFDmeGg" x="280" y="40" width="221" height="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__cyeYBC1EeeFNrLZFDmeGg" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__czFcBC1EeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind._ownedComment.0"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__cyeYRC1EeeFNrLZFDmeGg" x="40" y="320" width="181" height="81"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CUfrUBC2EeeFNrLZFDmeGg" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CUgSYBC2EeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit._ownedComment.0"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CUfrURC2EeeFNrLZFDmeGg" x="560" y="60" width="241" height="81"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LwbpwMrQEee5xeGZ3-9rfg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_LwbpwcrQEee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Lwbpw8rQEee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LwbpwsrQEee5xeGZ3-9rfg" x="480" y="300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LwkMo8rQEee5xeGZ3-9rfg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_LwkMpMrQEee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LwkzsMrQEee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LwkMpcrQEee5xeGZ3-9rfg" x="480" y="40"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_qPokIRC1EeeFNrLZFDmeGg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_qPokIhC1EeeFNrLZFDmeGg"/>
+    <styles xmi:type="style_1:PapyrusViewStyle" xmi:id="_qPokIxC1EeeFNrLZFDmeGg">
+      <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind"/>
+    </styles>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_aR5aAMrOEee5xeGZ3-9rfg" diagramKindId="org.eclipse.papyrus.sysml16.diagram.blockdefinition">
+      <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind"/>
+    </styles>
+    <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind"/>
+    <edges xmi:type="notation:Connector" xmi:id="_3reeMBC1EeeFNrLZFDmeGg" type="Association_Edge" source="_wmc8QBC1EeeFNrLZFDmeGg" target="_0pFrQBC1EeeFNrLZFDmeGg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3rfFQBC1EeeFNrLZFDmeGg" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_--0wABC1EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3rfFQRC1EeeFNrLZFDmeGg" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_3rfFQhC1EeeFNrLZFDmeGg" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-_BkUBC1EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3rfFQxC1EeeFNrLZFDmeGg" x="3" y="-120"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_3rfsUBC1EeeFNrLZFDmeGg" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-_I5EBC1EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3rfsURC1EeeFNrLZFDmeGg" x="13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_3rfsUhC1EeeFNrLZFDmeGg" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-_XikBC1EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3rfsUxC1EeeFNrLZFDmeGg" x="-6"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_3rfsVBC1EeeFNrLZFDmeGg" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-_dCIBC1EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3rfsVRC1EeeFNrLZFDmeGg" x="13" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_3rfsVhC1EeeFNrLZFDmeGg" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-_ihsBC1EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3rfsVxC1EeeFNrLZFDmeGg" x="-6" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_3reeMRC1EeeFNrLZFDmeGg"/>
+      <element xmi:type="uml:Association" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3reeMhC1EeeFNrLZFDmeGg" points="[481, 110, -643984, -643984]$[660, 110, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_51v9YBC1EeeFNrLZFDmeGg" id="(0.45248868778280543,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5cfv4BC1EeeFNrLZFDmeGg" id="(0.45248868778280543,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Fo9swBC2EeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="__cyeYBC1EeeFNrLZFDmeGg" target="_wmc8QBC1EeeFNrLZFDmeGg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Fo9swRC2EeeFNrLZFDmeGg"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Fo9swhC2EeeFNrLZFDmeGg" points="[221, 380, -643984, -643984]$[280, 380, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FpR10BC2EeeFNrLZFDmeGg" id="(1.0,0.49382716049382713)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FpR10RC2EeeFNrLZFDmeGg" id="(0.0,0.37267080745341613)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GDtvEBC2EeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_CUfrUBC2EeeFNrLZFDmeGg" target="_0pFrQBC1EeeFNrLZFDmeGg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_GDtvERC2EeeFNrLZFDmeGg"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GDtvEhC2EeeFNrLZFDmeGg" points="[500, 120, -643984, -643984]$[441, 120, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GEJz8BC2EeeFNrLZFDmeGg" id="(0.0,0.45977011494252873)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GEKbABC2EeeFNrLZFDmeGg" id="(1.0,0.37267080745341613)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LwcQ0MrQEee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_wmc8QBC1EeeFNrLZFDmeGg" target="_LwbpwMrQEee5xeGZ3-9rfg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_LwcQ0crQEee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Lwc34MrQEee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LwcQ0srQEee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwcQ08rQEee5xeGZ3-9rfg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwcQ1MrQEee5xeGZ3-9rfg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LwkzscrQEee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_0pFrQBC1EeeFNrLZFDmeGg" target="_LwkMo8rQEee5xeGZ3-9rfg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_LwkzssrQEee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LwkztsrQEee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Lwkzs8rQEee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwkztMrQEee5xeGZ3-9rfg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwkztcrQEee5xeGZ3-9rfg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_9rYNABInEeeFNrLZFDmeGg" type="PapyrusUMLClassDiagram" name="ControlValues Diagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_DPlccBIoEeeFNrLZFDmeGg" type="Enumeration_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_DPmDgBIoEeeFNrLZFDmeGg" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_DPmDgRIoEeeFNrLZFDmeGg" type="Enumeration_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_DPmDghIoEeeFNrLZFDmeGg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_DPmqkBIoEeeFNrLZFDmeGg" type="Enumeration_LiteralCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ESK60BIoEeeFNrLZFDmeGg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_disable"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ESK60RIoEeeFNrLZFDmeGg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_EkJboBIoEeeFNrLZFDmeGg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_enable"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_EkJboRIoEeeFNrLZFDmeGg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DPmqkRIoEeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_DPmqkhIoEeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_DPmqkxIoEeeFNrLZFDmeGg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DPmqlBIoEeeFNrLZFDmeGg"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DPlccRIoEeeFNrLZFDmeGg" x="279" y="47" width="220" height="97"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_FErV0BIoEeeFNrLZFDmeGg" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_FEr84BIoEeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_disable._ownedComment.0"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FErV0RIoEeeFNrLZFDmeGg" x="384" y="236" width="201" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GuLqQBIoEeeFNrLZFDmeGg" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GuMRUBIoEeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_enable._ownedComment.0"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GuLqQRIoEeeFNrLZFDmeGg" x="93" y="235" width="205" height="133"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_X6UzwMrQEee5xeGZ3-9rfg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_X6UzwcrQEee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6Uzw8rQEee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Enumeration" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X6UzwsrQEee5xeGZ3-9rfg" x="479" y="47"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_9rYNARInEeeFNrLZFDmeGg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_9rYNAhInEeeFNrLZFDmeGg"/>
+    <styles xmi:type="style_1:PapyrusViewStyle" xmi:id="_9rYNAxInEeeFNrLZFDmeGg">
+      <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues"/>
+    </styles>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_SbJgMMrOEee5xeGZ3-9rfg" diagramKindId="org.eclipse.papyrus.sysml16.diagram.blockdefinition">
+      <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues"/>
+    </styles>
+    <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues"/>
+    <edges xmi:type="notation:Connector" xmi:id="_KHJKIBIoEeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_FErV0BIoEeeFNrLZFDmeGg" target="_DPlccBIoEeeFNrLZFDmeGg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_KHJKIRIoEeeFNrLZFDmeGg"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KHJKIhIoEeeFNrLZFDmeGg" points="[400, 100, -643984, -643984]$[301, 100, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KHVXYBIoEeeFNrLZFDmeGg" id="(0.13930348258706468,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KHVXYRIoEeeFNrLZFDmeGg" id="(0.8181818181818182,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_L_1xIBIoEeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_GuLqQBIoEeeFNrLZFDmeGg" target="_DPlccBIoEeeFNrLZFDmeGg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_L_1xIRIoEeeFNrLZFDmeGg"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_L_1xIhIoEeeFNrLZFDmeGg" points="[400, 200, -643984, -643984]$[301, 200, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MAHd8BIoEeeFNrLZFDmeGg" id="(0.2731707317073171,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MAIFABIoEeeFNrLZFDmeGg" id="(0.16363636363636364,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_X6UzxMrQEee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_DPlccBIoEeeFNrLZFDmeGg" target="_X6UzwMrQEee5xeGZ3-9rfg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_X6UzxcrQEee5xeGZ3-9rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6UzycrQEee5xeGZ3-9rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Enumeration" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X6UzxsrQEee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6Uzx8rQEee5xeGZ3-9rfg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6UzyMrQEee5xeGZ3-9rfg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_3Ej0kBIoEeeFNrLZFDmeGg" type="PapyrusUMLClassDiagram" name="Requirements VerdictKind Diagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_3fAU4BIoEeeFNrLZFDmeGg" type="Enumeration_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3fA78BIoEeeFNrLZFDmeGg" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_3fA78RIoEeeFNrLZFDmeGg" type="Enumeration_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3fA78hIoEeeFNrLZFDmeGg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_3fBjABIoEeeFNrLZFDmeGg" type="Enumeration_LiteralCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_51BKABIoEeeFNrLZFDmeGg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="SysML-Standard-Library.uml#_8IATJTthEeWLFIpRJHQiHw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_51BKARIoEeeFNrLZFDmeGg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_6HlgsBIoEeeFNrLZFDmeGg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="SysML-Standard-Library.uml#_8IATIzthEeWLFIpRJHQiHw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_6HlgsRIoEeeFNrLZFDmeGg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_6ZBO8BIoEeeFNrLZFDmeGg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="SysML-Standard-Library.uml#_8IATJDthEeWLFIpRJHQiHw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_6ZBO8RIoEeeFNrLZFDmeGg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_6qINEBIoEeeFNrLZFDmeGg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="SysML-Standard-Library.uml#_8IATIjthEeWLFIpRJHQiHw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_6qINERIoEeeFNrLZFDmeGg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3fBjARIoEeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_3fBjAhIoEeeFNrLZFDmeGg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_3fBjAxIoEeeFNrLZFDmeGg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fBjBBIoEeeFNrLZFDmeGg"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="SysML-Standard-Library.uml#_8IATIDthEeWLFIpRJHQiHw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fAU4RIoEeeFNrLZFDmeGg" x="80" y="40" width="142" height="139"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7PFUQBIoEeeFNrLZFDmeGg" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7PGiYBIoEeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#_8IATITthEeWLFIpRJHQiHw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7PFUQRIoEeeFNrLZFDmeGg" x="320" y="60" width="181" height="101"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_3Ej0kRIoEeeFNrLZFDmeGg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_3Ej0khIoEeeFNrLZFDmeGg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_9rrngMrNEee5xeGZ3-9rfg" diagramKindId="org.eclipse.papyrus.sysml16.diagram.blockdefinition">
+      <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#_7DGgkDthEeWLFIpRJHQiHw"/>
+    </styles>
+    <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#_7DGgkDthEeWLFIpRJHQiHw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_-9EB4BIoEeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_7PFUQBIoEeeFNrLZFDmeGg" target="_3fAU4BIoEeeFNrLZFDmeGg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_-9EB4RIoEeeFNrLZFDmeGg"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-9EB4hIoEeeFNrLZFDmeGg" points="[320, 100, -643984, -643984]$[221, 100, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-9RdQBIoEeeFNrLZFDmeGg" id="(0.0,0.39603960396039606)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-9RdQRIoEeeFNrLZFDmeGg" id="(1.0,0.5251798561151079)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.uml b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.uml
new file mode 100644
index 0000000..0349e69
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.uml
@@ -0,0 +1,194 @@
+<?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/sysml/1.6/SysML/Blocks" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:standard="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks">
+  <uml:Package xmi:id="SysML.package_packagedElement_Libraries" name="Libraries">
+    <packagedElement xmi:type="uml:Package" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues" name="ControlValues">
+      <packagedElement xmi:type="uml:Enumeration" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue" name="ControlValueKind">
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_disable" name="disable">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_disable._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_disable SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue">
+            <body>The disable literal means a termination of an executing behavior that can only be started again from the beginning (compare to suspend).</body>
+          </ownedComment>
+        </ownedLiteral>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_enable" name="enable">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_enable._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_enable SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues">
+            <body>The enable literal means to start a new execution of a behavior (compare to resume).</body>
+          </ownedComment>
+        </ownedLiteral>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes" name="PrimitiveBlocks:ValueTypes">
+      <packagedElement xmi:type="uml:DataType" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean" name="Boolean">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean">
+          <body>A Boolean value type consists of the predefined values true and false.</body>
+        </ownedComment>
+      </packagedElement>
+      <packagedElement xmi:type="uml:DataType" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex" name="Complex">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex">
+          <body>A Complex value type represents the mathematical concept of a complex number. A complex number consists of a real part defined by a real number, and an imaginary part defined by a real number multiplied by the square root of -1. Complex numbers are used to express solutions to various forms of mathematical equations.</body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" general="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.imaginaryPart" name="imaginaryPart" type="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.imaginaryPart._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.imaginaryPart">
+            <body>A real number used to express the imaginary part of a complex number.</body>
+          </ownedComment>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.realPart" name="realPart" type="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.realPart._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.realPart">
+            <body>A real number used to express the real part of a complex number.</body>
+          </ownedComment>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:DataType" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer" name="Integer">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integert._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer">
+          <body>An Integer value type represents the mathematical concept of an integer number. An Integer value type may be used to type values that hold negative or positive integer quantities, without committing to a specific representation such as a binary or decimal digits with fixed precision or scale.</body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" general="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:DataType" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" name="Number" isAbstract="true">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number">
+          <body>Number is an abstract value type from which other value types that express concepts of mathematical numbers are specialized.</body>
+        </ownedComment>
+      </packagedElement>
+      <packagedElement xmi:type="uml:DataType" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real" name="Real">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real">
+          <body>A Real value type represents the mathematical concept of a real number. A Real value type may be used to type values that hold continuous quantities, without committing a specific representation such as a floating point data type with restrictions on precision and scale.</body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" general="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:DataType" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String" name="String">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String">
+          <body>A String value type consists of a sequence of characters in some suitable character set. Character sets may include non-Roman alphabets and characters.</body>
+        </ownedComment>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind" name="UnitAndQuantityKind">
+      <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit" name="A_quantityKind_unit" memberEnd="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit_ownedEnd.unit SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.quantityKind">
+        <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit_ownedEnd.unit" name="unit" type="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit" association="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit_ownedEnd.unit_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit_ownedEnd.unit_upperValue" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind" name="QuantityKind">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind">
+          <body>A QuantityKind is a kind of quantity that may be stated by means of defined units.</body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.definitionURI" name="definitionURI">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.definitionURI_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.description" name="description">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.description_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.symbol" name="symbol">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.symbol_lowerValue"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit" name="Unit">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit">
+          <body>A Unit is a quantity in terms of which the magnitudes of other quantities that have the same quantity kind can be stated. A unit often relies on precise and reproducible ways to measure the unit.</body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.definitionURI" name="definitionURI">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.definitionURI_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.description" name="description">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.description_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.quantityKind" name="quantityKind" type="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind" association="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.quantityKind_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.quantityKind_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.symbol" name="symbol">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.symbol_lowerValue"/>
+        </ownedAttribute>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_7DGgkDthEeWLFIpRJHQiHw" name="Requirements">
+      <packagedElement xmi:type="uml:Enumeration" xmi:id="_8IATIDthEeWLFIpRJHQiHw" name="VerdictKind">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_8IATITthEeWLFIpRJHQiHw" annotatedElement="_8IATIDthEeWLFIpRJHQiHw">
+          <body>Type of a return parameter of a TestCase must be VerdictKind, consistent with the UML Testing Profile.</body>
+        </ownedComment>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_8IATIjthEeWLFIpRJHQiHw" name="error"/>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_8IATIzthEeWLFIpRJHQiHw" name="fail"/>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_8IATJDthEeWLFIpRJHQiHw" name="inconclusive"/>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_8IATJTthEeWLFIpRJHQiHw" name="pass"/>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_FzrM4MrPEee5xeGZ3-9rfg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzuQMMrPEee5xeGZ3-9rfg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekh0IE--EemOD7qwxw9iGA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekkQYE--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#/"/>
+    </eAnnotations>
+    <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML"/>
+  </profileApplication>
+  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_eklegE--EemOD7qwxw9iGA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekmFkE--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//activities"/>
+    </eAnnotations>
+    <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Activities"/>
+  </profileApplication>
+  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekmsoE--EemOD7qwxw9iGA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekmsoU--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//allocations"/>
+    </eAnnotations>
+    <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Allocations"/>
+  </profileApplication>
+  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekmsok--EemOD7qwxw9iGA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekmso0--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks"/>
+    </eAnnotations>
+    <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks"/>
+  </profileApplication>
+  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_eknTsE--EemOD7qwxw9iGA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eknTsU--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//constraintblocks"/>
+    </eAnnotations>
+    <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks"/>
+  </profileApplication>
+  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekn6wE--EemOD7qwxw9iGA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekn6wU--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//deprecatedelements"/>
+    </eAnnotations>
+    <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements"/>
+  </profileApplication>
+  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekn6wk--EemOD7qwxw9iGA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekn6w0--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//modelelements"/>
+    </eAnnotations>
+    <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ModelElements"/>
+  </profileApplication>
+  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekoh0E--EemOD7qwxw9iGA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekoh0U--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//portsandflows"/>
+    </eAnnotations>
+    <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows"/>
+  </profileApplication>
+  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekpI4E--EemOD7qwxw9iGA">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekpI4U--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//requirements"/>
+    </eAnnotations>
+    <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+  </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_B_vLwcrQEee5xeGZ3-9rfg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_B_vy0MrQEee5xeGZ3-9rfg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//requirements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+    </profileApplication>
+  </uml:Package>
+  <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean"/>
+  <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex"/>
+  <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer"/>
+  <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+  <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real"/>
+  <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String"/>
+  <standard:ModelLibrary xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.stereotypeApplication_ModelLibrary" base_Package="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind"/>
+  <Blocks:Block xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" base_Class="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind"/>
+  <Blocks:Block xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" base_Class="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+  <standard:ModelLibrary xmi:id="SysML.package_packagedElement_Libraries.stereotypeApplication_ModelLibrary" base_Package="SysML.package_packagedElement_Libraries"/>
+  <standard:ModelLibrary xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.stereotypeApplication_ModelLibrary" base_Package="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues"/>
+  <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue"/>
+  <standard:ModelLibrary xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.stereotypeApplication_ModelLibrary" base_Package="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes"/>
+</xmi:XMI>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.css b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.css
new file mode 100644
index 0000000..1cc2e24
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.css
@@ -0,0 +1,31 @@
+Association > Label:sourceMultiplicity {
+	visible:true;
+}
+
+Association > Label:targetMultiplicity {
+	visible:false;
+}
+
+Association > Label:sourceRole {
+	visible:true;
+}
+
+Association > Label:targetRole {
+	visible:false;
+}
+
+Association > Label:name {
+	visible:false;
+}
+
+Extension {
+	routing:Rectilinear;
+}
+
+Generalization {
+	routing:Rectilinear;
+}
+
+Association {
+	routing:Rectilinear;
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.di b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.di
new file mode 100644
index 0000000..247ed5e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.uml.architecture.Profile"/>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.ecore b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.ecore
new file mode 100644
index 0000000..b320b45
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.ecore
@@ -0,0 +1,731 @@
+<?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/sysml/1.6/SysML"
+    nsPrefix="SysML">
+  <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <details key="originalName" value="SysML"/>
+  </eAnnotations>
+  <eClassifiers xsi:type="ecore:EEnum" name="Dummy"/>
+  <eSubpackages name="activities" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities"
+      nsPrefix="Activities">
+    <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <details key="originalName" value="Activities"/>
+    </eAnnotations>
+    <eClassifiers xsi:type="ecore:EClass" name="Continuous" eSuperTypes="#//activities/Rate">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            Continuous rate is a special case of rate of flow (see Rate) where the increment of time between items approaches zero. It is intended to represent continuous flows that may correspond to water flowing through a pipe, a time continuous signal, or continuous energy flow. It is independent from UML streaming. A streaming parameter may or may not apply to continuous flow, and a continuous flow may or may not apply to streaming parameters.&#xA;          "/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Rate">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            When the «rate» stereotype is applied to an activity edge, it specifies the expected value of the number of objects and values that traverse the edge per time interval, that is, the expected value rate at which they leave the source node and arrive at the target node. It does not refer to the rate at which a value changes over time. When the stereotype is applied to a parameter, the parameter must be streaming, and the stereotype gives the number of objects or values that flow in or out of the parameter per time interval while the behavior or operation is executing. Streaming is a characteristic of UML behavior parameters that supports the input and output of items while a behavior is executing, rather than only when the behavior starts and stops. The flow may be continuous or discrete. The «rate» stereotype has a rate property of type InstanceSpecification. The values of this property must be instances of classifiers stereotyped by «valueType» or «distributionDefinition». In particular, the denominator for units used in the rate property must be time units.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityEdge" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ActivityEdge"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ObjectNode" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ObjectNode"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Parameter" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="rate" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ControlOperator">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            A control operator is a behavior that is intended to represent an arbitrarily complex logical operator that can be used to enable and disable other actions. When this stereotype is applied to behaviors, the behavior takes control values as inputs or provides them as outputs, that is, it treats control as data. When this stereotype is not applied, the behavior may not have a parameter typed by ControlValue. This stereotype also applies to operations with the same semantics.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Behavior" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Operation" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Discrete" eSuperTypes="#//activities/Rate">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Discrete rate is a special case of rate of flow (see Rate) where the increment of time between items is non-zero."/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="NoBuffer">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            When this stereotype is applied to object nodes, tokens arriving at the node are discarded if they are refused by outgoing edges, or refused by actions for object nodes that are input pins. This is typically used with fast or continuously flowing data values, to prevent buffer overrun, or to model transient values, such as electrical signals. For object nodes that are the target of continuous flows, «nobuffer» and «overwrite» have the same effect. The stereotype does not override UML token offering semantics; it just indicates what happens to the token when it is accepted. When the stereotype is not applied, the semantics are as in UML, specifically, tokens arriving at an object node that are refused by outgoing edges, or action for input pins, are held until they can leave the object node.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ObjectNode" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ObjectNode"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Optional">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            When the «optional» stereotype is applied to parameters, the lower multiplicity must be equal to zero. This means the parameter is not required to have a value for the activity or any behavior to begin or end execution. Otherwise, the lower multiplicity must be greater than zero, which is called “required.”&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Parameter" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Overwrite">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            When the «overwrite» stereotype is applied to object nodes, a token arriving at a full object node replaces the ones already there (a full object node has as many tokens as allowed by its upper bound). This is typically used on an input pin with an upper bound of 1 to ensure that stale data is overridden at an input pin. For upper bounds greater than one, the token replaced is the one that would be the last to be selected according to the ordering kind for the node. For FIFO ordering, this is the most recently added token, for LIFO it is the least recently added token. A null token removes all the tokens already there. The number of tokens replaced is equal to the weight of the incoming edge, which defaults to 1. For object nodes that are the target of continuous flows, «overwrite» and «nobuffer» have the same effect. The stereotype does not override UML token offering semantics, just indicates what happens to the token when it is accepted. When the stereotype is not applied, the semantics is as in UML, specifically, tokens arriving at object nodes do not replace ones that are already there.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ObjectNode" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ObjectNode"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Probability">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            When the «probability» stereotype is applied to edges coming out of decision nodes and object nodes, it provides an expression for the probability that the edge will be traversed. These must be between zero and one inclusive, and add up to one for edges with same source at the time the probabilities are used.&#xA;When the «probability» stereotype is applied to output parameter sets, it gives the probability the parameter set will be given values at runtime. These must be between zero and one inclusive, and add up to one for output parameter sets of the same behavior at the time the probabilities are used.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityEdge" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ActivityEdge"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ParameterSet" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ParameterSet"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="probability" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="allocations" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations"
+      nsPrefix="Allocations">
+    <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <details key="originalName" value="Allocations"/>
+    </eAnnotations>
+    <eClassifiers xsi:type="ecore:EClass" name="Allocate" eSuperTypes="#//blocks/DirectedRelationshipPropertyPath">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            Allocate is a dependency based on UML::abstraction. It is a mechanism for associating elements of different types, or in different hierarchies, at an abstract level. Allocate is used for assessing user model consistency and directing future design activity. It is expected that an «allocate» relationship between model elements is a precursor to a more concrete relationship between the elements, their properties, operations, attributes, or sub-classes.&#xA;          "/>
+      </eAnnotations>
+      <eOperations name="getAllocatedFrom" ordered="false" lowerBound="1">
+        <eParameters name="ref" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+        <eParameters name="result" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      </eOperations>
+      <eOperations name="getAllocatedTo" ordered="false" lowerBound="1">
+        <eParameters name="ref" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+        <eParameters name="result" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      </eOperations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Abstraction" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Abstraction"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="AllocateActivityPartition">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="AllocateActivityPartition is used to depict an «allocate» relationship on an Activity diagram. The AllocateActivityPartition is a standard UML2::ActivityPartition, with modified constraints as stated in the paragraph below."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityPartition"
+          ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ActivityPartition"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="blocks" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks"
+      nsPrefix="Blocks">
+    <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <details key="originalName" value="Blocks"/>
+    </eAnnotations>
+    <eClassifiers xsi:type="ecore:EClass" name="AdjunctProperty">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            The AdjunctProperty stereotype can be applied to properties to constrain their values to the values of connectors typed by association blocks, call actions, object nodes, variables, or parameters, interaction uses, and submachine states.  The values of connectors typed by association blocks are the instances of the association block typing a connector in the block having the stereotyped property.  The values of call actions are the executions of behaviors invoked by the behavior having the call action and the stereotyped property (see Subclause 11.3.1.1.1 for more about this use of the stereotype).  The values of object nodes are the values of tokens in the object nodes of the behavior having the stereotyped property (see Subclause 11.3.1.4.1 for more about this use of the stereotype).  The values of variables are those assigned by executions of activities that have the stereotyped property.  The values of parameters are those assigned by executions of behaviors that have the stereotyped property.  The keyword «adjunct» before a property name indicates the property is stereotyped by AdjunctProperty.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="principal" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Gives the element that determines the values of the property. Must be a connector, call action, object node, variable, or parameter."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="BindingConnector">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            A Binding Connector is a connector which specifies that the properties at both ends of the connector have equal values. If the properties at the ends of a binding connector are typed by a DataType or ValueType, the connector specifies that the instances of the properties must hold equal values, recursively through any nested properties within the connected properties. If the properties at the ends of a binding connector are typed by a Block, the connector specifies that the instances of the properties must refer to the same block instance. As with any connector owned by a SysML Block, the ends of a binding connector may be nested within a multi-level path of properties accessible from the owning block. The NestedConnectorEnd stereotype is used to represent such nested ends just as for nested ends of other SysML connectors.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Connector" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Connector"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Block">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            A Block is a modular unit that describes the structure of a system or element. It may include both structural and behavioral features, such as properties and operations, that represent the state of the system and behavior that the system may exhibit. Some of these properties may hold parts of a system, which can also be described by blocks. A block may include a structure of connectors between its properties to indicate how its parts or other properties relate to one another. SysML blocks provide a general-purpose capability to describe the architecture of a system. They provide the ability to represent a system hierarchy, in which a system at one level is composed of systems at a more basic level. They can describe not only the connectivity relationships between the systems at any level, but also quantitative values or other information about a system. SysML does not restrict the kind of system or system element that may be described by a block. Any reusable form of description that may be applied to a system or a set of system characteristics may be described by a block. Such reusable descriptions, for example, may be applied to purely conceptual aspects of a system design, such as relationships that hold between parts or properties of a system. Connectors owned by SysML blocks may be used to define relationships between parts or other properties of the same containing block. The type of a connector or its connected ends may specify the semantic interpretation of a specific connector.&#xA;          "/>
+      </eAnnotations>
+      <eOperations name="getReferences" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eOperations name="getParts" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eOperations name="getFlowProperties" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="isEncapsulated" ordered="false"
+          eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="&#xA;              If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of its internal structure via deep-nested connector ends.&#xA;            "/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="BoundReference" eSuperTypes="#//blocks/EndPathMultiplicity">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="bindingPath" unique="false"
+          lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"
+          changeable="false" volatile="true" transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Gives the propertyPath of the NestedConnectorEnd applied, if any, to the boundEnd, appended to the role of the boundEnd. "/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="boundEnd" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ConnectorEnd">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Gives a connector end of a binding connector opposite to the end linked to the stereotyped property, or linked to a property that generalizes the stereotyped one through redefinition."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="EndPathMultiplicity">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" ordered="false"
+          eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Integer"
+          defaultValueLiteral="0">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Gives the minimum number of values of the property at the end of the related bindingPath, for each object reached by navigation along the bindingPath from an instance of the block owning the property to which EndPathMultiplicity is applied"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" ordered="false"
+          eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural"
+          defaultValueLiteral="-1">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Gives the maximum number of values of the property at the end of the related bindingPath, for each object reached by navigation along the bindingPath from an instance of the block owning the property to which EndPathMultiplicity is applied."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ClassifierBehaviorProperty">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            The ClassifierBehaviorProperty stereotype can be applied to properties to constrain their values to be the executions of classifier behaviors.  The value of properties with ClassifierBehaviorProperty  applied are the executions of classifier behaviors invoked by instantiation of the block that owns the stereotyped property or one of its specializations.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ConnectorProperty">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            Connectors can be typed by association classes that are stereotyped by Block (association blocks). These connectors specify instances (links) of the association block that exist due to instantiation of the block owning or inheriting the connector. The value of a connector property on an instance of a block will be exactly those link objects that are instances of the association block typing the connector referred to by the connector property.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="connector" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Connector">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="A connector of the block owning the property on which the stereotype is applied."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="DistributedProperty">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            DistributedProperty is a stereotype of Property used to apply a probability distribution to the values of the property. Specific distributions should be defined as subclasses of the DistributedProperty stereotype with the operands of the distributions represented by properties of those stereotype subclasses.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ElementPropertyPath" abstract="true">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Element" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+      <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">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="&#xA;              The propertyPath list of the NestedConnectorEnd stereotype must identify a path of containing properties that identify the connected property in the context of the block that owns the connector. The ordering of properties is from a property of the block that owns the connector, through a property of each intermediate block that types the preceding property, until a property is reached that contains a connector end property within its type. The connector end property is not included in the propertyPath list, but instead is held by the role property of the UML ConnectorEnd metaclass.&#xA;            "/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="NestedConnectorEnd" eSuperTypes="#//blocks/ElementPropertyPath">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The NestedConnectorEnd stereotype of UML ConnectorEnd extends a UML ConnectorEnd so that the connected property may be identified by a multi-level path of accessible properties from the block that owns the connector."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ConnectorEnd" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ConnectorEnd"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ParticipantProperty">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            The Block stereotype extends Class, so it can be applied to any specialization of Class, including Association Classes. These are informally called “association blocks.” An association block can own properties and connectors, like any other block. Each instance of an association block can link together instances of the end classifiers of the association. To refer to linked objects and values of an instance of an association block, it is necessary for the modeler to specify which (participant) properties of the association block identify the instances being linked at which end of the association. The value of a participant property on an instance (link) of the association block is the value or object at the end of the link corresponding to this end of the association.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="end" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="A member end of the association block owning the property on which the stereotype is applied."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="PropertySpecificType">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The PropertySpecificType stereotype should automatically be applied to the classifier which types a property with a propertyspecific type. This classifier can contain definitions of new or redefined features which extend the original classifier referenced by the property-specific type."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Classifier" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ValueType">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            A ValueType defines types of values that may be used to express information about a system, but cannot be identified as the target of any reference. Since a value cannot be identified except by means of the value itself, each such value within a model is independent of any other, unless other forms of constraints are imposed. Value types may be used to type properties, operation parameters, or potentially other elements within SysML. SysML defines ValueType as a stereotype of UML DataType to establish a more neutral term for system values that may never be given a concrete data representation.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataType" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="quantityKind" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="&#xA;              A kind of quantity that may be stated by means of defined units, as identified by an instance of the Dimension stereotype. A value type may optionally specify a dimension without any unit. Such a value has no concrete representation, but may be used to express a value in an abstract form independent of any specific units.&#xA;            "/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="unit" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="A quantity in terms of which the magnitudes of other quantities that have the same dimension can be stated, as identified by an instance of the Unit stereotype."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="DirectedRelationshipPropertyPath"
+        abstract="true">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_DirectedRelationship"
+          ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DirectedRelationship"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="sourceContext" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="sourcePropertyPath" unique="false"
+          upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="targetContext" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="targetPropertyPath" unique="false"
+          upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="constraintblocks" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks"
+      nsPrefix="ConstraintBlocks">
+    <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <details key="originalName" value="ConstraintBlocks"/>
+    </eAnnotations>
+    <eClassifiers xsi:type="ecore:EClass" name="ConstraintBlock" eSuperTypes="#//blocks/Block">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            A constraint block is a block that packages the statement of a constraint so it may be applied in a reusable way to constrain properties of other blocks. A constraint block typically defines one or more constraint parameters, which are bound to properties of other blocks in a surrounding context where the constraint is used. Binding connectors, as defined in Chapter 8: Blocks, are used to bind each parameter of the constraint block to a property in the surrounding context. All properties of a constraint block are constraint parameters, with the exception of constraint properties that hold internally nested usages of other constraint blocks.&#xA;          "/>
+      </eAnnotations>
+      <eOperations name="getParameters" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="deprecatedelements" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements"
+      nsPrefix="DeprecatedElements">
+    <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <details key="originalName" value="DeprecatedElements"/>
+    </eAnnotations>
+    <eClassifiers xsi:type="ecore:EClass" name="FlowPort">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            A FlowPort is an interaction point through which input and/or output of items such as data, material, or energy may flow. This enables the owning block to declare which items it may exchange with its environment and the interaction points through which the exchange is made. We distinguish between atomic flow port and a nonatomic flow port. Atomic flow ports relay items that are classified by a single Block, ValueType, DataType, or Signal classifier. A nonatomic flow port relays items of several types as specified by a FlowSpecification. Flow ports and associated flow specifications define “what can flow” between the block and its environment, whereas item flows specify “what does flow” in a specific usage context. Flow ports relay items to their owning block or to a connector that connects them with their owner’s internal parts (internal connector).&#xA;          "/>
+      </eAnnotations>
+      <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"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"
+          lowerBound="1" eType="#//portsandflows/FlowDirectionKind" defaultValueLiteral="inout">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="&#xA;              Indicates the direction in which an atomic flow port relays its items. If the direction is set to “in,” then the items are relayed from an external connector via the flow port into the flow port’s owner (or one of its parts). If the direction is set to “out,” then the items are relayed from the flow port’s owner, via the flow port, through an external connector attached to the flow port. If the direction is set to “inout,” then items can flow both ways. By default, the value is inout.&#xA;            "/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAtomic" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"
+          changeable="false" volatile="true" transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This is a derived attribute (derived from the flow port’s type). For a flow port typed by a flow specification the value of this attribute is False, otherwise the value is True."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="FlowSpecification">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A FlowSpecification specifies inputs and outputs as a set of flow properties. A flow specification is used by flow ports to specify what items can flow via the port."/>
+      </eAnnotations>
+      <eOperations name="getFlowProperties" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Interface" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="portsandflows" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows"
+      nsPrefix="PortsAndFlows">
+    <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <details key="originalName" value="PortsAndFlows"/>
+    </eAnnotations>
+    <eClassifiers xsi:type="ecore:EEnum" name="FeatureDirectionKind">
+      <eLiterals name="provided"/>
+      <eLiterals name="providedRequired" value="1"/>
+      <eLiterals name="required" value="2"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="AcceptChangeStructuralFeatureEventAction">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_AcceptEventAction"
+          ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//AcceptEventAction"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ChangeStructuralFeatureEvent">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ChangeEvent" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ChangeEvent"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="structuralFeature" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//StructuralFeature"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="DirectedFeature">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Feature" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Feature"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="featureDirection" ordered="false"
+          lowerBound="1" eType="#//portsandflows/FeatureDirectionKind"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="FlowProperty">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            A FlowProperty signifies a single flow element that can flow to/from a block. A flow property’s values are either received from or transmitted to an external block. Flow properties are defined directly on blocks or flow specifications that are those specifications which type the flow ports. Flow properties enable item flows across connectors connecting parts of the corresponding block types, either directly (in case of the property is defined on the block) or via flowPorts. For Block, Data Type, and Value Type properties, setting an “out” FlowProperty value of a block usage on one end of a connector will result in assigning the same value of an “in” FlowProperty of a block usage at the other end of the connector, provided the flow properties are matched. Flow properties of type Signal imply sending and/or receiving of a signal usage. An “out” FlowProperty of type Signal means that the owning Block may broadcast the signal via connectors and an “in” FlowProperty means that the owning block is able to receive the Signal.&#xA;          "/>
+      </eAnnotations>
+      <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"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"
+          lowerBound="1" eType="#//portsandflows/FlowDirectionKind" defaultValueLiteral="inout">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Specifies if the property value is received from an external block (direction=“in”), transmitted to an external Block (direction=“out”) or both (direction=“inout”)."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="FullPort">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="InterfaceBlock" eSuperTypes="#//blocks/Block">
+      <eOperations name="getConjugated" ordered="false" upperBound="-1" eType="#//portsandflows/InterfaceBlock"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="InvocationOnNestedPortAction" eSuperTypes="#//blocks/ElementPropertyPath">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_InvocationAction"
+          ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InvocationAction"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="onNestedPort" unique="false"
+          lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ItemFlow">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An ItemFlow describes the flow of items across a connector or an association. It may constrain the item exchange between blocks, block usages, or flow ports as specified by their flow properties. For example, a pump connected to a tank: the pump has an “out” flow property of type Liquid and the tank has an “in” FlowProperty of type Liquid. To signify that only water flows between the pump and the tank, we can specify an ItemFlow of type Water on the connector.&#xD;&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_InformationFlow"
+          ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InformationFlow"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="itemProperty" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="An optional property that relates the flowing item to the instances of the connector’s enclosing block. This property is applicable only for item flows assigned to connectors. The multiplicity is zero if the item flow is assigned to an Association."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ProxyPort">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="TriggerOnNestedPort" eSuperTypes="#//blocks/ElementPropertyPath">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Trigger" ordered="false"
+          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Trigger"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="onNestedPort" unique="false"
+          lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ConjugatedInterfaceBlock" eSuperTypes="#//portsandflows/InterfaceBlock">
+      <eOperations name="areConjugated" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+        <eParameters name="df1" ordered="false" lowerBound="1" eType="#//portsandflows/DirectedFeature"/>
+        <eParameters name="df2" ordered="false" lowerBound="1" eType="#//portsandflows/DirectedFeature"/>
+      </eOperations>
+      <eOperations name="areConjugated" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+        <eParameters name="fp1" ordered="false" lowerBound="1" eType="#//portsandflows/FlowProperty"/>
+        <eParameters name="fp2" ordered="false" lowerBound="1" eType="#//portsandflows/FlowProperty"/>
+      </eOperations>
+      <eOperations name="areConjugated" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+        <eParameters name="r1" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Reception"/>
+        <eParameters name="r2" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Reception"/>
+      </eOperations>
+      <eOperations name="areConjugated" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+        <eParameters name="o1" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+        <eParameters name="o2" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+      </eOperations>
+      <eOperations name="areConjugated" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+        <eParameters name="p1" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+        <eParameters name="p2" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      </eOperations>
+      <eOperations name="areSameConstraintSets" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+        <eParameters name="cs1" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Constraint"/>
+        <eParameters name="cs2" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Constraint"/>
+      </eOperations>
+      <eOperations name="areSameParameterSets" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+        <eParameters name="ps1" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ParameterSet"/>
+        <eParameters name="ps2" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ParameterSet"/>
+      </eOperations>
+      <eOperations name="haveSameSignatures" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+        <eParameters name="bf1" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+        <eParameters name="bf2" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+      </eOperations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="original" ordered="false"
+          lowerBound="1" eType="#//portsandflows/InterfaceBlock"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="AddFlowPropertyValueOnNestedPortAction"
+        eSuperTypes="#//blocks/ElementPropertyPath">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="onNestedPort" unique="false"
+          lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_AddStructuralFeatureValueAction"
+          ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//AddStructuralFeatureValueAction"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="FlowDirectionKind">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="FlowDirectionKind is an enumeration type that defines literals used for specifying the direction that items can flow to or from a block. FlowDirectionKind is used by flow properties to indicate the direction that its items can flow to or from its owner."/>
+      </eAnnotations>
+      <eLiterals name="in">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Indicates that the flow property is input to the owning block."/>
+        </eAnnotations>
+      </eLiterals>
+      <eLiterals name="inout" value="1">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Indicates that the flow property is both an input and an output of the owning block."/>
+        </eAnnotations>
+      </eLiterals>
+      <eLiterals name="out" value="2">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Indicates that the flow property is an output of the owning block."/>
+        </eAnnotations>
+      </eLiterals>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="modelelements" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements"
+      nsPrefix="ModelElements">
+    <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <details key="originalName" value="ModelElements"/>
+    </eAnnotations>
+    <eClassifiers xsi:type="ecore:EClass" name="Conform">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            A Conform relationship is a dependency between a view and a viewpoint. The view conforms to the specified rules and conventions detailed in the viewpoint. Conform is a specialization of the UML dependency, and as with other dependencies the arrow direction points from the (client/source) to the (supplier/target).&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Generalization"
+          ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Generalization"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ElementGroup">
+      <eOperations name="allGroups" ordered="false" lowerBound="1">
+        <eParameters name="e" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+        <eParameters name="result" ordered="false" upperBound="-1" eType="#//modelelements/ElementGroup"/>
+      </eOperations>
+      <eOperations name="criterion" ordered="false" lowerBound="1">
+        <eParameters name="result" ordered="false" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      </eOperations>
+      <eOperations name="member" ordered="false" lowerBound="1">
+        <eParameters name="result" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+      </eOperations>
+      <eOperations name="size" ordered="false" lowerBound="1">
+        <eParameters name="result" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      </eOperations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="criterion" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"
+          changeable="false" volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="member" ordered="false"
+          upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element"
+          changeable="false" volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="orderedMember" upperBound="-1"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Integer"
+          changeable="false" volatile="true" transient="true" derived="true"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Expose">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Problem">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            A Problem documents a deficiency, limitation, or failure of one or more model elements to satisfy a requirement or need, or other undesired outcome. It may be used to capture problems identified during analysis, design, verification, or manufacture and associate the problem with the relevant model elements. Problem is a stereotype of comment and may be attached to any other model element in the same manner as a comment.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Rationale">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            A Rationale documents the justification for decisions and the requirements, design, and other decisions. A Rationale can be attached to any model element including relationships. It allows the user, for example, to specify a rationale that may reference more detailed documentation such as a trade study or analysis report. Rationale is a stereotype of comment and may be attached to any other model element in the same manner as a comment.&#xA;          "/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Stakeholder">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Classifier" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="concernList" ordered="false"
+          upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="concern" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"
+          changeable="false" volatile="true" transient="true" derived="true"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="View">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A View is a representation of a whole system or subsystem from the perspective of a single viewpoint. Views are allowed to import other elements including other packages and other views that conform to the viewpoint."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="stakeholder" ordered="false"
+          upperBound="-1" eType="#//modelelements/Stakeholder" changeable="false"
+          volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="viewPoint" ordered="false"
+          lowerBound="1" eType="#//modelelements/Viewpoint" changeable="false" volatile="true"
+          transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The viewpoint for this View, derived from the supplier of the «conform» dependency whose client is this View."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Viewpoint">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A Viewpoint is a specification of the conventions and rules for constructing and using a view for the purpose of addressing a set of stakeholder concerns. The languages and methods for specifying a view may reference languages and methods in another viewpoint. They specify the elements expected to be represented in the view, and may be formally or informally defined. For example, the security viewpoint may require the security requirements, security functional and physical architecture, and security test cases."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="concern" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"
+          changeable="false" volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="concernList" ordered="false"
+          upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The interest of the stakeholders."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The languages used to construct the viewpoint."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="method" ordered="false"
+          upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"
+          changeable="false" volatile="true" transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The methods used to construct the views for this viewpoint."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="presentation" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="purpose" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The purpose addresses the stakeholder concerns."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="stakeholder" ordered="false"
+          upperBound="-1" eType="#//modelelements/Stakeholder">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Set of stakeholders."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="requirements" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements"
+      nsPrefix="Requirements">
+    <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <details key="originalName" value="Requirements"/>
+    </eAnnotations>
+    <eClassifiers xsi:type="ecore:EClass" name="Copy" eSuperTypes="#//requirements/Trace">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A Copy relationship is a dependency between a supplier requirement and a client requirement that specifies that the text of the client requirement is a read-only copy of the text of the supplier requirement."/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Trace" eSuperTypes="#//blocks/DirectedRelationshipPropertyPath ../../../org.eclipse.uml2.uml.profile.standard/model/Standard.ecore#//Trace">
+      <eOperations name="getTracedFrom" ordered="false" lowerBound="1">
+        <eParameters name="ref" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+        <eParameters name="result" ordered="false" upperBound="-1" eType="#//requirements/Requirement"/>
+      </eOperations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Requirement" eSuperTypes="#//requirements/AbstractRequirement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A requirement specifies a capability or condition that must (or should) be satisfied. A requirement may specify a function that a system must perform or a performance condition that a system must satisfy. Requirements are used to establish a contract between the customer (or other stakeholder) and those responsible for designing and implementing the system.&#xD;&#xA;          &#xD;&#xA;An AbstractRequirement establishes the attributes and relationships essential to any potential kind of requirement. Any intended requirement kind should subclass AbstractRequirement. The only normative stereotype based on AbstractRequirement is the Requirement stereotype, described in 16.3.2.5. Examples of additional non-normative stereotypes based on AbstractRequirement are included in Annex E.8."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="AbstractRequirement" abstract="true">
+      <eOperations name="getSatisfiedBy" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      <eOperations name="getVerifiedBy" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      <eOperations name="getTracedTo" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      <eOperations name="getDerived" ordered="false" upperBound="-1" eType="#//requirements/AbstractRequirement"/>
+      <eOperations name="getDerivedFrom" ordered="false" upperBound="-1" eType="#//requirements/AbstractRequirement"/>
+      <eOperations name="getRefinedBy" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      <eOperations name="getMaster" ordered="false" upperBound="-1" eType="#//requirements/AbstractRequirement"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="derived" ordered="false"
+          upperBound="-1" eType="#//requirements/AbstractRequirement" changeable="false"
+          volatile="true" transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Derived from all requirements that are the client of a «deriveReqt» relationship for which this requirement is a supplier."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="derivedFrom" ordered="false"
+          upperBound="-1" eType="#//requirements/AbstractRequirement" changeable="false"
+          volatile="true" transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Derived from all requirements that are the supplier of a «deriveReqt» relationship for which this requirement is a client."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1"
+          eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"
+          defaultValueLiteral="">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The unique id of the requirement."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="master" ordered="false"
+          upperBound="-1" eType="#//requirements/AbstractRequirement" changeable="false"
+          volatile="true" transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This is a derived property that lists the master requirement for this slave requirement. The master attribute is derived from the supplier of the Copy dependency that has this requirement as the slave."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="refinedBy" ordered="false"
+          upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+          changeable="false" volatile="true" transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Derived from all elements that are the client of a «refine» relationship for which this requirement is a supplier."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="satisfiedBy" ordered="false"
+          upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+          changeable="false" volatile="true" transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Derived from all elements that are the client of a «satisfy» relationship for which this requirement is a supplier."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="text" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"
+          defaultValueLiteral="">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The textual representation or a reference to the textual representation of the requirement."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="tracedTo" ordered="false"
+          upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+          changeable="false" volatile="true" transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Derived from all elements that are the client of a «trace» relationship for which this requirement is a supplier."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="verifiedBy" ordered="false"
+          upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+          changeable="false" volatile="true" transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Derived from all elements that are the client of a «verify» relationship for which this requirement is a supplier."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="DeriveReqt" eSuperTypes="#//requirements/Trace">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;            A DeriveReqt relationship is a dependency between two requirements in which a client requirement can be derived from the supplier requirement. As with other dependencies, the arrow direction points from the derived (client) requirement to the (supplier) requirement from which it is derived.&#xA;          "/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Refine" eSuperTypes="#//blocks/DirectedRelationshipPropertyPath ../../../org.eclipse.uml2.uml.profile.standard/model/Standard.ecore#//Refine">
+      <eOperations name="getRefines" ordered="false" lowerBound="1">
+        <eParameters name="ref" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+        <eParameters name="result" ordered="false" upperBound="-1" eType="#//requirements/Requirement"/>
+      </eOperations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Satisfy" eSuperTypes="#//requirements/Trace">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A Satisfy relationship is a dependency between a requirement and a model element that fulfills the requirement. As with other dependencies, the arrow direction points from the satisfying (client) model element to the (supplier) requirement that is satisfied."/>
+      </eAnnotations>
+      <eOperations name="getSatisfies" ordered="false" lowerBound="1">
+        <eParameters name="ref" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+        <eParameters name="result" ordered="false" upperBound="-1" eType="#//requirements/Requirement"/>
+      </eOperations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="TestCase">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A test case is a method for verifying a requirement is satisfied."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Behavior" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Operation" ordered="false"
+          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Verify" eSuperTypes="#//requirements/Trace">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A Verify relationship is a dependency between a requirement and a test case or other model element that can determine whether a system fulfills the requirement. As with other dependencies, the arrow direction points from the (client) element to the (supplier) requirement."/>
+      </eAnnotations>
+      <eOperations name="getVerifies" ordered="false" lowerBound="1">
+        <eParameters name="ref" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+        <eParameters name="result" ordered="false" upperBound="-1" eType="#//requirements/Requirement"/>
+      </eOperations>
+    </eClassifiers>
+  </eSubpackages>
+</ecore:EPackage>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.genmodel b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.genmodel
new file mode 100644
index 0000000..47e186f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.genmodel
@@ -0,0 +1,460 @@
+<?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"
+    copyrightText="Copyright (c) 2019 CEA LIST.&#xA;&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License 2.0&#xA;which accompanies this distribution, and is available at&#xA;https://www.eclipse.org/legal/epl-2.0/&#xA;&#xA;SPDX-License-Identifier: EPL-2.0&#xA;&#xA;Contributors:&#xA;  Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation"
+    modelDirectory="/org.eclipse.papyrus.sysml16/src-gen" editDirectory="/org.eclipse.papyrus.sysml16.edit/src-gen"
+    editorDirectory="/org.eclipse.papyrus.sysml16.editor/src-gen" modelPluginID="org.eclipse.papyrus.sysml16"
+    modelName="SysML" editPluginClass="org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin"
+    editorPluginClass="org.eclipse.papyrus.sysml16.presentation.SysMLEditorPlugin"
+    nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+    testsDirectory="/org.eclipse.papyrus.sysml16.tests/src-gen" testSuiteClass="org.eclipse.papyrus.sysml16.tests.SysMLAllTests"
+    importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="7.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"
+    classNamePattern="" operationReflection="true" importOrganizing="true">
+  <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
+    <details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
+    <details key="DUPLICATE_FEATURES" value="DISCARD"/>
+    <details key="ANNOTATION_DETAILS" value="PROCESS"/>
+    <details key="PROPERTY_DEFAULT_EXPRESSIONS" value="IGNORE"/>
+    <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
+    <details key="COMMENTS" value="PROCESS"/>
+    <details key="DERIVED_FEATURES" value="PROCESS"/>
+    <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+    <details key="DUPLICATE_OPERATION_INHERITANCE" value="DISCARD"/>
+    <details key="REDEFINING_OPERATIONS" value="REPORT"/>
+    <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
+    <details key="UNION_PROPERTIES" value="REPORT"/>
+    <details key="DUPLICATE_OPERATIONS" value="DISCARD"/>
+    <details key="NON_API_INVARIANTS" value="IGNORE"/>
+    <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
+    <details key="SUBSETTING_PROPERTIES" value="REPORT"/>
+    <details key="OPERATION_BODIES" value="IGNORE"/>
+    <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
+    <details key="UNTYPED_PROPERTIES" value="REPORT"/>
+    <details key="REDEFINING_PROPERTIES" value="REPORT"/>
+    <details key="INVOCATION_DELEGATES" value="IGNORE"/>
+    <details key="VALIDATION_DELEGATES" value="IGNORE"/>
+  </genAnnotations>
+  <foreignModel>SysML.profile.uml</foreignModel>
+  <genPackages xsi:type="genmodel:GenPackage" prefix="SysML" basePackage="org.eclipse.papyrus.sysml16"
+      disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#/">
+    <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="SysML.profile.ecore#//Dummy"/>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Activities" basePackage="org.eclipse.papyrus.sysml16"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//activities">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/Continuous"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/Rate">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Rate/base_ActivityEdge"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Rate/base_ObjectNode"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Rate/base_Parameter"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Rate/rate"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/ControlOperator">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/ControlOperator/base_Behavior"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/ControlOperator/base_Operation"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/Discrete"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/NoBuffer">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/NoBuffer/base_ObjectNode"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/Optional">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Optional/base_Parameter"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/Overwrite">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Overwrite/base_ObjectNode"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/Probability">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Probability/base_ActivityEdge"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Probability/base_ParameterSet"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Probability/probability"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Allocations" basePackage="org.eclipse.papyrus.sysml16"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//allocations">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//allocations/Allocate">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//allocations/Allocate/base_Abstraction"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//allocations/Allocate/getAllocatedFrom">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//allocations/Allocate/getAllocatedFrom/ref"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//allocations/Allocate/getAllocatedFrom/result"/>
+        </genOperations>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//allocations/Allocate/getAllocatedTo">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//allocations/Allocate/getAllocatedTo/ref"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//allocations/Allocate/getAllocatedTo/result"/>
+        </genOperations>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//allocations/AllocateActivityPartition">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//allocations/AllocateActivityPartition/base_ActivityPartition"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Blocks" basePackage="org.eclipse.papyrus.sysml16"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//blocks">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/AdjunctProperty">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/AdjunctProperty/base_Property"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/AdjunctProperty/principal"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/BindingConnector">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/BindingConnector/base_Connector"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/Block">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/Block/base_Class"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//blocks/Block/isEncapsulated"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//blocks/Block/getReferences"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//blocks/Block/getParts"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//blocks/Block/getFlowProperties"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/BoundReference">
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/BoundReference/bindingPath"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/BoundReference/boundEnd"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/EndPathMultiplicity">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/EndPathMultiplicity/base_Property"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//blocks/EndPathMultiplicity/lower"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//blocks/EndPathMultiplicity/upper"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/ClassifierBehaviorProperty">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ClassifierBehaviorProperty/base_Property"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/ConnectorProperty">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ConnectorProperty/base_Property"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ConnectorProperty/connector"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/DistributedProperty">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/DistributedProperty/base_Property"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="SysML.profile.ecore#//blocks/ElementPropertyPath">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ElementPropertyPath/base_Element"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ElementPropertyPath/propertyPath"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/NestedConnectorEnd">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/NestedConnectorEnd/base_ConnectorEnd"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/ParticipantProperty">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ParticipantProperty/base_Property"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ParticipantProperty/end"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/PropertySpecificType">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/PropertySpecificType/base_Classifier"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/ValueType">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ValueType/base_DataType"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ValueType/quantityKind"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ValueType/unit"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="SysML.profile.ecore#//blocks/DirectedRelationshipPropertyPath">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/DirectedRelationshipPropertyPath/base_DirectedRelationship"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/DirectedRelationshipPropertyPath/sourceContext"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/DirectedRelationshipPropertyPath/sourcePropertyPath"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/DirectedRelationshipPropertyPath/targetContext"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/DirectedRelationshipPropertyPath/targetPropertyPath"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="ConstraintBlocks" basePackage="org.eclipse.papyrus.sysml16"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//constraintblocks">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//constraintblocks/ConstraintBlock">
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//constraintblocks/ConstraintBlock/getParameters"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="DeprecatedElements"
+        basePackage="org.eclipse.papyrus.sysml16" disposableProviderFactory="true"
+        classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//deprecatedelements">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//deprecatedelements/FlowPort">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//deprecatedelements/FlowPort/base_Port"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//deprecatedelements/FlowPort/direction"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+            ecoreFeature="ecore:EAttribute SysML.profile.ecore#//deprecatedelements/FlowPort/isAtomic"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//deprecatedelements/FlowPort/getIcon"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//deprecatedelements/FlowSpecification">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//deprecatedelements/FlowSpecification/base_Interface"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//deprecatedelements/FlowSpecification/getFlowProperties"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="PortsAndFlows" basePackage="org.eclipse.papyrus.sysml16"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//portsandflows">
+      <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="SysML.profile.ecore#//portsandflows/FeatureDirectionKind">
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="SysML.profile.ecore#//portsandflows/FeatureDirectionKind/provided"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="SysML.profile.ecore#//portsandflows/FeatureDirectionKind/providedRequired"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="SysML.profile.ecore#//portsandflows/FeatureDirectionKind/required"/>
+      </genEnums>
+      <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="SysML.profile.ecore#//portsandflows/FlowDirectionKind">
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="SysML.profile.ecore#//portsandflows/FlowDirectionKind/in"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="SysML.profile.ecore#//portsandflows/FlowDirectionKind/inout"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="SysML.profile.ecore#//portsandflows/FlowDirectionKind/out"/>
+      </genEnums>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/AcceptChangeStructuralFeatureEventAction">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/AcceptChangeStructuralFeatureEventAction/base_AcceptEventAction"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/ChangeStructuralFeatureEvent">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/ChangeStructuralFeatureEvent/base_ChangeEvent"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/ChangeStructuralFeatureEvent/structuralFeature"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/DirectedFeature">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/DirectedFeature/base_Feature"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//portsandflows/DirectedFeature/featureDirection"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/FlowProperty">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/FlowProperty/base_Property"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//portsandflows/FlowProperty/direction"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/FlowProperty/getIcon"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/FullPort">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/FullPort/base_Port"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/InterfaceBlock">
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/InterfaceBlock/getConjugated"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/InvocationOnNestedPortAction">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/InvocationOnNestedPortAction/base_InvocationAction"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/InvocationOnNestedPortAction/onNestedPort"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/ItemFlow">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/ItemFlow/base_InformationFlow"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/ItemFlow/itemProperty"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/ProxyPort">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/ProxyPort/base_Port"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/TriggerOnNestedPort">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/TriggerOnNestedPort/base_Trigger"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/TriggerOnNestedPort/onNestedPort"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/original"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated/df1"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated/df2"/>
+        </genOperations>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.1">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.1/fp1"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.1/fp2"/>
+        </genOperations>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.2">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.2/r1"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.2/r2"/>
+        </genOperations>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.3">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.3/o1"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.3/o2"/>
+        </genOperations>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.4">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.4/p1"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.4/p2"/>
+        </genOperations>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areSameConstraintSets">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areSameConstraintSets/cs1"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areSameConstraintSets/cs2"/>
+        </genOperations>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areSameParameterSets">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areSameParameterSets/ps1"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areSameParameterSets/ps2"/>
+        </genOperations>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/haveSameSignatures">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/haveSameSignatures/bf1"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/haveSameSignatures/bf2"/>
+        </genOperations>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/AddFlowPropertyValueOnNestedPortAction">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/AddFlowPropertyValueOnNestedPortAction/onNestedPort"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/AddFlowPropertyValueOnNestedPortAction/base_AddStructuralFeatureValueAction"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="ModelElements" basePackage="org.eclipse.papyrus.sysml16"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//modelelements">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/Conform">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Conform/base_Generalization"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/ElementGroup">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/ElementGroup/base_Comment"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+            ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/ElementGroup/criterion.1"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/ElementGroup/member.1"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/ElementGroup/name"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/ElementGroup/orderedMember"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+            ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/ElementGroup/size.1"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//modelelements/ElementGroup/allGroups">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//modelelements/ElementGroup/allGroups/e"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//modelelements/ElementGroup/allGroups/result"/>
+        </genOperations>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//modelelements/ElementGroup/criterion">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//modelelements/ElementGroup/criterion/result"/>
+        </genOperations>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//modelelements/ElementGroup/member">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//modelelements/ElementGroup/member/result"/>
+        </genOperations>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//modelelements/ElementGroup/size">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//modelelements/ElementGroup/size/result"/>
+        </genOperations>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/Expose">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Expose/base_Dependency"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/Problem">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Problem/base_Comment"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/Rationale">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Rationale/base_Comment"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/Stakeholder">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Stakeholder/base_Classifier"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Stakeholder/concernList"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+            ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/Stakeholder/concern"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/View">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/View/base_Class"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/View/stakeholder"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/View/viewPoint"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/Viewpoint">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Viewpoint/base_Class"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+            ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/Viewpoint/concern"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Viewpoint/concernList"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/Viewpoint/language"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Viewpoint/method"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/Viewpoint/presentation"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/Viewpoint/purpose"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Viewpoint/stakeholder"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Requirements" basePackage="org.eclipse.papyrus.sysml16"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//requirements">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/Copy"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/Trace">
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/Trace/getTracedFrom">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Trace/getTracedFrom/ref"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Trace/getTracedFrom/result"/>
+        </genOperations>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/Requirement">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/Requirement/base_Class"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="SysML.profile.ecore#//requirements/AbstractRequirement">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/base_NamedElement"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/derived"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/derivedFrom"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//requirements/AbstractRequirement/id"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/master"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/refinedBy"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/satisfiedBy"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//requirements/AbstractRequirement/text"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/tracedTo"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/verifiedBy"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getSatisfiedBy"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getVerifiedBy"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getTracedTo"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getDerived"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getDerivedFrom"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getRefinedBy"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getMaster"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/DeriveReqt"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/Refine">
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/Refine/getRefines">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Refine/getRefines/ref"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Refine/getRefines/result"/>
+        </genOperations>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/Satisfy">
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/Satisfy/getSatisfies">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Satisfy/getSatisfies/ref"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Satisfy/getSatisfies/result"/>
+        </genOperations>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/TestCase">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/TestCase/base_Behavior"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/TestCase/base_Operation"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/Verify">
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/Verify/getVerifies">
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Verify/getVerifies/ref"/>
+          <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Verify/getVerifies/result"/>
+        </genOperations>
+      </genClasses>
+    </nestedGenPackages>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.notation b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.notation
new file mode 100644
index 0000000..4d03136
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.notation
@@ -0,0 +1,3737 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_wJW_wFFuEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="Activities" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_x4EkUFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_x4I1wFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x4L5EFFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x4L5EVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x4L5ElFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x4L5E1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x4L5FFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x4MgIFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x4MgIVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x4MgIlFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x4MgI1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x4MgJFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Continuous"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x4EkUVFuEeWFqsbjn0GMrw" x="1160" y="580" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_x61kcFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_x61kclFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x61kc1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x61kdFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x61kdVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x61kdlFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x61kd1FuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x61keFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x61keVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x61kelFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x61ke1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x61kfFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x61kcVFuEeWFqsbjn0GMrw" x="40" y="340" width="281"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_x7HRQFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_x7HRQlFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x7HRQ1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x7HRRFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x7HRRVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x7HRRlFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7HRR1FuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x7HRSFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x7HRSVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x7HRSlFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x7HRS1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7HRTFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Discrete"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7HRQVFuEeWFqsbjn0GMrw" x="1480" y="580" width="119"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_x7Y-EFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_x7ZlIFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x7ZlIVFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x7ZlIlFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x7ZlI1FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x7ZlJFFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7ZlJVFuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x7ZlJlFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x7ZlJ1FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x7ZlKFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x7ZlKVFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7ZlKlFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7Y-EVFuEeWFqsbjn0GMrw" x="360" y="340" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_x7qD0FFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_x7qq4FFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x7qq4VFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x7qq4lFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x7qq41FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x7qq5FFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7qq5VFuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x7qq5lFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x7qq51FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x7qq6FFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x7qq6VFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7qq6lFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7qD0VFuEeWFqsbjn0GMrw" x="520" y="340" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_x8ApIFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_x8BQMFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x8BQMVFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x8BQMlFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x8BQM1FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x8BQNFFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x8BQNVFuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x8BQNlFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x8BQN1FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x8BQOFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x8BQOVFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x8BQOlFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x8ApIVFuEeWFqsbjn0GMrw" x="680" y="340" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_x8jbsFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_x8kCwFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x8kCwVFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_eNu7UFCbEemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.probability"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_eNu7UVCbEemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x8kCwlFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x8kCw1FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x8kCxFFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x8kCxVFuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x8kCxlFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x8kCx1FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x8kCyFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x8kCyVFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x8kCylFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x8jbsVFuEeWFqsbjn0GMrw" x="840" y="340" width="281"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_x9FnMFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_x9FnMlFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x9FnM1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_eNviYVCbEemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.rate"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_eNviYlCbEemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x9FnNFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x9FnNVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x9FnNlFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x9FnN1FuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_x9FnOFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_x9FnOVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_x9FnOlFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_x9FnO1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x9FnPFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x9FnMVFuEeWFqsbjn0GMrw" x="1160" y="340" width="441"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ygpAMFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ygpnQFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ygpAMVFuEeWFqsbjn0GMrw" x="40" y="40" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_yjkYYFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yjk_cFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yjkYYVFuEeWFqsbjn0GMrw" x="200" y="40" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_yllKkFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yllKklFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yllKkVFuEeWFqsbjn0GMrw" x="360" y="40" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ym1u0FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ym2V4FFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ym1u0VFuEeWFqsbjn0GMrw" x="520" y="40" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_yoWxwFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yoXY0FFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yoWxwVFuEeWFqsbjn0GMrw" x="680" y="40" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_yp3NoFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yp3NolFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yp3NoVFuEeWFqsbjn0GMrw" x="840" y="40" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ysRocFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ysRoclFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ParameterSet"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ysRocVFuEeWFqsbjn0GMrw" x="1000" y="40" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_yt3j4FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yt4K8FFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yt3j4VFuEeWFqsbjn0GMrw" x="1160" y="40" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_yvxoYFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yvyPcFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yvxoYVFuEeWFqsbjn0GMrw" x="1320" y="40" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_yx6WYFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yx69cFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yx6WYVFuEeWFqsbjn0GMrw" x="1480" y="40" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_RApZg1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RApZhFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RApZhlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RApZhVCcEemsqfUA37D_yw" x="240" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_RAwHMFCcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RAwHMVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RAwHM1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RAwHMlCcEemsqfUA37D_yw" x="400" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_RA0_s1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RA0_tFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RA0_tlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RA0_tVCcEemsqfUA37D_yw" x="560" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_RA54M1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RA54NFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RA54NlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RA54NVCcEemsqfUA37D_yw" x="720" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_RA_Xw1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RA_XxFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RA_XxlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RA_XxVCcEemsqfUA37D_yw" x="880" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_RBEQQ1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RBEQRFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBE3UFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RBEQRVCcEemsqfUA37D_yw" x="1040" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_RBNaMFCcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RBNaMVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBNaM1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ParameterSet"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RBNaMlCcEemsqfUA37D_yw" x="1200" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_RBTg01CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RBTg1FCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBTg1lCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RBTg1VCcEemsqfUA37D_yw" x="1360" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_RBZAY1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RBZAZFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBZAZlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RBZAZVCcEemsqfUA37D_yw" x="1520" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_RBfHAFCcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RBfHAVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBfHA1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RBfHAlCcEemsqfUA37D_yw" x="1680" y="40"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_wJXm0FFuEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_wJXm0VFuEeWFqsbjn0GMrw"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_3Sb10EdOEemwxZBwu1AUww" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Activities"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_3tYa8FCaEemsqfUA37D_yw" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+    <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Activities"/>
+    <edges xmi:type="notation:Connector" xmi:id="_yiSmAFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x61kcFFuEeWFqsbjn0GMrw" target="_ygpAMFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_yiSmAVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yiSmAlFuEeWFqsbjn0GMrw" points="[180, 340, -643984, -643984]$[180, 160, -643984, -643984]$[100, 160, -643984, -643984]$[100, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zv6PsFFuEeWFqsbjn0GMrw" id="(0.498220640569395,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zv6PsVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ylAi0FFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x61kcFFuEeWFqsbjn0GMrw" target="_yjkYYFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ylAi0VFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ylAi0lFuEeWFqsbjn0GMrw" points="[180, 340, -643984, -643984]$[180, 160, -643984, -643984]$[260, 160, -643984, -643984]$[260, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zwDZoFFuEeWFqsbjn0GMrw" id="(0.498220640569395,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zwDZoVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_yma4EFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x7Y-EFFuEeWFqsbjn0GMrw" target="_yllKkFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_yma4EVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yma4ElFuEeWFqsbjn0GMrw" points="[420, 340, -643984, -643984]$[420, 160, -643984, -643984]$[420, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zun2QFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zupEYFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_yoDPwFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x7qD0FFuEeWFqsbjn0GMrw" target="_ym1u0FFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_yoDPwVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yoDPwlFuEeWFqsbjn0GMrw" points="[580, 340, -643984, -643984]$[580, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zu6xMFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zu7YQFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ypW3UFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x8ApIFFuEeWFqsbjn0GMrw" target="_yoWxwFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ypW3UVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ypW3UlFuEeWFqsbjn0GMrw" points="[740, 340, -643984, -643984]$[740, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvIMkFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvIzoFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_yrzuYFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x8jbsFFuEeWFqsbjn0GMrw" target="_yp3NoFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_yrzuYVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yrzuYlFuEeWFqsbjn0GMrw" points="[980, 340, -643984, -643984]$[980, 160, -643984, -643984]$[900, 160, -643984, -643984]$[900, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zveK0FFuEeWFqsbjn0GMrw" id="(0.498220640569395,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zveK0VFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ytVYYFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x8jbsFFuEeWFqsbjn0GMrw" target="_ysRocFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ytVYYVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ytVYYlFuEeWFqsbjn0GMrw" points="[980, 340, -643984, -643984]$[980, 160, -643984, -643984]$[1060, 160, -643984, -643984]$[1060, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvex4FFuEeWFqsbjn0GMrw" id="(0.498220640569395,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvex4VFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_yvLLcFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x9FnMFFuEeWFqsbjn0GMrw" target="_yt3j4FFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_yvLLcVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yvLLclFuEeWFqsbjn0GMrw" points="[1380, 340, -643984, -643984]$[1380, 160, -643984, -643984]$[1220, 160, -643984, -643984]$[1220, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvvQkVFuEeWFqsbjn0GMrw" id="(0.4988662131519274,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvvQklFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_yxQPEFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x9FnMFFuEeWFqsbjn0GMrw" target="_yvxoYFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_yxQPEVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yxQPElFuEeWFqsbjn0GMrw" points="[1380, 340, -643984, -643984]$[1380, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvv3oFFuEeWFqsbjn0GMrw" id="(0.4988662131519274,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvv3oVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_yzVSsFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x9FnMFFuEeWFqsbjn0GMrw" target="_yx6WYFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_yzVSsVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yzVSslFuEeWFqsbjn0GMrw" points="[1380, 340, -643984, -643984]$[1380, 160, -643984, -643984]$[1540, 160, -643984, -643984]$[1540, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvupgFFuEeWFqsbjn0GMrw" id="(0.4988662131519274,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvvQkFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_A03B4Jd6EeWtVfEGUY_Rog" type="Generalization_Edge" source="_x4EkUFFuEeWFqsbjn0GMrw" target="_x9FnMFFuEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_A05eIJd6EeWtVfEGUY_Rog" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_UAkjwFCbEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_A05eIZd6EeWtVfEGUY_Rog" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_A03B4Zd6EeWtVfEGUY_Rog"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Continuous._generalization.SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_A03B4pd6EeWtVfEGUY_Rog" points="[1220, 580, -643984, -643984]$[1220, 500, -643984, -643984]$[1380, 500, -643984, -643984]$[1380, 443, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B7R3YJd6EeWtVfEGUY_Rog" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B7XW8Jd6EeWtVfEGUY_Rog" id="(0.4988662131519274,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_D_oUwJd6EeWtVfEGUY_Rog" type="Generalization_Edge" source="_x7HRQFFuEeWFqsbjn0GMrw" target="_x9FnMFFuEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D_pi4Jd6EeWtVfEGUY_Rog" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_UAx_IFCbEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D_pi4Zd6EeWtVfEGUY_Rog" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_D_oUwZd6EeWtVfEGUY_Rog"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Discrete._generalization.SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D_oUwpd6EeWtVfEGUY_Rog" points="[1540, 580, -643984, -643984]$[1540, 500, -643984, -643984]$[1380, 500, -643984, -643984]$[1380, 443, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ERkZUJd6EeWtVfEGUY_Rog" id="(0.5042016806722689,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ERkZUZd6EeWtVfEGUY_Rog" id="(0.4988662131519274,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RAqAkFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_ygpAMFFuEeWFqsbjn0GMrw" target="_RApZg1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RAqAkVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RAqAlVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RAqAklCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RAqAk1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RAqAlFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RAwHNFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yjkYYFFuEeWFqsbjn0GMrw" target="_RAwHMFCcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RAwHNVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RAwHOVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RAwHNlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RAwHN1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RAwHOFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RA0_t1CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yllKkFFuEeWFqsbjn0GMrw" target="_RA0_s1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RA0_uFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RA0_vFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RA0_uVCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RA0_ulCcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RA0_u1CcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RA6fQFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_ym1u0FFuEeWFqsbjn0GMrw" target="_RA54M1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RA6fQVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RA6fRVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RA6fQlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RA6fQ1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RA6fRFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RA_Xx1CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yoWxwFFuEeWFqsbjn0GMrw" target="_RA_Xw1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RA_XyFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RA_XzFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RA_XyVCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RA_XylCcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RA_Xy1CcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RBE3UVCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yp3NoFFuEeWFqsbjn0GMrw" target="_RBEQQ1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RBE3UlCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBE3VlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RBE3U1CcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBE3VFCcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBE3VVCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RBNaNFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_ysRocFFuEeWFqsbjn0GMrw" target="_RBNaMFCcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RBNaNVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBNaOVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ParameterSet"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RBNaNlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBNaN1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBNaOFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RBTg11CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yt3j4FFuEeWFqsbjn0GMrw" target="_RBTg01CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RBTg2FCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBTg3FCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RBTg2VCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBTg2lCcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBTg21CcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RBZAZ1CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yvxoYFFuEeWFqsbjn0GMrw" target="_RBZAY1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RBZAaFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBZAbFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RBZAaVCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBZAalCcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBZAa1CcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RBfHBFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yx6WYFFuEeWFqsbjn0GMrw" target="_RBfHAFCcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RBfHBVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBfHCVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RBfHBlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBfHB1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBfHCFCcEemsqfUA37D_yw"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_3aZkcFFuEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="Blocks" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_7t4L0FFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7t4y4FFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7t4y4VFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_aIt4YFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.principal"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_aIt4YVE4EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7t4y4lFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7t4y41FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7t4y5FFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7t4y5VFuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7t4y5lFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7t4y51FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7t4y6FFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7t4y6VFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7t4y6lFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7t4L0VFuEeWFqsbjn0GMrw" x="60" y="20" width="281"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7uBVwFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7uB80FFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7uB80VFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7uB80lFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7uB801FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7uB81FFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uB81VFuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7uB81lFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7uB811FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7uB82FFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7uB82VFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uB82lFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uBVwVFuEeWFqsbjn0GMrw" x="400" y="20" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7uJ4oFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7uKfsFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7uKfsVFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_YQVacFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.isEncapsulated"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_YQVacVE4EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7uKfslFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7uKfs1FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7uKftFFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uKftVFuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7uKftlFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Y8Lz0FE4EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_EJdvcFIcEeWOVPwTUSkFAw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Y8Lz0VE4EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Y8jAMFE4EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_xfIGcFVsEeW77p7V_ZuW3Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Y8jAMVE4EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Y88o0FE4EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_Um2qIGOPEeWsGaPkh2WVXg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Y88o0VE4EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7uKft1FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7uKfuFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7uKfuVFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uKfulFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uJ4oVFuEeWFqsbjn0GMrw" x="60" y="540" width="201"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7uR0cFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7uR0clFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7uR0c1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_WuWqUFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.bindingPath"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_WuWqUVE4EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WuvE0FE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.boundEnd"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_WuvE0VE4EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7uR0dFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7uR0dVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7uR0dlFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uR0d1FuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7uR0eFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7uR0eVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7uR0elFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7uR0e1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uR0fFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uR0cVFuEeWFqsbjn0GMrw" x="420" y="740" width="241"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7ublcFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7ublclFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7ublc1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7ubldFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7ubldVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7ubldlFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ubld1FuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7ubleFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7ubleVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7ublelFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7uble1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ublfFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ublcVFuEeWFqsbjn0GMrw" x="580" y="20" width="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7umkkFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7umkklFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7umkk1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_UQ8zwFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.connector"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_UQ8zwVE4EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7umklFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7umklVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7umkllFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7umkl1FuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7umkmFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7umkmVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7umkmlFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7umkm1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7umknFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7umkkVFuEeWFqsbjn0GMrw" x="800" y="20" width="201"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7uyx0FFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7uyx0lFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7uyx01FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7uyx1FFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7uyx1VFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7uyx1lFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uyx11FuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7uyx2FFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7uyx2VFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7uyx2lFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7uyx21FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uyx3FFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uyx0VFuEeWFqsbjn0GMrw" x="1740" y="40" width="721"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7u-YAFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7u-_EFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7u-_EVFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7u-_ElFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7u-_E1FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7u-_FFFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7u-_FVFuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7u-_FlFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7u-_F1FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7u-_GFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7u-_GVFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7u-_GlFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7u-YAVFuEeWFqsbjn0GMrw" x="1100" y="540"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7vTvMFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7vTvMlFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7vTvM1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7vTvNFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7vTvNVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7vTvNlFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vTvN1FuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7vTvOFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7vTvOVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7vTvOlFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7vTvO1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vTvPFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vTvMVFuEeWFqsbjn0GMrw" x="1120" y="20" width="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7vhxoFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7vhxolFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7vhxo1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_PcCTQFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.lower"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_PcCTQVE4EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_PcdKAFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.upper"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_PcdKAVE4EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7vhxpFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7vhxpVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7viYsFFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7viYsVFuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7viYslFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7viYs1FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7viYtFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7viYtVFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7viYtlFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vhxoVFuEeWFqsbjn0GMrw" x="420" y="540" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7vyQUFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7vyQUlFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7vyQU1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7vyQVFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7vyQVVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7vyQVlFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vyQV1FuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7vyQWFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7vyQWVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7vyQWlFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7vyQW1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vyQXFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vyQUVFuEeWFqsbjn0GMrw" x="1320" y="540" width="141"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7wD9IFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7wD9IlFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7wD9I1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Mz6acFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.end"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Mz6acVE4EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7wD9JFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7wD9JVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7wD9JlFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wD9J1FuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7wD9KFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7wD9KVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7wD9KlFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7wD9K1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wD9LFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wD9IVFuEeWFqsbjn0GMrw" x="3040" y="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7wYtQFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7wYtQlFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7wZUUFFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7wZUUVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7wZUUlFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7wZUU1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wZUVFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7wZUVVFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7wZUVlFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7wZUV1FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7wZUWFFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wZUWVFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wYtQVFuEeWFqsbjn0GMrw" x="3220" y="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7wurgFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7wurglFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7wurg1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7wurhFFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7wurhVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7wurhlFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wurh1FuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7wuriFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7wuriVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7wurilFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7wuri1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wurjFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wurgVFuEeWFqsbjn0GMrw" x="940" y="540" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8aGYoFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8aHmwFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8aGYoVFuEeWFqsbjn0GMrw" x="220" y="-240" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8cHK0FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8cHK0lFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8cHK0VFuEeWFqsbjn0GMrw" x="1820" y="-240" width="141" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8dfq4FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8dgR8FFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8dfq4VFuEeWFqsbjn0GMrw" x="1380" y="-240" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8gPc4FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8gPc4lFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8gPc4VFuEeWFqsbjn0GMrw" x="740" y="280" width="145" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8iT5cFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8iT5clFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8iT5cVFuEeWFqsbjn0GMrw" x="60" y="-240" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8kEM8FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8kEM8lFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8kEM8VFuEeWFqsbjn0GMrw" x="400" y="-240" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8l9DUFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8l9qYFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8l9DUVFuEeWFqsbjn0GMrw" x="60" y="280" width="201" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8npscFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8npsclFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8npscVFuEeWFqsbjn0GMrw" x="600" y="-240" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8pZY4FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8pZY4lFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8pZY4VFuEeWFqsbjn0GMrw" x="800" y="-240" width="201" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8rBJgFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8rBwkFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DirectedRelationship"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8rBJgVFuEeWFqsbjn0GMrw" x="2240" y="-240" width="201" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8snsAFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8snsAlFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8snsAVFuEeWFqsbjn0GMrw" x="1100" y="280" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8uU8MFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8uU8MlFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8uU8MVFuEeWFqsbjn0GMrw" x="1120" y="-240" width="161" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8v-iAFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8v_JEFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8v-iAVFuEeWFqsbjn0GMrw" x="420" y="280" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8xuOcFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8xuOclFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ConnectorEnd"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8xuOcVFuEeWFqsbjn0GMrw" x="1320" y="280" width="141" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8zl2sFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8zl2slFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8zl2sVFuEeWFqsbjn0GMrw" x="3040" y="-240" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_81y2IFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_81zdMFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_81y2IVFuEeWFqsbjn0GMrw" x="3220" y="-240" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_84Df8FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_84EHAFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_84Df8VFuEeWFqsbjn0GMrw" x="940" y="280" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pCK401CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pCK41FCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCLf4FCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pCK41VCcEemsqfUA37D_yw" x="400" y="300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pCTbs1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pCTbtFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCUCwFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pCTbtVCcEemsqfUA37D_yw" x="1779" y="300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pCawcFCcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pCawcVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCawc1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pCawclCcEemsqfUA37D_yw" x="1416" y="300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pCiFMFCcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pCiFMVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCiFM1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pCiFMlCcEemsqfUA37D_yw" x="2319" y="30"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pCsdQ1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pCsdRFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCtEUFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pCsdRVCcEemsqfUA37D_yw" x="230" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pCx801CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pCx81FCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCyj4FCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pCx81VCcEemsqfUA37D_yw" x="576" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pC4qgFCcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pC4qgVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pC4qg1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pC4qglCcEemsqfUA37D_yw" x="747" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pC9jA1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pC9jBFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pC9jBlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pC9jBVCcEemsqfUA37D_yw" x="940" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pDDpo1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pDDppFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDDpplCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDDppVCcEemsqfUA37D_yw" x="1156" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pDLlc1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pDLldFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDLldlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DirectedRelationship"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDLldVCcEemsqfUA37D_yw" x="2040" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pDRsEFCcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pDRsEVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDRsE1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDRsElCcEemsqfUA37D_yw" x="2601" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pDXLo1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pDXLpFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDXLplCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDXLpVCcEemsqfUA37D_yw" x="1416" y="730"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pDd5UFCcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pDd5UVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDd5U1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDd5UlCcEemsqfUA37D_yw" x="2797" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pDknAFCcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pDknAVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDknA1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ConnectorEnd"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDknAlCcEemsqfUA37D_yw" x="2997" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pDsi0FCcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pDsi0VCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDsi01CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDsi0lCcEemsqfUA37D_yw" x="3195" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pDyCY1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pDyCZFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDyCZlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDyCZVCcEemsqfUA37D_yw" x="3392" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pD4wE1CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pD4wFFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pD4wFlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pD4wFVCcEemsqfUA37D_yw" x="2339" y="460"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_3aZkcVFuEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_3aZkclFuEeWFqsbjn0GMrw"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_9FLQgEdOEemwxZBwu1AUww" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Blocks"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_p31VgFCcEemsqfUA37D_yw" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+    <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Blocks"/>
+    <edges xmi:type="notation:Connector" xmi:id="_8bKIkFFuEeWFqsbjn0GMrw" type="Association_Edge" source="_7t4L0FFuEeWFqsbjn0GMrw" target="_8aGYoFFuEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8bKvoFFuEeWFqsbjn0GMrw" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BKHJMFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8bKvoVFuEeWFqsbjn0GMrw" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8bKvolFuEeWFqsbjn0GMrw" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BKgKwFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8bKvo1FuEeWFqsbjn0GMrw" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8bKvpFFuEeWFqsbjn0GMrw" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BNl7AFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8bLWsFFuEeWFqsbjn0GMrw" x="-25" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8bLWsVFuEeWFqsbjn0GMrw" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BN9ucFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8bLWslFuEeWFqsbjn0GMrw" x="26" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8bLWs1FuEeWFqsbjn0GMrw" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BOXXEFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8bLWtFFuEeWFqsbjn0GMrw" x="26" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8bLWtVFuEeWFqsbjn0GMrw" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BOtVUFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8bLWtlFuEeWFqsbjn0GMrw" x="-25" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8bKIkVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8bKIklFuEeWFqsbjn0GMrw" points="[280, 20, -643984, -643984]$[280, -179, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9f5jEFFuEeWFqsbjn0GMrw" id="(0.7829181494661922,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9f5jEVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8eS8IFFuEeWFqsbjn0GMrw" type="Association_Edge" source="_7uyx0FFuEeWFqsbjn0GMrw" target="_8dfq4FFuEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8eS8I1FuEeWFqsbjn0GMrw" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Az4agFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8eS8JFFuEeWFqsbjn0GMrw" x="2" y="57"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8eTjMFFuEeWFqsbjn0GMrw" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A0QN8FCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8eTjMVFuEeWFqsbjn0GMrw" x="1" y="17"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8eTjMlFuEeWFqsbjn0GMrw" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A0oBYFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8eTjM1FuEeWFqsbjn0GMrw" x="-246" y="175"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8eTjNFFuEeWFqsbjn0GMrw" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A0-msFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8eTjNVFuEeWFqsbjn0GMrw" x="101" y="-7"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8eTjNlFuEeWFqsbjn0GMrw" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A1Uk8FCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8eTjN1FuEeWFqsbjn0GMrw" x="16" y="-7"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8eUKQFFuEeWFqsbjn0GMrw" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A1sYYFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8eUKQVFuEeWFqsbjn0GMrw" x="-266" y="284"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8eS8IVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8eS8IlFuEeWFqsbjn0GMrw" points="[1840, 80, -643984, -643984]$[1440, 80, -643984, -643984]$[1440, -219, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gLP4lFuEeWFqsbjn0GMrw" id="(0.0,0.4)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gL28FFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8fM7EFFuEeWFqsbjn0GMrw" type="Association_Edge" source="_7uyx0FFuEeWFqsbjn0GMrw" target="_8dfq4FFuEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8fNiIFFuEeWFqsbjn0GMrw" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A2CWoFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8fNiIVFuEeWFqsbjn0GMrw" x="-1" y="58"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8fNiIlFuEeWFqsbjn0GMrw" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A2aKEFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8fNiI1FuEeWFqsbjn0GMrw" x="-2" y="17"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8fNiJFFuEeWFqsbjn0GMrw" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A222AFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8fNiJVFuEeWFqsbjn0GMrw" x="-186" y="155"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8fNiJlFuEeWFqsbjn0GMrw" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A5sHkFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8fNiJ1FuEeWFqsbjn0GMrw" x="83" y="13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8fNiKFFuEeWFqsbjn0GMrw" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A6D7AFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8fNiKVFuEeWFqsbjn0GMrw" x="16" y="13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8fNiKlFuEeWFqsbjn0GMrw" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A6agUFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8fOJMFFuEeWFqsbjn0GMrw" x="-206" y="184"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8fM7EVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8fM7ElFuEeWFqsbjn0GMrw" points="[1740, 40, -643984, -643984]$[1480, 40, -643984, -643984]$[1480, -179, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gLP4FFuEeWFqsbjn0GMrw" id="(0.0,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gLP4VFuEeWFqsbjn0GMrw" id="(0.8264462809917356,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8fufgFFuEeWFqsbjn0GMrw" type="Association_Edge" source="_8dfq4FFuEeWFqsbjn0GMrw" target="_7vTvMFFuEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8fufg1FuEeWFqsbjn0GMrw" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Aw8bQFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8fvGkFFuEeWFqsbjn0GMrw" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8fvGkVFuEeWFqsbjn0GMrw" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AxtQQFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8fvGklFuEeWFqsbjn0GMrw" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8fvGk1FuEeWFqsbjn0GMrw" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AyM_gFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8fvGlFFuEeWFqsbjn0GMrw" x="-33" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8fvGlVFuEeWFqsbjn0GMrw" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AyqSgFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8fvGllFuEeWFqsbjn0GMrw" x="26" y="77"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8fvGl1FuEeWFqsbjn0GMrw" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AzIMkFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8fvGmFFuEeWFqsbjn0GMrw" x="33" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8fvGmVFuEeWFqsbjn0GMrw" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AzgnEFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8fvGmlFuEeWFqsbjn0GMrw" x="-33" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8fufgVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8fufglFuEeWFqsbjn0GMrw" points="[1400, -179, -643984, -643984]$[1400, 80, -643984, -643984]$[1281, 80, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gKo0FFuEeWFqsbjn0GMrw" id="(0.1652892561983471,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gKo0VFuEeWFqsbjn0GMrw" id="(1.0,0.6)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8hHmoFFuEeWFqsbjn0GMrw" type="Association_Edge" source="_8gPc4FFuEeWFqsbjn0GMrw" target="_7wurgFFuEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8hHmo1FuEeWFqsbjn0GMrw" visible="false" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BPNEkFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8hINsFFuEeWFqsbjn0GMrw" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8hINsVFuEeWFqsbjn0GMrw" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BPk4AFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8hINslFuEeWFqsbjn0GMrw" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8hINs1FuEeWFqsbjn0GMrw" type="Association_TargetRoleLabel">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UZpkIlE1EemsqfUA37D_yw" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UZpkI1E1EemsqfUA37D_yw" key="visible" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BP62QFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8hINtFFuEeWFqsbjn0GMrw" x="-39" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8hINtVFuEeWFqsbjn0GMrw" visible="false" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BQQ0gFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8hINtlFuEeWFqsbjn0GMrw" x="41" y="-19"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8hINt1FuEeWFqsbjn0GMrw" visible="false" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BTfHoFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8hINuFFuEeWFqsbjn0GMrw" x="41" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8hINuVFuEeWFqsbjn0GMrw" type="Association_TargetMultiplicityLabel">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UZo9EFE1EemsqfUA37D_yw" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UZo9EVE1EemsqfUA37D_yw" key="visible" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BT1s8FCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8hINulFuEeWFqsbjn0GMrw" x="-41" y="-18"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8hHmoVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8hHmolFuEeWFqsbjn0GMrw" points="[780, 341, -643984, -643984]$[780, 640, -643984, -643984]$[940, 640, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fxnQFFuEeWFqsbjn0GMrw" id="(0.27586206896551724,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fxnQVFuEeWFqsbjn0GMrw" id="(0.0,0.8)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8hwf0FFuEeWFqsbjn0GMrw" type="Association_Edge" source="_8gPc4FFuEeWFqsbjn0GMrw" target="_7wurgFFuEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8hxG4FFuEeWFqsbjn0GMrw" visible="false" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BUM5UFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8hxG4VFuEeWFqsbjn0GMrw" x="-1" y="58"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8hxG4lFuEeWFqsbjn0GMrw" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BUkFsFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8hxG41FuEeWFqsbjn0GMrw" x="-1" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8hxG5FFuEeWFqsbjn0GMrw" type="Association_TargetRoleLabel">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UZo9ElE1EemsqfUA37D_yw" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UZo9E1E1EemsqfUA37D_yw" key="visible" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BU5c4FCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8hxG5VFuEeWFqsbjn0GMrw" x="-39" y="17"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8hxG5lFuEeWFqsbjn0GMrw" visible="false" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BVQCMFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8hxG51FuEeWFqsbjn0GMrw" x="46" y="-34"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8hxG6FFuEeWFqsbjn0GMrw" visible="false" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BVmAcFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8hxG6VFuEeWFqsbjn0GMrw" x="38" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8hxt8FFuEeWFqsbjn0GMrw" type="Association_TargetMultiplicityLabel">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UZpkIFE1EemsqfUA37D_yw" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UZpkIVE1EemsqfUA37D_yw" key="visible" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BV7-sFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8hxt8VFuEeWFqsbjn0GMrw" x="-39" y="-17"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8hwf0VFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8hwf0lFuEeWFqsbjn0GMrw" points="[860, 341, -643984, -643984]$[860, 560, -643984, -643984]$[940, 560, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fyOUFFuEeWFqsbjn0GMrw" id="(0.8275862068965517,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fyOUVFuEeWFqsbjn0GMrw" id="(0.0,0.16806722689075632)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8jgzUFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7t4L0FFuEeWFqsbjn0GMrw" target="_8iT5cFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_8jgzUVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8jgzUlFuEeWFqsbjn0GMrw" points="[120, 20, -643984, -643984]$[120, -179, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gSkoFFuEeWFqsbjn0GMrw" id="(0.21352313167259787,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gSkoVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8lPRoFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7uBVwFFuEeWFqsbjn0GMrw" target="_8kEM8FFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_8lPRoVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8lPRolFuEeWFqsbjn0GMrw" points="[460, 20, -643984, -643984]$[460, -179, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gYrQFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gZSUFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8nFrwFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7uJ4oFFuEeWFqsbjn0GMrw" target="_8l9DUFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_8nFrwVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8nFrwlFuEeWFqsbjn0GMrw"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fjk0FFuEeWFqsbjn0GMrw" id="(0.4975124378109453,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fjk0VFuEeWFqsbjn0GMrw" id="(0.4975124378109453,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8o5poFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7ublcFFuEeWFqsbjn0GMrw" target="_8npscFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_8o5poVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8o5polFuEeWFqsbjn0GMrw" points="[660, 40, -643984, -643984]$[660, -179, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gicQFFuEeWFqsbjn0GMrw" id="(0.4968944099378882,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gicQVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8qdI0FFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7umkkFFuEeWFqsbjn0GMrw" target="_8pZY4FFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_8qdI0VFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8qdI0lFuEeWFqsbjn0GMrw" points="[900, 20, -643984, -643984]$[900, -179, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9goi4FFuEeWFqsbjn0GMrw" id="(0.4975124378109453,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9goi4VFuEeWFqsbjn0GMrw" id="(0.4975124378109453,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sFggFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7uyx0FFuEeWFqsbjn0GMrw" target="_8rBJgFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sFggVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sFgglFuEeWFqsbjn0GMrw" points="[2380, 40, -643984, -643984]$[2380, -179, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9h4gEFFuEeWFqsbjn0GMrw" id="(0.8876560332871013,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9h5HIFFuEeWFqsbjn0GMrw" id="(0.6965174129353234,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8tyJoFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7u-YAFFuEeWFqsbjn0GMrw" target="_8snsAFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_8tyJoVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8tyJolFuEeWFqsbjn0GMrw" points="[1160, 540, -643984, -643984]$[1160, 341, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gv3oFFuEeWFqsbjn0GMrw" id="(0.5217391304347826,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gv3oVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8vbIYFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7vTvMFFuEeWFqsbjn0GMrw" target="_8uU8MFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_8vbIYVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8vbIYlFuEeWFqsbjn0GMrw" points="[1200, 20, -643984, -643984]$[1200, -179, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9g62wFFuEeWFqsbjn0GMrw" id="(0.4968944099378882,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9g7d0FFuEeWFqsbjn0GMrw" id="(0.4968944099378882,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8xF8UFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7vhxoFFuEeWFqsbjn0GMrw" target="_8v-iAFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_8xF8UVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8xF8UlFuEeWFqsbjn0GMrw" points="[480, 540, -643984, -643984]$[480, 341, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hEAsFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hEnwFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8y9kkFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7vyQUFFuEeWFqsbjn0GMrw" target="_8xuOcFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_8y9kkVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8y9kklFuEeWFqsbjn0GMrw" points="[1380, 540, -643984, -643984]$[1380, 341, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hL8gFFuEeWFqsbjn0GMrw" id="(0.425531914893617,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hL8gVFuEeWFqsbjn0GMrw" id="(0.425531914893617,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_81GSkFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7wD9IFFuEeWFqsbjn0GMrw" target="_8zl2sFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_81GSkVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_81GSklFuEeWFqsbjn0GMrw" points="[3100, 20, -643984, -643984]$[3100, -179, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hRcEFFuEeWFqsbjn0GMrw" id="(0.5263157894736842,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hSDIFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_83Z_sFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7wYtQFFuEeWFqsbjn0GMrw" target="_81y2IFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_83Z_sVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_83Z_slFuEeWFqsbjn0GMrw" points="[3280, 20, -643984, -643984]$[3280, -179, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hXisFFuEeWFqsbjn0GMrw" id="(0.48,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hYJwFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_85VSUFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7wurgFFuEeWFqsbjn0GMrw" target="_84Df8FFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_85VSUVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_85VSUlFuEeWFqsbjn0GMrw" points="[1000, 560, -643984, -643984]$[1000, 341, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fxnQlFuEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fxnQ1FuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pCLf4VCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8aGYoFFuEeWFqsbjn0GMrw" target="_pCK401CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pCLf4lCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCLf5lCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pCLf41CcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCLf5FCcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCLf5VCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pCUCwVCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8cHK0FFuEeWFqsbjn0GMrw" target="_pCTbs1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pCUCwlCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCUCxlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pCUCw1CcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCUCxFCcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCUCxVCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pCawdFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8dfq4FFuEeWFqsbjn0GMrw" target="_pCawcFCcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pCawdVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCaweVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pCawdlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCawd1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCaweFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pCiFNFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8gPc4FFuEeWFqsbjn0GMrw" target="_pCiFMFCcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pCiFNVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCiFOVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pCiFNlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCiFN1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCiFOFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pCtEUVCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8iT5cFFuEeWFqsbjn0GMrw" target="_pCsdQ1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pCtEUlCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCtEVlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pCtEU1CcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCtEVFCcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCtEVVCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pCyj4VCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8kEM8FFuEeWFqsbjn0GMrw" target="_pCx801CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pCyj4lCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCyj5lCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pCyj41CcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCyj5FCcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCyj5VCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pC4qhFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8l9DUFFuEeWFqsbjn0GMrw" target="_pC4qgFCcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pC4qhVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pC4qiVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pC4qhlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pC4qh1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pC4qiFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pC-KEFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8npscFFuEeWFqsbjn0GMrw" target="_pC9jA1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pC-KEVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pC-KFVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pC-KElCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pC-KE1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pC-KFFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pDEQsFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8pZY4FFuEeWFqsbjn0GMrw" target="_pDDpo1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pDEQsVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDEQtVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDEQslCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDEQs1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDEQtFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pDLld1CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8rBJgFFuEeWFqsbjn0GMrw" target="_pDLlc1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pDLleFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDLlfFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DirectedRelationship"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDLleVCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDLlelCcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDLle1CcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pDRsFFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8snsAFFuEeWFqsbjn0GMrw" target="_pDRsEFCcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pDRsFVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDRsGVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDRsFlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDRsF1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDRsGFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pDXysFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8uU8MFFuEeWFqsbjn0GMrw" target="_pDXLo1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pDXysVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDXytVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDXyslCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDXys1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDXytFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pDd5VFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8v-iAFFuEeWFqsbjn0GMrw" target="_pDd5UFCcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pDd5VVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDd5WVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDd5VlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDd5V1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDd5WFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pDknBFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8xuOcFFuEeWFqsbjn0GMrw" target="_pDknAFCcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pDknBVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDknCVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ConnectorEnd"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDknBlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDknB1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDknCFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pDsi1FCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8zl2sFFuEeWFqsbjn0GMrw" target="_pDsi0FCcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pDsi1VCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDsi2VCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDsi1lCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDsi11CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDsi2FCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pDyCZ1CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_81y2IFFuEeWFqsbjn0GMrw" target="_pDyCY1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pDyCaFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDyCbFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDyCaVCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDyCalCcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDyCa1CcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pD4wF1CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_84Df8FFuEeWFqsbjn0GMrw" target="_pD4wE1CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pD5XIFCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pD5XJFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pD5XIVCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pD5XIlCcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pD5XI1CcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_6dVSsFCdEemsqfUA37D_yw" type="Generalization_Edge" source="_7uR0cFFuEeWFqsbjn0GMrw" target="_7vhxoFFuEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_6dVSs1CdEemsqfUA37D_yw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7p2JIFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_6dVStFCdEemsqfUA37D_yw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_6dVSsVCdEemsqfUA37D_yw"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6dVSslCdEemsqfUA37D_yw" points="[480, 740, -643984, -643984]$[480, 640, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7qm-IFCdEemsqfUA37D_yw" id="(0.24896265560165975,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7qm-IVCdEemsqfUA37D_yw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_cAWg8FCfEemsqfUA37D_yw" type="Association_Edge" source="_8cHK0FFuEeWFqsbjn0GMrw" target="_7uyx0FFuEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cAWg81CfEemsqfUA37D_yw" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dQAyAFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cAWg9FCfEemsqfUA37D_yw" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cAWg9VCfEemsqfUA37D_yw" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dQZzkFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cAWg9lCfEemsqfUA37D_yw" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cAWg91CfEemsqfUA37D_yw" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dQw_8FCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cAWg-FCfEemsqfUA37D_yw" x="-13" y="105"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cAWg-VCfEemsqfUA37D_yw" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dRG-MFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cAWg-lCfEemsqfUA37D_yw" x="26" y="-65"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cAWg-1CfEemsqfUA37D_yw" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dRdjgFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cAWg_FCfEemsqfUA37D_yw" x="26" y="9"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cAWg_VCfEemsqfUA37D_yw" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dRy6sFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cAWg_lCfEemsqfUA37D_yw" x="-13" y="-4"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_cAWg8VCfEemsqfUA37D_yw"/>
+      <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cAWg8lCfEemsqfUA37D_yw" points="[1940, -179, -643984, -643984]$[1940, 40, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dPf0oFCfEemsqfUA37D_yw" id="(0.851063829787234,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dPf0oVCfEemsqfUA37D_yw" id="(0.27739251040221913,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_cA894FCfEemsqfUA37D_yw" type="Association_Edge" source="_8cHK0FFuEeWFqsbjn0GMrw" target="_7uyx0FFuEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cA8941CfEemsqfUA37D_yw" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cnrmsFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cA895FCfEemsqfUA37D_yw" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cA895VCfEemsqfUA37D_yw" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_coA94FCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cA895lCfEemsqfUA37D_yw" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cA8951CfEemsqfUA37D_yw" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_coXjMFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cA896FCfEemsqfUA37D_yw" x="-13" y="-115"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cA896VCfEemsqfUA37D_yw" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_couIgFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cA896lCfEemsqfUA37D_yw" x="26" y="57"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cA8961CfEemsqfUA37D_yw" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cpFU4FCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cA897FCfEemsqfUA37D_yw" x="26" y="-11"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cA897VCfEemsqfUA37D_yw" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cpchQFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cA897lCfEemsqfUA37D_yw" x="-13" y="16"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_cA894VCfEemsqfUA37D_yw"/>
+      <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cA894lCfEemsqfUA37D_yw" points="[1840, -179, -643984, -643984]$[1840, 40, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cnCGcFCfEemsqfUA37D_yw" id="(0.14184397163120568,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cnCGcVCfEemsqfUA37D_yw" id="(0.13869625520110956,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_phxGAFE4EemsqfUA37D_yw" type="Generalization_Edge" source="_7vyQUFFuEeWFqsbjn0GMrw" target="_7vTvMFFuEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_phxGA1E4EemsqfUA37D_yw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_qltPQFE4EemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_phxGBFE4EemsqfUA37D_yw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_phxGAVE4EemsqfUA37D_yw"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_phxGAlE4EemsqfUA37D_yw" points="[1320, 600, -643984, -643984]$[1260, 600, -643984, -643984]$[1260, 120, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qlRKYFE4EemsqfUA37D_yw" id="(0.0,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qlRKYVE4EemsqfUA37D_yw" id="(0.8695652173913043,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_4nr28FFuEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="Allocations" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_5CJlYFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_5CKMcFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5CKzgFFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5CKzgVFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5CKzglFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5CKzg1FuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5CKzhFFuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5CKzhVFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_f56T0FCcEemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedFrom_NamedElement_NamedElement"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_f56T0VCcEemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_f6F6AFCcEemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedTo_NamedElement_NamedElement"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_f6F6AVCcEemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5CKzhlFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5CKzh1FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5CKziFFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5CKziVFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5CJlYVFuEeWFqsbjn0GMrw" x="40" y="160" width="441"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_5ChY0FFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_5Ch_4FFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5Ch_4VFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5Ch_4lFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5Ch_41FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5Ch_5FFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Ch_5VFuEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5Ch_5lFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5Ch_51FuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5Ch_6FFuEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5Ch_6VFuEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Ch_6lFuEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5ChY0VFuEeWFqsbjn0GMrw" x="560" y="160" width="438" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_5ZEQkFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_5ZE3oFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityPartition"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5ZEQkVFuEeWFqsbjn0GMrw" x="560" y="60" width="444"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_5Z-PgFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_5Z-PglFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Z-PgVFuEeWFqsbjn0GMrw" x="40" y="60" width="441"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Rw1gUFCcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Rw1gUVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Rw1gU1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityPartition"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rw1gUlCcEemsqfUA37D_yw" x="417" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Rw6_41CcEemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Rw6_5FCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Rw6_5lCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rw6_5VCcEemsqfUA37D_yw" x="230" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_0p6fIFE4EemsqfUA37D_yw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_0p6fIlE4EemsqfUA37D_yw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0p7GMFE4EemsqfUA37D_yw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_0p7GMVE4EemsqfUA37D_yw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0p7GMlE4EemsqfUA37D_yw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0p7GM1E4EemsqfUA37D_yw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0p7GNFE4EemsqfUA37D_yw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0p7GNVE4EemsqfUA37D_yw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_0p7GNlE4EemsqfUA37D_yw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0p7GN1E4EemsqfUA37D_yw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0p7GOFE4EemsqfUA37D_yw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0p7GOVE4EemsqfUA37D_yw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0p6fIVE4EemsqfUA37D_yw" x="-180" y="60"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_4nr28VFuEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_4nr28lFuEeWFqsbjn0GMrw"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_7iqU4EdOEemwxZBwu1AUww" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Allocations"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_UJq_8FCcEemsqfUA37D_yw" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+    <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Allocations"/>
+    <edges xmi:type="notation:Connector" xmi:id="_5Z3h0FFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_5ChY0FFuEeWFqsbjn0GMrw" target="_5ZEQkFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_5Z3h0VFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5Z3h0lFuEeWFqsbjn0GMrw"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_57mV4FFuEeWFqsbjn0GMrw" id="(0.502283105022831,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_57m88FFuEeWFqsbjn0GMrw" id="(0.4954954954954955,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_5aaUYFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_5CJlYFFuEeWFqsbjn0GMrw" target="_5Z-PgFFuEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_5aaUYVFuEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5aaUYlFuEeWFqsbjn0GMrw"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_57Ib0FFuEeWFqsbjn0GMrw" id="(0.4988662131519274,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_57JC4FFuEeWFqsbjn0GMrw" id="(0.4988662131519274,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Rw1gVFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_5ZEQkFFuEeWFqsbjn0GMrw" target="_Rw1gUFCcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Rw1gVVCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Rw1gWVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityPartition"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Rw1gVlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Rw1gV1CcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Rw1gWFCcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Rw6_51CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_5Z-PgFFuEeWFqsbjn0GMrw" target="_Rw6_41CcEemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Rw6_6FCcEemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Rw6_7FCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Rw6_6VCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Rw6_6lCcEemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Rw6_61CcEemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_0qVV4FE4EemsqfUA37D_yw" type="Generalization_Edge" source="_5CJlYFFuEeWFqsbjn0GMrw" target="_0p6fIFE4EemsqfUA37D_yw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_0qVV41E4EemsqfUA37D_yw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1f0MYFE4EemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_0qVV5FE4EemsqfUA37D_yw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_0qVV4VE4EemsqfUA37D_yw"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0qVV4lE4EemsqfUA37D_yw" points="[40, 220, -643984, -643984]$[-80, 220, -643984, -643984]$[-80, 160, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1f_LgFE4EemsqfUA37D_yw" id="(0.0,0.5042016806722689)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1f_LgVE4EemsqfUA37D_yw" id="(0.5208333333333334,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_ATWiIFFvEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="ConstraintBlocks" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_AjkvcFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Ajl9kFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Ajl9kVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Ajl9klFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Ajl9k1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Ajl9lFFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ajl9lVFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Ajl9llFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_i0vUsFE1EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_0QdHgACzEeabH6-I0dvpUQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_i0vUsVE1EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Ajl9l1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Ajl9mFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Ajl9mVFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ajl9mlFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AjlWgFFvEeWFqsbjn0GMrw" x="280" y="240" width="201"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AyhxcFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AyiYgFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AyhxcVFvEeWFqsbjn0GMrw" x="281" y="83" width="121" height="58"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_b2-RUFE1EemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_b2-RUVE1EemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_b2-RU1E1EemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b2-RUlE1EemsqfUA37D_yw" x="481" y="83"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_exYM8FE1EemsqfUA37D_yw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_exY0AFE1EemsqfUA37D_yw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_exY0AVE1EemsqfUA37D_yw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_exY0AlE1EemsqfUA37D_yw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_exY0A1E1EemsqfUA37D_yw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_exY0BFE1EemsqfUA37D_yw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_exY0BVE1EemsqfUA37D_yw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_exY0BlE1EemsqfUA37D_yw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_exY0B1E1EemsqfUA37D_yw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_exY0CFE1EemsqfUA37D_yw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_exY0CVE1EemsqfUA37D_yw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_exY0ClE1EemsqfUA37D_yw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_exYM8VE1EemsqfUA37D_yw" x="520" y="80"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_ATWiIVFvEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_ATWiIlFvEeWFqsbjn0GMrw"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_Cy9SsEdPEemwxZBwu1AUww" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_hAbecFE1EemsqfUA37D_yw" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+    <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks"/>
+    <edges xmi:type="notation:Connector" xmi:id="_Azk6UFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_AjkvcFFvEeWFqsbjn0GMrw" target="_AyhxcFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Azk6UVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Azk6UlFvEeWFqsbjn0GMrw" points="[-53, -34, 406, 257]$[-459, -291, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Dd2CwEdPEemwxZBwu1AUww" id="(0.29850746268656714,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Dd2p0EdPEemwxZBwu1AUww" id="(0.48760330578512395,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_b2-RVFE1EemsqfUA37D_yw" type="StereotypeCommentLink" source="_AyhxcFFvEeWFqsbjn0GMrw" target="_b2-RUFE1EemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_b2-RVVE1EemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_b2-RWVE1EemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_b2-RVlE1EemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b2-RV1E1EemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b2-RWFE1EemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_exp5wFE1EemsqfUA37D_yw" type="Generalization_Edge" source="_AjkvcFFvEeWFqsbjn0GMrw" target="_exYM8FE1EemsqfUA37D_yw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_exp5w1E1EemsqfUA37D_yw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fLcSwFE1EemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_exp5xFE1EemsqfUA37D_yw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_exp5wVE1EemsqfUA37D_yw"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_exp5wlE1EemsqfUA37D_yw" points="[401, 280, -643984, -643984]$[560, 280, -643984, -643984]$[560, 180, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fLn48FE1EemsqfUA37D_yw" id="(1.0,0.3883495145631068)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fLogAFE1EemsqfUA37D_yw" id="(0.4,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_CMq0MFFvEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="DeprecatedElements" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_C6zskFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_C606sFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_C606sVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_rv__gFE1EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.direction"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rv__gVE1EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_sXfdUFE1EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.isAtomic"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_sXgEYFE1EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_C606slFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_C606s1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_C606tFFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C606tVFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_C606tlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_svTgYFE1EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_47RiUFFjEeWDrM-hgr_-Kg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_svTgYVE1EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_C606t1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_C606uFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_C606uVFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C606ulFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C6zskVFvEeWFqsbjn0GMrw" x="20" y="280" width="241" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_C7HOkFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_C7H1oVFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C7H1oFFvEeWFqsbjn0GMrw" x="20" y="100" width="241" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_C8dSYFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_C8d5cFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_C8d5cVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_C8d5clFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_C8d5c1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_C8d5dFFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C8d5dVFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_C8d5dlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_rDllcFE1EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_35VWsGa4EeW5JrLha2pcnA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rDllcVE1EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_C8d5d1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_C8d5eFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_C8d5eVFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C8d5elFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C8dSYVFvEeWFqsbjn0GMrw" x="380" y="280" width="241" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_C8xbcFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_C8yCgFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C8xbcVFvEeWFqsbjn0GMrw" x="380" y="100" width="241" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kVhK81E1EemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kVhK9FE1EemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kVhK9lE1EemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kVhK9VE1EemsqfUA37D_yw" x="230" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kVnRk1E1EemsqfUA37D_yw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kVnRlFE1EemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kVnRllE1EemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kVnRlVE1EemsqfUA37D_yw" x="400" y="190"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_CMq0MVFvEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_CMq0MlFvEeWFqsbjn0GMrw"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_l0q-cEdOEemwxZBwu1AUww" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_mQ7HsFE1EemsqfUA37D_yw" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+    <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements"/>
+    <edges xmi:type="notation:Connector" xmi:id="_C8S6UFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_C6zskFFvEeWFqsbjn0GMrw" target="_C7HOkFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_C8S6UVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_C8S6UlFvEeWFqsbjn0GMrw"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DmkmYFFvEeWFqsbjn0GMrw" id="(0.4979253112033195,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Dml0gFFvEeWFqsbjn0GMrw" id="(0.4979253112033195,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_C9hCUFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_C8dSYFFvEeWFqsbjn0GMrw" target="_C8xbcFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_C9hCUVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_C9hCUlFvEeWFqsbjn0GMrw"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Dm4vcFFvEeWFqsbjn0GMrw" id="(0.4979253112033195,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Dm5WgFFvEeWFqsbjn0GMrw" id="(0.4979253112033195,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kVhK91E1EemsqfUA37D_yw" type="StereotypeCommentLink" source="_C7HOkFFvEeWFqsbjn0GMrw" target="_kVhK81E1EemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_kVhK-FE1EemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kVhK_FE1EemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kVhK-VE1EemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kVhK-lE1EemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kVhK-1E1EemsqfUA37D_yw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kVnRl1E1EemsqfUA37D_yw" type="StereotypeCommentLink" source="_C8xbcFFvEeWFqsbjn0GMrw" target="_kVnRk1E1EemsqfUA37D_yw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_kVnRmFE1EemsqfUA37D_yw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kVnRnFE1EemsqfUA37D_yw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kVnRmVE1EemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kVnRmlE1EemsqfUA37D_yw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kVnRm1E1EemsqfUA37D_yw"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_Ff3DQFFvEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="ModelElements" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_GEokQFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GEpLUFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GEpLUVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GEpLUlFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GEpLU1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GEpLVFFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GEpLVVFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GEpyYFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GEpyYVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GEpyYlFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GEpyY1FvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GEpyZFFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GEokQVFvEeWFqsbjn0GMrw" x="20" y="200" width="121" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GE2msFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GE3NwFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GE2msVFvEeWFqsbjn0GMrw" x="20" y="40" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GFnbsFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GFnbslFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GFnbs1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ImneJlE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.criterion"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneJ1E5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ImneKFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.member"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneKVE5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ImneKlE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.name"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneK1E5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ImneLFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.orderedMember"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneLVE5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ImneLlE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.size"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneL1E5EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GFnbtFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GFnbtVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GFnbtlFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GFnbt1FvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GFnbuFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ImneMFE5EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.allGroups_Element_ElementGroup"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneMVE5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ImoFMFE5EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.criterion_String"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImoFMVE5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ImoFMlE5EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.member_Element"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImoFM1E5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ImoFNFE5EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.size_Integer"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImoFNVE5EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GFnbuVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GFnbulFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GFnbu1FvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GFnbvFFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GFnbsVFvEeWFqsbjn0GMrw" x="380" y="500" width="321" height="223"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GFvXgFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GFv-kFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GFvXgVFvEeWFqsbjn0GMrw" x="380" y="360" width="321" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GGOfsFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GGOfslFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GGOfs1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GGOftFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GGOftVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GGOftlFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GGOft1FvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GGOfuFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GGOfuVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GGOfulFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GGOfu1FvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GGOfvFFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Expose"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GGOfsVFvEeWFqsbjn0GMrw" x="200" y="200" width="121" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GGZe0FFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GGaF4FFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GGZe0VFvEeWFqsbjn0GMrw" x="200" y="40" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GG-toFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GG-tolFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GG-to1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GG-tpFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GG-tpVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GG-tplFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GG-tp1FvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GG-tqFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GG-tqVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GG-tqlFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GG-tq1FvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GG-trFFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GG-toVFvEeWFqsbjn0GMrw" x="380" y="200" width="121" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GHNXIFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GHNXIlFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GHNXIVFvEeWFqsbjn0GMrw" x="380" y="40" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GH2QUFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GH23YFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GH23YVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GH23YlFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GH23Y1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GH23ZFFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GH23ZVFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GH23ZlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GH23Z1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GH23aFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GH23aVFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GH23alFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GH2QUVFvEeWFqsbjn0GMrw" x="560" y="200" width="121" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GIH9IFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GIIkMVFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GIIkMFFvEeWFqsbjn0GMrw" x="560" y="40" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GI2V4FFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GI288FFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GI288VFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ImneIlE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.concernList"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneI1E5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ImneJFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.concern"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneJVE5EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GI288lFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GI2881FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GI289FFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GI289VFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GI289lFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GI2891FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GI28-FFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GI28-VFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GI28-lFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GI2V4VFvEeWFqsbjn0GMrw" x="1000" y="200" width="201" height="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GJLGAFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GJLGAlFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GJLGAVFvEeWFqsbjn0GMrw" x="1000" y="40" width="201" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GKAzgFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GKBakFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GKBakVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ImoFNlE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.stakeholder"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImoFN1E5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ImoFOFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.viewPoint"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImoFOVE5EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GKBaklFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GKBak1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GKBalFFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GKBalVFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GKBallFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GKBal1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GKBamFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GKBamVFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GKBamlFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GKAzgVFvEeWFqsbjn0GMrw" x="740" y="200" width="201" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GKYm8FFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GKYm8lFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GKYm8VFvEeWFqsbjn0GMrw" x="740" y="40" width="201" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GLR-0FFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GLSl4FFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GLSl4VFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ImmQAFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concern"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImmQAVE5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Imm3EFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concernList"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Imm3EVE5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Imm3ElE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.language"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Imm3E1E5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Imm3FFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.method"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Imm3FVE5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Imm3FlE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.presentation"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Imm3F1E5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Imm3GFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.purpose"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Imm3GVE5EemsqfUA37D_yw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ImneIFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.stakeholder"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneIVE5EemsqfUA37D_yw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GLSl4lFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GLSl41FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GLSl5FFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GLSl5VFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GLSl5lFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GLSl51FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GLSl6FFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GLSl6VFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GLSl6lFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GLR-0VFvEeWFqsbjn0GMrw" x="20" y="500" width="221" height="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GLtcoFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GLuDsFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GLtcoVFvEeWFqsbjn0GMrw" x="20" y="360" width="221" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_U7STcFUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_U7STcVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U7STc1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U7STclUYEemj4epezO_a1Q" x="220" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_U9-bEFUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_U9-bEVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U9-bE1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U9-bElUYEemj4epezO_a1Q" x="580" y="360"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_U-MdgFUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_U-MdgVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-Mdg1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U-MdglUYEemj4epezO_a1Q" x="400" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_U-Z44FUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_U-Z44VUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-af8FUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U-Z44lUYEemj4epezO_a1Q" x="580" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_U-n7UFUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_U-n7UVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-n7U1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U-n7UlUYEemj4epezO_a1Q" x="760" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_U-3L4FUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_U-3L4VUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-3L41UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U-3L4lUYEemj4epezO_a1Q" x="1200" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_U_L8AFUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_U_L8AVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U_L8A1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U_L8AlUYEemj4epezO_a1Q" x="940" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_U_k9kFUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_U_k9kVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U_k9k1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U_k9klUYEemj4epezO_a1Q" x="220" y="360"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_Ff3DQVFvEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_Ff3DQlFvEeWFqsbjn0GMrw"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_jCu3wEdNEemwxZBwu1AUww" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_-SXAEFE4EemsqfUA37D_yw" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+    <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements"/>
+    <edges xmi:type="notation:Connector" xmi:id="_GFijMFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GEokQFFvEeWFqsbjn0GMrw" target="_GE2msFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_GFijMVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GFijMlFvEeWFqsbjn0GMrw"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Gkr9UFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GkskYFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GGHK8FFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GFnbsFFvEeWFqsbjn0GMrw" target="_GFvXgFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_GGHK8VFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GGHK8lFvEeWFqsbjn0GMrw" points="[540, 500, -643984, -643984]$[540, 421, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Gk-4QFFvEeWFqsbjn0GMrw" id="(0.4984423676012461,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Gk-4QVFvEeWFqsbjn0GMrw" id="(0.4984423676012461,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GG1jsFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GGOfsFFvEeWFqsbjn0GMrw" target="_GGZe0FFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_GG1jsVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GG1jslFvEeWFqsbjn0GMrw"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GlPW8FFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GlP-AFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GHrRMFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GG-toFFvEeWFqsbjn0GMrw" target="_GHNXIFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_GHrRMVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GHrRMlFvEeWFqsbjn0GMrw"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GlgcsFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GlhDwFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GIqIoFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GH2QUFFvEeWFqsbjn0GMrw" target="_GIH9IFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_GIqIoVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GIqIolFvEeWFqsbjn0GMrw"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GlxicFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GlyJgFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GJwU0FFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GI2V4FFvEeWFqsbjn0GMrw" target="_GJLGAFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_GJwU0VFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GJwU0lFvEeWFqsbjn0GMrw"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GmDPQFFvEeWFqsbjn0GMrw" id="(0.4975124378109453,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GmD2UFFvEeWFqsbjn0GMrw" id="(0.4975124378109453,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GLBgIFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GKAzgFFvEeWFqsbjn0GMrw" target="_GKYm8FFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_GLBgIVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GLBgIlFvEeWFqsbjn0GMrw"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GmUVAFFvEeWFqsbjn0GMrw" id="(0.4975124378109453,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GmU8EFFvEeWFqsbjn0GMrw" id="(0.4975124378109453,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GMjKIFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GLR-0FFvEeWFqsbjn0GMrw" target="_GLtcoFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_GMjKIVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GMjKIlFvEeWFqsbjn0GMrw" points="[140, 500, -643984, -643984]$[140, 421, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GmmB0FFvEeWFqsbjn0GMrw" id="(0.5429864253393665,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GmmB0VFvEeWFqsbjn0GMrw" id="(0.5429864253393665,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_U7S6gFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GE2msFFvEeWFqsbjn0GMrw" target="_U7STcFUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_U7S6gVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U7S6hVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U7S6glUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U7S6g1UYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U7S6hFUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_U9-bFFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GFvXgFFvEeWFqsbjn0GMrw" target="_U9-bEFUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_U9-bFVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U9-bGVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U9-bFlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U9-bF1UYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U9-bGFUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_U-MdhFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GGZe0FFvEeWFqsbjn0GMrw" target="_U-MdgFUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_U-MdhVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-NEklUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U-MdhlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-NEkFUYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-NEkVUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_U-af8VUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GHNXIFFvEeWFqsbjn0GMrw" target="_U-Z44FUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_U-af8lUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-af9lUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U-af81UYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-af9FUYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-af9VUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_U-n7VFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GIH9IFFvEeWFqsbjn0GMrw" target="_U-n7UFUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_U-n7VVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-n7WVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U-n7VlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-n7V1UYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-n7WFUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_U-3L5FUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GJLGAFFvEeWFqsbjn0GMrw" target="_U-3L4FUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_U-3L5VUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-3y8VUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U-3L5lUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-3L51UYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-3y8FUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_U_L8BFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GKYm8FFvEeWFqsbjn0GMrw" target="_U_L8AFUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_U_L8BVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U_L8CVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U_L8BlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U_L8B1UYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U_L8CFUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_U_k9lFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GLtcoFFvEeWFqsbjn0GMrw" target="_U_k9kFUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_U_k9lVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U_k9mVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U_k9llUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U_k9l1UYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U_k9mFUYEemj4epezO_a1Q"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_IXuBMFFvEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="PortsAndFlows" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_JlKEsFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JlKrwFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#StructuralFeature"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JlKEsVFvEeWFqsbjn0GMrw" x="40" y="20" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Jn-IIFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Jn-vMFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Jn-vMVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Jn-vMlFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Jn-vM1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Jn-vNFFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jn-vNVFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Jn-vNlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Jn-vN1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Jn-vOFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Jn-vOVFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jn-vOlFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_AcceptChangeStructuralFeatureEventAction"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jn-IIVFvEeWFqsbjn0GMrw" x="40" y="720" width="261"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JoTfUFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JoUGYFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AcceptEventAction"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JoTfUVFvEeWFqsbjn0GMrw" x="40" y="560" width="261" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JpJz4FFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JpKa8FFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JpKa8VFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JpKa8lFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JpKa81FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JpKa9FFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpKa9VFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JpKa9lFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JpKa91FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JpKa-FFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JpKa-VFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpKa-lFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpJz4VFvEeWFqsbjn0GMrw" x="40" y="260" width="301" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JpdV4FFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JpdV4lFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ChangeEvent"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpdV4VFvEeWFqsbjn0GMrw" x="220" y="20" width="116" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JqScUFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JqTDYFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JqTDYVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_JdSwsFUZEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature_ownedAttribute.featureDirection"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_JdSwsVUZEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JqTDYlFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JqTDY1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JqTDZFFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JqTDZVFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JqTDZlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JqTDZ1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JqTDaFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JqTDaVFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JqTDalFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JqScUVFvEeWFqsbjn0GMrw" x="420" y="260" width="261" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JqnzgFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JqnzglFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Feature"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JqnzgVFvEeWFqsbjn0GMrw" x="420" y="20" width="261" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Jrf9QFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Jrf9QlFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Jrf9Q1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_QFo9sFUZEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.direction"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QFo9sVUZEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Jrf9RFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Jrf9RVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Jrf9RlFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jrf9R1FvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Jrf9SFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Qbt7YFUZEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_qCZNEFFkEeW4J9vCAdMr-Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Qbt7YVUZEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Jrf9SVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Jrf9SlFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Jrf9S1FvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jrf9TFFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jrf9QVFvEeWFqsbjn0GMrw" x="780" y="260" width="221" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Jr5l4FFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Jr6M8FFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jr5l4VFvEeWFqsbjn0GMrw" x="780" y="20" width="221" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JtYzoFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JtYzolFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JtYzoVFvEeWFqsbjn0GMrw" x="1360" y="240" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JuY5MFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JuY5MlFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JuY5M1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JuY5NFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JuY5NVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JuY5NlFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JuY5N1FvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JuZgQFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JuZgQVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JuZgQlFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JuZgQ1FvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JuZgRFFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JuY5MVFvEeWFqsbjn0GMrw" x="1080" y="420" width="181"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Ju5PgFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Ju5PglFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InvocationAction"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ju5PgVFvEeWFqsbjn0GMrw" x="1080" y="20" width="161" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Jv7xUFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Jv8YYFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Jv8YYVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_2iVGEFUZEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.itemProperty"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2iVGEVUZEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Jv8YYlFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Jv8YY1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Jv8YZFFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jv8YZVFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Jv8YZlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Jv8YZ1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Jv8YaFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Jv8YaVFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jv8YalFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jv7xUVFvEeWFqsbjn0GMrw" x="400" y="720" width="201"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Jwd80FFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Jwd80lFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InformationFlow"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jwd80VFvEeWFqsbjn0GMrw" x="400" y="560" width="201" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JxmlQFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JxmlQlFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JxmlQ1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JxmlRFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JxmlRVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JxmlRlFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JxmlR1FvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JxmlSFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JxmlSVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JxmlSlFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JxmlS1FvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JxmlTFFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ProxyPort"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JxmlQVFvEeWFqsbjn0GMrw" x="1160" y="720" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JyLNAFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JyLNAlFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JyLNAVFvEeWFqsbjn0GMrw" x="1080" y="560" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JzZVAFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JzZVAlFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JzZVA1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JzZVBFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JzZ8EFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JzZ8EVFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JzZ8ElFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JzZ8E1FvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JzZ8FFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JzZ8FVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JzZ8FlFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JzZ8F1FvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JzZVAVFvEeWFqsbjn0GMrw" x="1600" y="420" width="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_J0EDYFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_J0EDYlFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Trigger"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J0EDYVFvEeWFqsbjn0GMrw" x="1600" y="20" width="161" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_naVxIEWgEemFYp9WpPPBHQ" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_naVxIkWgEemFYp9WpPPBHQ" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_naVxI0WgEemFYp9WpPPBHQ" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_cYOakFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#_aRuVFEWgEemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cYOakVUiEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_naVxJEWgEemFYp9WpPPBHQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_naVxJUWgEemFYp9WpPPBHQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_naVxJkWgEemFYp9WpPPBHQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_naVxJ0WgEemFYp9WpPPBHQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_naVxKEWgEemFYp9WpPPBHQ" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_naVxKUWgEemFYp9WpPPBHQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_naVxKkWgEemFYp9WpPPBHQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_naVxK0WgEemFYp9WpPPBHQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_naVxLEWgEemFYp9WpPPBHQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#_aRuVEEWgEemFYp9WpPPBHQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_naVxIUWgEemFYp9WpPPBHQ" x="700" y="720"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_q0SvgEWgEemFYp9WpPPBHQ" type="Class_MetaclassShape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q0T9okWgEemFYp9WpPPBHQ" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q0UksEWgEemFYp9WpPPBHQ" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q0UksUWgEemFYp9WpPPBHQ" key="StereotypeList" value="StandardProfile::Metaclass"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q0UkskWgEemFYp9WpPPBHQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q0Uks0WgEemFYp9WpPPBHQ" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q0UktEWgEemFYp9WpPPBHQ" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_q0T9oEWgEemFYp9WpPPBHQ" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AddStructuralFeatureValueAction"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q0T9oUWgEemFYp9WpPPBHQ" x="700" y="560" width="241" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XcoO0FUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_XcoO0VUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XcoO01UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#StructuralFeature"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XcoO0lUYEemj4epezO_a1Q" x="273" y="30"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XdLocFUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_XdLocVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XdLoc1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AcceptEventAction"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XdLoclUYEemj4epezO_a1Q" x="520" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XdaR8FUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_XdaR8VUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xda5AFUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ChangeEvent"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XdaR8lUYEemj4epezO_a1Q" x="840" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Xdl4IFUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Xdl4IVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xdl4I1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Feature"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xdl4IlUYEemj4epezO_a1Q" x="1066" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XdvCEFUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_XdvCEVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XdvpIFUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XdvCElUYEemj4epezO_a1Q" x="1233" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Xd8dcFUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Xd8dcVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xd8dc1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xd8dclUYEemj4epezO_a1Q" x="1755" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XeHck1UYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_XeHclFUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeHcllUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InvocationAction"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XeHclVUYEemj4epezO_a1Q" x="1940" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XeTCwFUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_XeTCwVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeTCw1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InformationFlow"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XeTCwlUYEemj4epezO_a1Q" x="2180" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XeeB4FUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_XeeB4VUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeeB41UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XeeB4lUYEemj4epezO_a1Q" x="2349" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XepoE1UYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_XeqPIFUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeqPIlUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Trigger"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XeqPIVUYEemj4epezO_a1Q" x="2520" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Xe0nMFUYEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Xe0nMVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xe0nM1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AddStructuralFeatureValueAction"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xe0nMlUYEemj4epezO_a1Q" x="2720" y="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LUJkoFUZEemj4epezO_a1Q" type="Enumeration_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LUKLsFUZEemj4epezO_a1Q" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LUKLsVUZEemj4epezO_a1Q" type="Enumeration_LiteralCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_MxYXoFUZEemj4epezO_a1Q" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection.enumerationLiteral_ownedLiteral_provided"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_MxYXoVUZEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Mx1DkFUZEemj4epezO_a1Q" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection.enumerationLiteral_ownedLiteral_providedRequired"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Mx1DkVUZEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_MyRIcFUZEemj4epezO_a1Q" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection.enumerationLiteral_ownedLiteral_required"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_MyRIcVUZEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LUKLslUZEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LUKLs1UZEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LUKLtFUZEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LUKLtVUZEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LUJkoVUZEemj4epezO_a1Q" x="540" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LVNUkFUZEemj4epezO_a1Q" type="Enumeration_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LVNUklUZEemj4epezO_a1Q" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LVNUk1UZEemj4epezO_a1Q" type="Enumeration_LiteralCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_rU6ycFUZEemj4epezO_a1Q" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_in"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rU6ycVUZEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_rVT0AFUZEemj4epezO_a1Q" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_inout"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rVT0AVUZEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_rVrAYFUZEemj4epezO_a1Q" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_out"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rVrAYVUZEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LVNUlFUZEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LVNUlVUZEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LVNUllUZEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LVNUl1UZEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LVNUkVUZEemj4epezO_a1Q" x="860" y="120" width="141"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_mOcycFUaEemj4epezO_a1Q" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_mOdZgFUaEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_mOdZgVUaEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_mOdZglUaEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_mOdZg1UaEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_mOdZhFUaEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mOdZhVUaEemj4epezO_a1Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_mOdZhlUaEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_mOdZh1UaEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_mOdZiFUaEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_mOdZiVUaEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mOdZilUaEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mOcycVUaEemj4epezO_a1Q" x="1360" y="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_0DXT0FUaEemj4epezO_a1Q" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_0DX64FUaEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0DX64VUaEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_0DX64lUaEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0DX641UaEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0DX65FUaEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0DX65VUaEemj4epezO_a1Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0DX65lUaEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_0DX651UaEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0DX66FUaEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0DX66VUaEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0DX66lUaEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FullPort"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0DXT0VUaEemj4epezO_a1Q" x="1000" y="720" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_64WxgFUhEemj4epezO_a1Q" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_64bC8FUhEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_64bC8VUhEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_64bC8lUhEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_64bC81UhEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_64bC9FUhEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_64bC9VUhEemj4epezO_a1Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_64bC9lUhEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="__yNcYFUhEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_OvhwIEWTEemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__yNcYVUhEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_64bC91UhEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_64bC-FUhEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_64bC-VUhEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_64bC-lUhEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_64WxgVUhEemj4epezO_a1Q" x="60" y="1100" width="241" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7W2EUFUhEemj4epezO_a1Q" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7W2EUlUhEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7W2EU1UhEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Yu_DAFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#_GTHnsEWXEemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Yu_DAVUiEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7W2EVFUhEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7W2EVVUhEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7W2EVlUhEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7W2EV1UhEemj4epezO_a1Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7W2EWFUhEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_CQQMIFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_OAj0gEWXEemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CQQMIVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CQp0wFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_f991QEWXEemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CQp0wVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CRC2UFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_pSgiwEWXEemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CRC2UVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CRapwFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_1hqnQEWXEemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CRapwVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CR05cFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_9Og-MEWXEemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CR05cVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CSQ-UFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_HkXXsEWYEemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CSQ-UVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CSuRUFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_RN5dwEWYEemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CSuRUVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CTOAkFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_aE9lEEWYEemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CTOAkVUiEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7W2EWVUhEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7W2EWlUhEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7W2EW1UhEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7W2EXFUhEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#_Sr_TwEWVEemFYp9WpPPBHQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7W2EUVUhEemj4epezO_a1Q" x="-60" y="1320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8-KncFUhEemj4epezO_a1Q" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8-KnclUhEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8-Knc1UhEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8-KndFUhEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8-KndVUhEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8-KndlUhEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8-Knd1UhEemj4epezO_a1Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8-KneFUhEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8-KneVUhEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8-KnelUhEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8-Kne1UhEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8-KnfFUhEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8-KncVUhEemj4epezO_a1Q" x="120" y="860" width="121"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_IXuBMVFvEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_IXuBMlFvEeWFqsbjn0GMrw"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_qSSPoEWVEemFYp9WpPPBHQ" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_466jgFUYEemj4epezO_a1Q" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+    <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows"/>
+    <edges xmi:type="notation:Connector" xmi:id="_Jo9moFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_Jn-IIFFvEeWFqsbjn0GMrw" target="_JoTfUFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Jo9moVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jo9molFvEeWFqsbjn0GMrw"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXNzwFFvEeWFqsbjn0GMrw" id="(0.45977011494252873,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXOa0FFvEeWFqsbjn0GMrw" id="(0.45977011494252873,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JqEZ4FFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_JpJz4FFvEeWFqsbjn0GMrw" target="_JpdV4FFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JqEZ4VFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JqEZ4lFvEeWFqsbjn0GMrw" points="[280, 260, -643984, -643984]$[280, 179, -643984, -643984]$[280, 81, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KVCpgFFvEeWFqsbjn0GMrw" id="(0.7973421926910299,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KVDQkFFvEeWFqsbjn0GMrw" id="(0.5172413793103449,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JrQFoFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_JqScUFFvEeWFqsbjn0GMrw" target="_JqnzgFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JrQFoVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JrQFolFvEeWFqsbjn0GMrw" points="[460, 260, -643984, -643984]$[460, 179, -643984, -643984]$[460, 81, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KVOPsFFvEeWFqsbjn0GMrw" id="(0.1532567049808429,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KVO2wFFvEeWFqsbjn0GMrw" id="(0.1532567049808429,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Jsqa4FFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_Jrf9QFFvEeWFqsbjn0GMrw" target="_Jr5l4FFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Jsqa4VFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jsqa4lFvEeWFqsbjn0GMrw" points="[840, 260, -643984, -643984]$[840, 179, -643984, -643984]$[840, 81, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KVZ14FFvEeWFqsbjn0GMrw" id="(0.27149321266968324,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KVac8FFvEeWFqsbjn0GMrw" id="(0.27149321266968324,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JvnBMFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_JuY5MFFvEeWFqsbjn0GMrw" target="_Ju5PgFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JvnBMVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JvnBMlFvEeWFqsbjn0GMrw" points="[1160, 260, -643984, -643984]$[1160, 81, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KW2nYFFvEeWFqsbjn0GMrw" id="(0.4419889502762431,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KW3OcFFvEeWFqsbjn0GMrw" id="(0.4968944099378882,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JxPY4FFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_Jv7xUFFvEeWFqsbjn0GMrw" target="_Jwd80FFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JxPY4VFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JxPY4lFvEeWFqsbjn0GMrw" points="[500, 780, -643984, -643984]$[500, 621, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KV-doFFvEeWFqsbjn0GMrw" id="(0.4975124378109453,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KV_EsFFvEeWFqsbjn0GMrw" id="(0.4975124378109453,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JzATcFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_JxmlQFFvEeWFqsbjn0GMrw" target="_JyLNAFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JzATcVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JzATclFvEeWFqsbjn0GMrw" points="[1220, 720, -643984, -643984]$[1220, 680, -643984, -643984]$[1120, 680, -643984, -643984]$[1120, 621, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KWKD0FFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KWKq4FFvEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_J07mEFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_JzZVAFFvEeWFqsbjn0GMrw" target="_J0EDYFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_J07mEVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J07mElFvEeWFqsbjn0GMrw" points="[1680, 260, -643984, -643984]$[1680, 179, -643984, -643984]$[1680, 81, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KWc-wFFvEeWFqsbjn0GMrw" id="(0.4968944099378882,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KWdl0FFvEeWFqsbjn0GMrw" id="(0.4968944099378882,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rXQ5sEWgEemFYp9WpPPBHQ" type="Extension_Edge" source="_naVxIEWgEemFYp9WpPPBHQ" target="_q0SvgEWgEemFYp9WpPPBHQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_rXQ5sUWgEemFYp9WpPPBHQ"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#_rW2C8EWgEemFYp9WpPPBHQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rXQ5skWgEemFYp9WpPPBHQ" points="[820, 780, -643984, -643984]$[820, 621, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rYS0cEWgEemFYp9WpPPBHQ" id="(0.49382716049382713,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rYS0cUWgEemFYp9WpPPBHQ" id="(0.4979253112033195,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XcoO1FUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_JlKEsFFvEeWFqsbjn0GMrw" target="_XcoO0FUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XcoO1VUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xco14FUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#StructuralFeature"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XcoO1lUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XcoO11UYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XcoO2FUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XdLodFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_JoTfUFFvEeWFqsbjn0GMrw" target="_XdLocFUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XdLodVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XdLoeVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AcceptEventAction"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XdLodlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XdLod1UYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XdLoeFUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Xda5AVUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_JpdV4FFvEeWFqsbjn0GMrw" target="_XdaR8FUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Xda5AlUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xda5BlUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ChangeEvent"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xda5A1UYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xda5BFUYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xda5BVUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Xdl4JFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_JqnzgFFvEeWFqsbjn0GMrw" target="_Xdl4IFUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Xdl4JVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XdmfMlUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Feature"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xdl4JlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XdmfMFUYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XdmfMVUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XdvpIVUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_Jr5l4FFvEeWFqsbjn0GMrw" target="_XdvCEFUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XdvpIlUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XdvpJlUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XdvpI1UYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XdvpJFUYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XdvpJVUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Xd9EgFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_JtYzoFFvEeWFqsbjn0GMrw" target="_Xd8dcFUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Xd9EgVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xd9EhVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xd9EglUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xd9Eg1UYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xd9EhFUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XeHcl1UYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_Ju5PgFFvEeWFqsbjn0GMrw" target="_XeHck1UYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XeHcmFUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeIDolUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InvocationAction"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XeHcmVUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeIDoFUYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeIDoVUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XeTCxFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_Jwd80FFvEeWFqsbjn0GMrw" target="_XeTCwFUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XeTp0FUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeTp1FUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InformationFlow"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XeTp0VUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeTp0lUYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeTp01UYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XeeB5FUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_JyLNAFFvEeWFqsbjn0GMrw" target="_XeeB4FUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XeeB5VUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeeB6VUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XeeB5lUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeeB51UYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeeB6FUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XeqPI1UYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_J0EDYFFvEeWFqsbjn0GMrw" target="_XepoE1UYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XeqPJFUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeqPKFUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Trigger"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XeqPJVUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeqPJlUYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeqPJ1UYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Xe1OQFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_q0SvgEWgEemFYp9WpPPBHQ" target="_Xe0nMFUYEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Xe1OQVUYEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xe1ORVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AddStructuralFeatureValueAction"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xe1OQlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xe1OQ1UYEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xe1ORFUYEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_lroEIFUYEemj4epezO_a1Q" type="Association_Edge" source="_JlKEsFFvEeWFqsbjn0GMrw" target="_JpJz4FFvEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_lrqgYFUYEemj4epezO_a1Q" visible="false" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xKSf0FUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_lrqgYVUYEemj4epezO_a1Q" x="-1" y="58"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_lrqgYlUYEemj4epezO_a1Q" visible="false" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xKsIcFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_lrqgY1UYEemj4epezO_a1Q" x="-1" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_lrqgZFUYEemj4epezO_a1Q" type="Association_TargetRoleLabel">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fy0qEFUZEemj4epezO_a1Q" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fy0qEVUZEemj4epezO_a1Q" key="visible" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xLHmQFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_lrqgZVUYEemj4epezO_a1Q" x="-33" y="68"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_lrqgZlUYEemj4epezO_a1Q" visible="false" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xLjrIFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_lrqgZ1UYEemj4epezO_a1Q" x="46" y="34"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_lrqgaFUYEemj4epezO_a1Q" visible="false" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xL960FUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_lrqgaVUYEemj4epezO_a1Q" x="40" y="17"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_lrqgalUYEemj4epezO_a1Q" type="Association_TargetMultiplicityLabel">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fy0qElUZEemj4epezO_a1Q" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fy0qE1UZEemj4epezO_a1Q" key="visible" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xMW8YFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_lrqga1UYEemj4epezO_a1Q" x="-33" y="-25"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_lroEIVUYEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lroEIlUYEemj4epezO_a1Q" points="[100, 81, -643984, -643984]$[100, 179, -643984, -643984]$[100, 260, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xM-AYFUYEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xM-AYVUYEemj4epezO_a1Q" id="(0.19933554817275748,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_vbZ8IFUYEemj4epezO_a1Q" type="Association_Edge" source="_JtYzoFFvEeWFqsbjn0GMrw" target="_JuY5MFFvEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_vbZ8I1UYEemj4epezO_a1Q" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ynUegFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vbZ8JFUYEemj4epezO_a1Q" x="121" y="58"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vbajMFUYEemj4epezO_a1Q" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ynonkFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vbajMVUYEemj4epezO_a1Q" x="1" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vbajMlUYEemj4epezO_a1Q" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yn-l0FUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vbajM1UYEemj4epezO_a1Q" x="-19" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vbajNFUYEemj4epezO_a1Q" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yoTV8FUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vbajNVUYEemj4epezO_a1Q" x="46" y="90"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vbajNlUYEemj4epezO_a1Q" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yqE3kFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vbajN1UYEemj4epezO_a1Q" x="26" y="56"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vbajOFUYEemj4epezO_a1Q" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yqZnsFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vbajOVUYEemj4epezO_a1Q" x="-20" y="-18"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_vbZ8IVUYEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vbZ8IlUYEemj4epezO_a1Q" points="[1500, 301, -643984, -643984]$[1500, 460, -643984, -643984]$[1261, 460, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yumLMFUYEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yumLMVUYEemj4epezO_a1Q" id="(1.0,0.4)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_vbdmgFUYEemj4epezO_a1Q" type="Association_Edge" source="_JtYzoFFvEeWFqsbjn0GMrw" target="_JzZVAFFvEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_vbdmg1UYEemj4epezO_a1Q" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yqtJsFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vbdmhFUYEemj4epezO_a1Q" x="-1339" y="398"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vbdmhVUYEemj4epezO_a1Q" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yrCg4FUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vbdmhlUYEemj4epezO_a1Q" x="1" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vbdmh1UYEemj4epezO_a1Q" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yrZGMFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vbdmiFUYEemj4epezO_a1Q" x="-101" y="19"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vbdmiVUYEemj4epezO_a1Q" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ytQucFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vbdmilUYEemj4epezO_a1Q" x="46" y="-82"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vbdmi1UYEemj4epezO_a1Q" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ytmssFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vbdmjFUYEemj4epezO_a1Q" x="26" y="36"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vbdmjVUYEemj4epezO_a1Q" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yt_uQFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vbdmjlUYEemj4epezO_a1Q" x="-103" y="-18"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_vbdmgVUYEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vbdmglUYEemj4epezO_a1Q" points="[1420, 301, -643984, -643984]$[1420, 460, -643984, -643984]$[1720, 460, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yumyQFUYEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yumyQVUYEemj4epezO_a1Q" id="(0.0,0.4)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mPNncFUaEemj4epezO_a1Q" type="Generalization_Edge" source="_JzZVAFFvEeWFqsbjn0GMrw" target="_mOcycFUaEemj4epezO_a1Q">
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPNnc1UaEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_n7RgoFUaEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPNndFUaEemj4epezO_a1Q" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_mPNncVUaEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mPNnclUaEemj4epezO_a1Q" points="[1740, 420, -643984, -643984]$[1740, 220, -643984, -643984]$[1460, 220, -643984, -643984]$[1460, 120, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n8FY8FUaEemj4epezO_a1Q" id="(0.12422360248447205,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n8GAAFUaEemj4epezO_a1Q" id="(0.48,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mqRy0FUaEemj4epezO_a1Q" type="Generalization_Edge" source="_JuY5MFFvEeWFqsbjn0GMrw" target="_mOcycFUaEemj4epezO_a1Q">
+      <children xmi:type="notation:DecorationNode" xmi:id="_mqSZ4FUaEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_n7tlgFUaEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mqSZ4VUaEemj4epezO_a1Q" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_mqRy0VUaEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mqRy0lUaEemj4epezO_a1Q" points="[1240, 420, -643984, -643984]$[1240, 220, -643984, -643984]$[1540, 220, -643984, -643984]$[1540, 120, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n8GAAVUaEemj4epezO_a1Q" id="(0.8839779005524862,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n8GAAlUaEemj4epezO_a1Q" id="(0.48,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3JvO4FUaEemj4epezO_a1Q" type="Extension_Edge" source="_0DXT0FUaEemj4epezO_a1Q" target="_JyLNAFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_3JvO4VUaEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3JvO4lUaEemj4epezO_a1Q" points="[1020, 960, -643984, -643984]$[1020, 820, -643984, -643984]$[1100, 820, -643984, -643984]$[1100, 621, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AwZnIFUbEemj4epezO_a1Q" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AwZnIVUbEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8-7ccFUhEemj4epezO_a1Q" type="Generalization_Edge" source="_64WxgFUhEemj4epezO_a1Q" target="_8-KncFUhEemj4epezO_a1Q">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8-7cc1UhEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EfgR8FUiEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8-8DgFUhEemj4epezO_a1Q" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8-7ccVUhEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8-7cclUhEemj4epezO_a1Q" points="[180, 1100, -643984, -643984]$[180, 960, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EgGu4FUiEemj4epezO_a1Q" id="(0.4979253112033195,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EgGu4VUiEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_-VRkUFUhEemj4epezO_a1Q" type="Generalization_Edge" source="_7W2EUFUhEemj4epezO_a1Q" target="_64WxgFUhEemj4epezO_a1Q">
+      <children xmi:type="notation:DecorationNode" xmi:id="_-VSLYFUhEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DUJSEFUiEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-VSLYVUhEemj4epezO_a1Q" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_-VRkUVUhEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#_x-efQEWVEemFYp9WpPPBHQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-VRkUlUhEemj4epezO_a1Q" points="[180, 1320, -643984, -643984]$[180, 1221, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUlW8FUiEemj4epezO_a1Q" id="(0.4928131416837782,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUlW8VUiEemj4epezO_a1Q" id="(0.4979253112033195,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_Mffu4FFvEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="Requirements" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_NBfosFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_NBgPwFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_NBgPwVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_NBgPwlFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_NBgPw1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_NBgPxFFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NBgPxVFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_NBgPxlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_-3aLkFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedOperation.getRefines_Requirement_NamedElement"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_-3aLkVUiEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_NBgPx1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_NBgPyFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_NBgPyVFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NBgPylFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NBfosVFvEeWFqsbjn0GMrw" x="-500" y="-20" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NBqAwFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_NBqAwlFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NBqAwVFvEeWFqsbjn0GMrw" x="-1220" y="-380" width="1161" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NCYZgFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_NCZAkFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_NCZAkVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_NCZAklFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_NCZAk1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_NCZAlFFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NCZAlVFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_NCZAllFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_NCZAl1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_NCZAmFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_NCZAmVFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NCZAmlFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NCYZgVFvEeWFqsbjn0GMrw" x="400" y="180" width="421"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NCnqEFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_NCnqElFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NCnqEVFvEeWFqsbjn0GMrw" x="900" y="-380" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NDGyQFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_NDGyQlFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_NDGyQ1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_NDGyRFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_NDGyRVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_NDGyRlFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NDGyR1FvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_NDGySFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_NDGySVFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_NDGySlFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_NDGyS1FvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NDGyTFFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NDGyQVFvEeWFqsbjn0GMrw" x="20" y="-180" width="321"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NDSYcFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_NDSYclFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NDSYcVFvEeWFqsbjn0GMrw" x="20" y="-380" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NEG30FFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_NEHe4FFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NEG30VFvEeWFqsbjn0GMrw" x="220" y="-380" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NEw_IFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_NExmMFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_NExmMVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_NExmMlFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_NExmM1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_NExmNFFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NExmNVFvEeWFqsbjn0GMrw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_NExmNlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_0nO8QFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedOperation.getTracedFrom_Requirement_NamedElement"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_0nO8QVUiEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_NExmN1FvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_NExmOFFvEeWFqsbjn0GMrw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_NExmOVFvEeWFqsbjn0GMrw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NExmOlFvEeWFqsbjn0GMrw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NEw_IVFvEeWFqsbjn0GMrw" x="-900" y="-20" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_tN1ZkEV7EemFYp9WpPPBHQ" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_tN1ZkkV7EemFYp9WpPPBHQ" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_tN1Zk0V7EemFYp9WpPPBHQ" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_v3vuUFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#_0HFJUEV7EemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_v3vuUVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_v38ioFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derived"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_v38ioVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_v4J-AFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derivedFrom"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_v4J-AVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_v4k0wFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.id"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_v4k0wVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_v4y3MFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.master"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_v4y3MVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_v4_rgFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.refinedBy"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_v4_rgVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_v5NG4FUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.satisfiedBy"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_v5NG4VUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_v5Z7MFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.text"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_v5Z7MVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_v5oksFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.tracedTo"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_v5oksVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_v531QFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.verifiedBy"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_v531QVUiEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_tN1ZlEV7EemFYp9WpPPBHQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_tN1ZlUV7EemFYp9WpPPBHQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_tN1ZlkV7EemFYp9WpPPBHQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tN1Zl0V7EemFYp9WpPPBHQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_tN1ZmEV7EemFYp9WpPPBHQ" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_uvjXMFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_sIByoEV8EemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_uvjXMVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_uvtvQFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_Lh2VMEV9EemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_uvtvQVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_uv4uYFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_NjuGUEV9EemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_uv4uYVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_uwDtgFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_S99hcEV9EemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_uwDtgVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_uwNegFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_ZzxisEV9EemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_uwNegVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_uwcvEFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_d5GZUEV9EemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_uwcvEVUiEemj4epezO_a1Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_uwnuMFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#_gJzQoEV9EemFYp9WpPPBHQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_uwnuMVUiEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_tN1ZmUV7EemFYp9WpPPBHQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_tN1ZmkV7EemFYp9WpPPBHQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_tN1Zm0V7EemFYp9WpPPBHQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tN1ZnEV7EemFYp9WpPPBHQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#_tNfbUEV7EemFYp9WpPPBHQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tN1ZkUV7EemFYp9WpPPBHQ" x="400" y="-260" width="421" height="321"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_zjqTMEV7EemFYp9WpPPBHQ" type="Class_MetaclassShape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zjrhUEV7EemFYp9WpPPBHQ" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zjrhUUV7EemFYp9WpPPBHQ" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zjrhUkV7EemFYp9WpPPBHQ" key="StereotypeList" value="StandardProfile::Metaclass"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zjrhU0V7EemFYp9WpPPBHQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zjrhVEV7EemFYp9WpPPBHQ" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zjsIYEV7EemFYp9WpPPBHQ" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_zjq6QEV7EemFYp9WpPPBHQ" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zjq6QUV7EemFYp9WpPPBHQ" x="500" y="-380" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ekcagFUiEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_ekcagVUiEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ekcag1UiEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ekcaglUiEemj4epezO_a1Q" x="230" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ekk9YFUiEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_ekk9YVUiEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ekk9Y1UiEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ekk9YlUiEemj4epezO_a1Q" x="390" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ekrrE1UiEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_ekrrFFUiEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eksSIFUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ekrrFVUiEemj4epezO_a1Q" x="550" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_eky_01UiEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_eky_1FUiEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ekzm4FUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eky_1VUiEemj4epezO_a1Q" x="710" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_elBpUFUiEemj4epezO_a1Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_elBpUVUiEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_elBpU1UiEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elBpUlUiEemj4epezO_a1Q" x="1040" y="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w6iBAFUiEemj4epezO_a1Q" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w6iBAlUiEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w6iBA1UiEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w6iBBFUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w6iBBVUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w6iBBlUiEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w6iBB1UiEemj4epezO_a1Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w6iBCFUiEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_y9_GgFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify_ownedOperation.getVerifies_Requirement_NamedElement"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y9_GgVUiEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w6iBCVUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w6iBClUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w6iBC1UiEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w6iBDFUiEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w6iBAVUiEemj4epezO_a1Q" x="-1220" y="280" width="381"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_z-x1IFUiEemj4epezO_a1Q" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_z-x1IlUiEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_z-x1I1UiEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_z-x1JFUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_z-x1JVUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_z-x1JlUiEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-x1J1UiEemj4epezO_a1Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_z-x1KFUiEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_z-x1KVUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_z-x1KlUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_z-ycMFUiEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-ycMVUiEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-x1IVUiEemj4epezO_a1Q" x="-760" y="-280" width="241" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_z_kfUFUiEemj4epezO_a1Q" type="Stereotype_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VDxqoFUkEemj4epezO_a1Q" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VDxqoVUkEemj4epezO_a1Q" key="QualifiedNameDepth" value="0"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_z_kfUlUiEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_z_kfU1UiEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_z_kfVFUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_z_kfVVUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_z_kfVlUiEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z_kfV1UiEemj4epezO_a1Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_z_kfWFUiEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_z_kfWVUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_z_kfWlUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_z_kfW1UiEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z_kfXFUiEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://UML_PROFILES/Standard.profile.uml#Trace"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z_kfUVUiEemj4epezO_a1Q" x="-1020" y="-280" width="121" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_5NWLwFUiEemj4epezO_a1Q" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_5NWLwlUiEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5NWLw1UiEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5NWLxFUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5NWLxVUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5NWLxlUiEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5NWLx1UiEemj4epezO_a1Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5NWLyFUiEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_50j8wFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy_ownedOperation.getSatisfies_Requirement_NamedElement"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_50j8wVUiEemj4epezO_a1Q"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5NWLyVUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5NWLylUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5NWLy1UiEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5NWLzFUiEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5NWLwVUiEemj4epezO_a1Q" x="-420" y="280" width="361" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8oXhIFUiEemj4epezO_a1Q" type="Stereotype_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BrAfIFUkEemj4epezO_a1Q" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BrAfIVUkEemj4epezO_a1Q" key="QualifiedNameDepth" value="0"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8oXhIlUiEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8oXhI1UiEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8oXhJFUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8oXhJVUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8oXhJlUiEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8oXhJ1UiEemj4epezO_a1Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8oXhKFUiEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8oXhKVUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8oXhKlUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8oXhK1UiEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8oXhLFUiEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pathmap://UML_PROFILES/Standard.profile.uml#Refine"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8oXhIVUiEemj4epezO_a1Q" x="-380" y="-280" width="121" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__dQqoFUiEemj4epezO_a1Q" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__dQqolUiEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__dQqo1UiEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__dQqpFUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__dQqpVUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__dQqplUiEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__dQqp1UiEemj4epezO_a1Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__dQqqFUiEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__dQqqVUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__dQqqlUiEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__dQqq1UiEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__dQqrFUiEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_DeriveReqt"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__dQqoVUiEemj4epezO_a1Q" x="-780" y="280" width="121" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ADingFUjEemj4epezO_a1Q" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ADinglUjEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ADing1UjEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ADinhFUjEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ADinhVUjEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ADinhlUjEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ADinh1UjEemj4epezO_a1Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ADiniFUjEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ADiniVUjEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ADinilUjEemj4epezO_a1Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ADini1UjEemj4epezO_a1Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ADinjFUjEemj4epezO_a1Q"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Copy"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ADingVUjEemj4epezO_a1Q" x="-600" y="280" width="121" height="101"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_Mffu4VFvEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_Mffu4lFvEeWFqsbjn0GMrw"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_9qmjcEV6EemFYp9WpPPBHQ" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_mlQPQFUiEemj4epezO_a1Q" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+    <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+    <edges xmi:type="notation:Connector" xmi:id="_NCP2oFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_NBfosFFvEeWFqsbjn0GMrw" target="_NBqAwFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NCP2oVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NCP2olFvEeWFqsbjn0GMrw" points="[-440, -20, -643984, -643984]$[-440, -319, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Nz7yQFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Nz8ZUFFvEeWFqsbjn0GMrw" id="(0.6718346253229974,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NDAEkFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_NCYZgFFvEeWFqsbjn0GMrw" target="_NCnqEFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NDAEkVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NDAEklFvEeWFqsbjn0GMrw" points="[821, 220, -643984, -643984]$[960, 220, -643984, -643984]$[960, -319, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N0S-oFFvEeWFqsbjn0GMrw" id="(1.0,0.4)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N0S-oVFvEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NDvrcFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_NDGyQFFvEeWFqsbjn0GMrw" target="_NDSYcFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NDvrcVFvEeWFqsbjn0GMrw"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NDvrclFvEeWFqsbjn0GMrw" points="[180, -180, -643984, -643984]$[180, -240, -643984, -643984]$[80, -240, -643984, -643984]$[80, -319, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N0i2QFFvEeWFqsbjn0GMrw" id="(0.4984423676012461,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N0jdUFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_0HVoAEV7EemFYp9WpPPBHQ" type="Extension_Edge" source="_tN1ZkEV7EemFYp9WpPPBHQ" target="_zjqTMEV7EemFYp9WpPPBHQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_0HVoAUV7EemFYp9WpPPBHQ"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#_0HCGAEV7EemFYp9WpPPBHQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0HVoAkV7EemFYp9WpPPBHQ" points="[560, -260, -643984, -643984]$[560, -319, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0HuCgEV7EemFYp9WpPPBHQ" id="(0.38004750593824227,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0HuCgUV7EemFYp9WpPPBHQ" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ekcahFUiEemj4epezO_a1Q" type="StereotypeCommentLink" source="_NBqAwFFvEeWFqsbjn0GMrw" target="_ekcagFUiEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ekcahVUiEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ekdBklUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ekcahlUiEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ekdBkFUiEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ekdBkVUiEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ekk9ZFUiEemj4epezO_a1Q" type="StereotypeCommentLink" source="_NCnqEFFvEeWFqsbjn0GMrw" target="_ekk9YFUiEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ekk9ZVUiEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eklkclUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ekk9ZlUiEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eklkcFUiEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eklkcVUiEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_eksSIVUiEemj4epezO_a1Q" type="StereotypeCommentLink" source="_NDSYcFFvEeWFqsbjn0GMrw" target="_ekrrE1UiEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_eksSIlUiEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eksSJlUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eksSI1UiEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eksSJFUiEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eksSJVUiEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ekzm4VUiEemj4epezO_a1Q" type="StereotypeCommentLink" source="_NEG30FFvEeWFqsbjn0GMrw" target="_eky_01UiEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ekzm4lUiEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ekzm5lUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ekzm41UiEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ekzm5FUiEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ekzm5VUiEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_elBpVFUiEemj4epezO_a1Q" type="StereotypeCommentLink" source="_zjqTMEV7EemFYp9WpPPBHQ" target="_elBpUFUiEemj4epezO_a1Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_elBpVVUiEemj4epezO_a1Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_elBpWVUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_elBpVlUiEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_elBpV1UiEemj4epezO_a1Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_elBpWFUiEemj4epezO_a1Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w6_UAFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_w6iBAFUiEemj4epezO_a1Q" target="_NEw_IFFvEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w6_UA1UiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BOy5sFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w6_7EFUiEemj4epezO_a1Q" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w6_UAVUiEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w6_UAlUiEemj4epezO_a1Q" points="[-1040, 280, -643984, -643984]$[-1040, 200, -643984, -643984]$[-840, 200, -643984, -643984]$[-840, 83, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoylUjEemj4epezO_a1Q" id="(0.47244094488188976,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoy1UjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_z_SLcFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_NEw_IFFvEeWFqsbjn0GMrw" target="_z-x1IFUiEemj4epezO_a1Q">
+      <children xmi:type="notation:DecorationNode" xmi:id="_z_SygFUiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BOR8UFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_z_SygVUiEemj4epezO_a1Q" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_z_SLcVUiEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_z_SLclUiEemj4epezO_a1Q" points="[-779, 20, -643984, -643984]$[-640, 20, -643984, -643984]$[-640, -159, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBowlUjEemj4epezO_a1Q" id="(1.0,0.3883495145631068)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBow1UjEemj4epezO_a1Q" id="(0.4979253112033195,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_0AUtQFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_NEw_IFFvEeWFqsbjn0GMrw" target="_z_kfUFUiEemj4epezO_a1Q">
+      <children xmi:type="notation:DecorationNode" xmi:id="_0AVUUFUiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BOjCEFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_0AVUUVUiEemj4epezO_a1Q" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_0AUtQVUiEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace._generalization.UML.stereotype_packagedElement_Trace"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0AUtQlUiEemj4epezO_a1Q" points="[-900, 20, -643984, -643984]$[-940, 20, -643984, -643984]$[-940, -159, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBowFUjEemj4epezO_a1Q" id="(0.0,0.3883495145631068)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBowVUjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3bt2EFUiEemj4epezO_a1Q" type="Extension_Edge" source="_NDGyQFFvEeWFqsbjn0GMrw" target="_NEG30FFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_3bt2EVUiEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3bt2ElUiEemj4epezO_a1Q" points="[180, -180, -643984, -643984]$[180, -240, -643984, -643984]$[280, -240, -643984, -643984]$[280, -319, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9bDIFUjEemj4epezO_a1Q" id="(0.4984423676012461,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9bqMFUjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_5N5lYFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_5NWLwFUiEemj4epezO_a1Q" target="_NEw_IFFvEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_5N5lY1UiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BPGbsFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_5N5lZFUiEemj4epezO_a1Q" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_5N5lYVUiEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5N5lYlUiEemj4epezO_a1Q" points="[-240, 280, -643984, -643984]$[-240, 200, -643984, -643984]$[-840, 200, -643984, -643984]$[-840, 83, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoxFUjEemj4epezO_a1Q" id="(0.4986149584487535,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoxVUjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_6pINQFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_NCYZgFFvEeWFqsbjn0GMrw" target="_tN1ZkEV7EemFYp9WpPPBHQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_6pINQ1UiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LAZWoFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_6pINRFUiEemj4epezO_a1Q" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_6pINQVUiEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#_koBGEEb2EemrpM9dj3x64Q"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6pINQlUiEemj4epezO_a1Q" points="[620, 180, -643984, -643984]$[620, 61, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LA2poFUjEemj4epezO_a1Q" id="(0.5225653206650831,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LA2poVUjEemj4epezO_a1Q" id="(0.5225653206650831,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8oCxAFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_NBfosFFvEeWFqsbjn0GMrw" target="_z-x1IFUiEemj4epezO_a1Q">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8oCxA1UiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_B-_nkFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8oCxBFUiEemj4epezO_a1Q" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8oCxAVUiEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8oCxAlUiEemj4epezO_a1Q" points="[-500, 20, -643984, -643984]$[-640, 20, -643984, -643984]$[-640, -159, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B_XbAFUjEemj4epezO_a1Q" id="(0.0,0.3883495145631068)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B_XbAVUjEemj4epezO_a1Q" id="(0.4979253112033195,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8pEEsFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_NBfosFFvEeWFqsbjn0GMrw" target="_8oXhIFUiEemj4epezO_a1Q">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8pEEs1UiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XL5DIFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8pEEtFUiEemj4epezO_a1Q" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8pEEsVUiEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine._generalization.UML.stereotype_packagedElement_Refine"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8pEEslUiEemj4epezO_a1Q" points="[-379, 20, -643984, -643984]$[-340, 20, -643984, -643984]$[-340, -159, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XMRdoFUjEemj4epezO_a1Q" id="(1.0,0.3883495145631068)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XMSEsFUjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__dy2IFUiEemj4epezO_a1Q" type="Generalization_Edge" source="__dQqoFUiEemj4epezO_a1Q" target="_NEw_IFFvEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__dy2I1UiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BPW6YFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__dy2JFUiEemj4epezO_a1Q" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__dy2IVUiEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_DeriveReqt._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__dy2IlUiEemj4epezO_a1Q" points="[-720, 280, -643984, -643984]$[-720, 200, -643984, -643984]$[-980, 200, -643984, -643984]$[-980, 83, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoxlUjEemj4epezO_a1Q" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBox1UjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AEHPQFUjEemj4epezO_a1Q" type="Generalization_Edge" source="_ADingFUjEemj4epezO_a1Q" target="_NEw_IFFvEeWFqsbjn0GMrw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AEHPQ1UjEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BPpOQFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AEHPRFUjEemj4epezO_a1Q" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AEHPQVUjEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Copy._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AEHPQlUjEemj4epezO_a1Q" points="[-540, 280, -643984, -643984]$[-540, 200, -643984, -643984]$[-980, 200, -643984, -643984]$[-980, 83, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoyFUjEemj4epezO_a1Q" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoyVUjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_5u0rsFUjEemj4epezO_a1Q" type="Extension_Edge" source="_NEw_IFFvEeWFqsbjn0GMrw" target="_NBqAwFFvEeWFqsbjn0GMrw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_5u0rsVUjEemj4epezO_a1Q"/>
+      <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5u0rslUjEemj4epezO_a1Q" points="[-840, -20, -643984, -643984]$[-840, -319, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_64xWUFUjEemj4epezO_a1Q" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_64xWUVUjEemj4epezO_a1Q" id="(0.3273040482342808,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <css:StyleSheetReference xmi:id="_3tZCAFCaEemsqfUA37D_yw" path="/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.css"/>
+</xmi:XMI>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.uml b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.uml
new file mode 100644
index 0000000..0a9b46d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.uml
@@ -0,0 +1,1801 @@
+<?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="SysML" name="SysML" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="SysML._packageImport._0">
+      <importedPackage xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_K-OjsEQdEemIr6iaiFI5bA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_Activities" name="Activities" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities">
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior" name="E_extension_ControlOperator_base_Behavior" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator_ownedAttribute.base_Behavior SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior_ownedEnd.extension_ControlOperator" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior_ownedEnd.extension_ControlOperator">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior_ownedEnd.extension_ControlOperator" name="extension_ControlOperator" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior_ownedEnd.extension_ControlOperator_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation" name="E_extension_ControlOperator_base_Operation" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator_ownedAttribute.base_Operation SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation_ownedEnd.extension_ControlOperator" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation_ownedEnd.extension_ControlOperator">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation_ownedEnd.extension_ControlOperator" name="extension_ControlOperator" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation_ownedEnd.extension_ControlOperator_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode" name="E_extension_NoBuffer_base_ObjectNode" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer_ownedAttribute.base_ObjectNode SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode_ownedEnd.extension_NoBuffer" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode_ownedEnd.extension_NoBuffer">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode_ownedEnd.extension_NoBuffer" name="extension_NoBuffer" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode_ownedEnd.extension_NoBuffer_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter" name="E_extension_Optional_base_Parameter" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional_ownedAttribute.base_Parameter SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter_ownedEnd.extension_Optional" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter_ownedEnd.extension_Optional">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter_ownedEnd.extension_Optional" name="extension_Optional" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter_ownedEnd.extension_Optional_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode" name="E_extension_Overwrite_base_ObjectNode" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite_ownedAttribute.base_ObjectNode SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode_ownedEnd.extension_Overwrite" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode_ownedEnd.extension_Overwrite">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode_ownedEnd.extension_Overwrite" name="extension_Overwrite" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode_ownedEnd.extension_Overwrite_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge" name="E_extension_Probability_base_ActivityEdge" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.base_ActivityEdge SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge_ownedEnd.extension_Probability" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge_ownedEnd.extension_Probability">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge_ownedEnd.extension_Probability" name="extension_Probability" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge_ownedEnd.extension_Probability_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet" name="E_extension_Probability_base_ParameterSet" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.base_ParameterSet SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet_ownedEnd.extension_Probability" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet_ownedEnd.extension_Probability">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet_ownedEnd.extension_Probability" name="extension_Probability" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet_ownedEnd.extension_Probability_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge" name="E_extension_Rate_base_ActivityEdge" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_ActivityEdge SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge_ownedEnd.extension_Rate" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge_ownedEnd.extension_Rate">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge_ownedEnd.extension_Rate" name="extension_Rate" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge_ownedEnd.extension_Rate_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode" name="E_extension_Rate_base_ObjectNode" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_ObjectNode SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode_ownedEnd.extension_Rate" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode_ownedEnd.extension_Rate">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode_ownedEnd.extension_Rate" name="extension_Rate" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode_ownedEnd.extension_Rate_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter" name="E_extension_Rate_base_Parameter" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_Parameter SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter_ownedEnd.extension_Rate" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter_ownedEnd.extension_Rate">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter_ownedEnd.extension_Rate" name="extension_Rate" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter_ownedEnd.extension_Rate_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Continuous" name="Continuous">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Continuous._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_Continuous">
+          <body>
+            Continuous rate is a special case of rate of flow (see Rate) where the increment of time between items approaches zero. It is intended to represent continuous flows that may correspond to water flowing through a pipe, a time continuous signal, or continuous energy flow. It is independent from UML streaming. A streaming parameter may or may not apply to continuous flow, and a continuous flow may or may not apply to streaming parameters.
+          </body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Continuous._generalization.SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" general="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" isSubstitutable="false"/>
+        <icon xmi:type="uml:Image" xmi:id="_6IwrVkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Continuous.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwrV0yQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwrWEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator" name="ControlOperator">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator">
+          <body>
+            A control operator is a behavior that is intended to represent an arbitrarily complex logical operator that can be used to enable and disable other actions. When this stereotype is applied to behaviors, the behavior takes control values as inputs or provides them as outputs, that is, it treats control as data. When this stereotype is not applied, the behavior may not have a parameter typed by ControlValue. This stereotype also applies to operations with the same semantics.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator_ownedAttribute.base_Behavior" name="base_Behavior" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator_ownedAttribute.base_Behavior_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator_ownedAttribute.base_Operation" name="base_Operation" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator_ownedAttribute.base_Operation_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6Iu2JkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Iu2J0yQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Iu2KEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Discrete" name="Discrete">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Discrete._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_Discrete">
+          <body>Discrete rate is a special case of rate of flow (see Rate) where the increment of time between items is non-zero.</body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Discrete._generalization.SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" general="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" isSubstitutable="false"/>
+        <icon xmi:type="uml:Image" xmi:id="_6IygiUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Discrete.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzHkEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzHkUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer" name="NoBuffer">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer">
+          <body>
+            When this stereotype is applied to object nodes, tokens arriving at the node are discarded if they are refused by outgoing edges, or refused by actions for object nodes that are input pins. This is typically used with fast or continuously flowing data values, to prevent buffer overrun, or to model transient values, such as electrical signals. For object nodes that are the target of continuous flows, «nobuffer» and «overwrite» have the same effect. The stereotype does not override UML token offering semantics; it just indicates what happens to the token when it is accepted. When the stereotype is not applied, the semantics are as in UML, specifically, tokens arriving at an object node that are refused by outgoing edges, or action for input pins, are held until they can leave the object node.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer_ownedAttribute.base_ObjectNode" name="base_ObjectNode" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer_ownedAttribute.base_ObjectNode_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IzHm0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NoBuffer.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzHnEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzuoEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional" name="Optional">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional">
+          <body>
+            When the «optional» stereotype is applied to parameters, the lower multiplicity must be equal to zero. This means the parameter is not required to have a value for the activity or any behavior to begin or end execution. Otherwise, the lower multiplicity must be greater than zero, which is called “required.”
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional_ownedAttribute.base_Parameter" name="base_Parameter" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional_ownedAttribute.base_Parameter_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IwEQEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Optional.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwEQUyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwEQkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite" name="Overwrite">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite">
+          <body>
+            When the «overwrite» stereotype is applied to object nodes, a token arriving at a full object node replaces the ones already there (a full object node has as many tokens as allowed by its upper bound). This is typically used on an input pin with an upper bound of 1 to ensure that stale data is overridden at an input pin. For upper bounds greater than one, the token replaced is the one that would be the last to be selected according to the ordering kind for the node. For FIFO ordering, this is the most recently added token, for LIFO it is the least recently added token. A null token removes all the tokens already there. The number of tokens replaced is equal to the weight of the incoming edge, which defaults to 1. For object nodes that are the target of continuous flows, «overwrite» and «nobuffer» have the same effect. The stereotype does not override UML token offering semantics, just indicates what happens to the token when it is accepted. When the stereotype is not applied, the semantics is as in UML, specifically, tokens arriving at object nodes do not replace ones that are already there.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite_ownedAttribute.base_ObjectNode" name="base_ObjectNode" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite_ownedAttribute.base_ObjectNode_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6I0VtEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Overwrite.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I0VtUyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I0VtkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability" name="Probability">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability">
+          <body>
+            When the «probability» stereotype is applied to edges coming out of decision nodes and object nodes, it provides an expression for the probability that the edge will be traversed. These must be between zero and one inclusive, and add up to one for edges with same source at the time the probabilities are used.
+When the «probability» stereotype is applied to output parameter sets, it gives the probability the parameter set will be given values at runtime. These must be between zero and one inclusive, and add up to one for output parameter sets of the same behavior at the time the probabilities are used.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.base_ActivityEdge" name="base_ActivityEdge" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.base_ActivityEdge_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.base_ParameterSet" name="base_ParameterSet" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ParameterSet"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.base_ParameterSet_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.probability" name="probability">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ValueSpecification"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6I0VsUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Probability.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I0VskyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I0Vs0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" name="Rate">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate">
+          <body>
+            When the «rate» stereotype is applied to an activity edge, it specifies the expected value of the number of objects and values that traverse the edge per time interval, that is, the expected value rate at which they leave the source node and arrive at the target node. It does not refer to the rate at which a value changes over time. When the stereotype is applied to a parameter, the parameter must be streaming, and the stereotype gives the number of objects or values that flow in or out of the parameter per time interval while the behavior or operation is executing. Streaming is a characteristic of UML behavior parameters that supports the input and output of items while a behavior is executing, rather than only when the behavior starts and stops. The flow may be continuous or discrete. The «rate» stereotype has a rate property of type InstanceSpecification. The values of this property must be instances of classifiers stereotyped by «valueType» or «distributionDefinition». In particular, the denominator for units used in the rate property must be time units.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_ActivityEdge" name="base_ActivityEdge" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_ActivityEdge_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_ObjectNode" name="base_ObjectNode" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_ObjectNode_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_Parameter" name="base_Parameter" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_Parameter_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.rate" name="rate">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IzHlUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rate.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzHlkyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzHl0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_Allocations" name="Allocations" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations">
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition" name="E_extension_AllocateActivityPartition_base_ActivityPartition" memberEnd="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition_ownedAttribute.base_ActivityPartition SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition_ownedEnd.extension_AllocateActivityPartition" navigableOwnedEnd="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition_ownedEnd.extension_AllocateActivityPartition">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition_ownedEnd.extension_AllocateActivityPartition" name="extension_AllocateActivityPartition" type="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition" association="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition_ownedEnd.extension_AllocateActivityPartition_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction" name="E_extension_Allocate_base_Abstraction" memberEnd="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedAttribute.base_Abstraction SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction_ownedEnd.extension_Allocate" navigableOwnedEnd="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction_ownedEnd.extension_Allocate">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction._generalization.SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship" general="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship"/>
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction_ownedEnd.extension_Allocate" name="extension_Allocate" type="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate" redefinedProperty="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath" association="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction_ownedEnd.extension_Allocate_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate" name="Allocate">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate._ownedComment.0" annotatedElement="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate">
+          <body>
+            Allocate is a dependency based on UML::abstraction. It is a mechanism for associating elements of different types, or in different hierarchies, at an abstract level. Allocate is used for assessing user model consistency and directing future design activity. It is expected that an «allocate» relationship between model elements is a precursor to a more concrete relationship between the elements, their properties, operations, attributes, or sub-classes.
+          </body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedAttribute.base_Abstraction" name="base_Abstraction" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.base_DirectedRelationship" association="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedAttribute.base_Abstraction_lowerValue"/>
+        </ownedAttribute>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedFrom_NamedElement_NamedElement" name="getAllocatedFrom" isStatic="true" isQuery="true">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedFrom_NamedElement_NamedElement.parameter_ownedParameter_ref" name="ref">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedFrom_NamedElement_NamedElement.parameter_ownedParameter_result" name="result">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedFrom_NamedElement_NamedElement.parameter_ownedParameter_result_lowerValue"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedFrom_NamedElement_NamedElement.parameter_ownedParameter_result_upperValue" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedTo_NamedElement_NamedElement" name="getAllocatedTo" isStatic="true" isQuery="true">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedTo_NamedElement_NamedElement.parameter_ownedParameter_ref" name="ref">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedTo_NamedElement_NamedElement.parameter_ownedParameter_result" name="result">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedTo_NamedElement_NamedElement.parameter_ownedParameter_result_lowerValue"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedTo_NamedElement_NamedElement.parameter_ownedParameter_result_upperValue" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_6IuPGEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocate.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IuPGUyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IuPGkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition" name="AllocateActivityPartition">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition._ownedComment.0" annotatedElement="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition">
+          <body>AllocateActivityPartition is used to depict an «allocate» relationship on an Activity diagram. The AllocateActivityPartition is a standard UML2::ActivityPartition, with modified constraints as stated in the paragraph below.</body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition_ownedAttribute.base_ActivityPartition" name="base_ActivityPartition" association="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityPartition"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition_ownedAttribute.base_ActivityPartition_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6ItoAEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AllocateActivityPartition.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6ItoAUyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6ItoAkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_Blocks" name="Blocks" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks">
+      <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal" name="A_adjunctProperty_principal" memberEnd="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal_ownedEnd.adjunctProperty SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.principal">
+        <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal_ownedEnd.adjunctProperty" name="adjunctProperty" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal_ownedEnd.adjunctProperty_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal_ownedEnd.adjunctProperty_upperValue" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext" name="A_directedRelationshipPropertyPath_sourceContext" memberEnd="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext_ownedEnd.directedRelationshipPropertyPath SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourceContext">
+        <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext_ownedEnd.directedRelationshipPropertyPath" name="directedRelationshipPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext_ownedEnd.directedRelationshipPropertyPath_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext_ownedEnd.directedRelationshipPropertyPath_upperValue" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath" name="A_directedRelationshipPropertyPath_sourcePropertyPath" memberEnd="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath_ownedEnd.directedRelationshipPropertyPath SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourcePropertyPath">
+        <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath_ownedEnd.directedRelationshipPropertyPath" name="directedRelationshipPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath_ownedEnd.directedRelationshipPropertyPath_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath_ownedEnd.directedRelationshipPropertyPath_upperValue" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext" name="A_directedRelationshipPropertyPath_targetContext" memberEnd="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext_ownedEnd.directedRelationshipPropertyPath SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetContext">
+        <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext_ownedEnd.directedRelationshipPropertyPath" name="directedRelationshipPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext_ownedEnd.directedRelationshipPropertyPath_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext_ownedEnd.directedRelationshipPropertyPath_upperValue" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath" name="A_directedRelationshipPropertyPath_targetPropertyPath" memberEnd="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath_ownedEnd.directedRelationshipPropertyPath SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetPropertyPath">
+        <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath_ownedEnd.directedRelationshipPropertyPath" name="directedRelationshipPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath_ownedEnd.directedRelationshipPropertyPath_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath_ownedEnd.directedRelationshipPropertyPath_upperValue" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath" name="A_elementPropertyPath_propertyPath" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath_ownedEnd.elementPropertyPath">
+        <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath_ownedEnd.elementPropertyPath" name="elementPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath_ownedEnd.elementPropertyPath_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath_ownedEnd.elementPropertyPath_upperValue" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind" name="A_valueType_quantityKind" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.quantityKind SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind_ownedEnd.valueType">
+        <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind_ownedEnd.valueType" name="valueType" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind_ownedEnd.valueType_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind_ownedEnd.valueType_upperValue" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit" name="A_valueType_unit" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.unit SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit_ownedEnd.valueType">
+        <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit_ownedEnd.valueType" name="valueType" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit_ownedEnd.valueType_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit_ownedEnd.valueType_upperValue" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property" name="E_extension_AdjunctProperty_base_Property" memberEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property_ownedEnd.extension_AdjunctProperty SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.base_Property" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property_ownedEnd.extension_AdjunctProperty">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property_ownedEnd.extension_AdjunctProperty" name="extension_AdjunctProperty" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector" name="E_extension_BindingConnector_base_Connector" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector_ownedAttribute.base_Connector SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector_ownedEnd.extension_BindingConnector" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector_ownedEnd.extension_BindingConnector">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector_ownedEnd.extension_BindingConnector" name="extension_BindingConnector" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector_ownedEnd.extension_BindingConnector_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class" name="E_extension_Block_base_Class" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.base_Class SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class_ownedEnd.extension_Block" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class_ownedEnd.extension_Block">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class_ownedEnd.extension_Block" name="extension_Block" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class_ownedEnd.extension_Block_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property" name="E_extension_ClassifierBehaviorProperty_base_Property" memberEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property_ownedEnd.extension_ClassifierBehaviorProperty SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty_ownedAttribute.base_Property" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property_ownedEnd.extension_ClassifierBehaviorProperty">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property_ownedEnd.extension_ClassifierBehaviorProperty" name="extension_ClassifierBehaviorProperty" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property" name="E_extension_ConnectorProperty_base_Property" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.base_Property SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property_ownedEnd.extension_ConnectorProperty" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property_ownedEnd.extension_ConnectorProperty">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property_ownedEnd.extension_ConnectorProperty" name="extension_ConnectorProperty" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property_ownedEnd.extension_ConnectorProperty_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship" name="E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship" memberEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.base_DirectedRelationship" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath" name="extension_DirectedRelationshipPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property" name="E_extension_DistributedProperty_base_Property" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty_ownedAttribute.base_Property SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property_ownedEnd.extension_DistributedProperty" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property_ownedEnd.extension_DistributedProperty">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property_ownedEnd.extension_DistributedProperty" name="extension_DistributedProperty" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property_ownedEnd.extension_DistributedProperty_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element" name="E_extension_ElementPropertyPath_base_Element" memberEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.base_Element" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath" name="extension_ElementPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property" name="E_extension_EndPathMultiplicity_base_Property" memberEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property_ownedEnd.extension_EndPathMultiplicity SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.base_Property" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property_ownedEnd.extension_EndPathMultiplicity">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property_ownedEnd.extension_EndPathMultiplicity" name="extension_EndPathMultiplicity" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property_ownedEnd.extension_EndPathMultiplicity_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd" name="E_extension_NestedConnectorEnd_base_ConnectorEnd" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd_ownedAttribute.base_ConnectorEnd SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd_ownedEnd.extension_NestedConnectorEnd" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd_ownedEnd.extension_NestedConnectorEnd">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd._generalization.SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element" general="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element"/>
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd_ownedEnd.extension_NestedConnectorEnd" name="extension_NestedConnectorEnd" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd" redefinedProperty="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd_ownedEnd.extension_NestedConnectorEnd_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property" name="E_extension_ParticipantProperty_base_Property" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.base_Property SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property_ownedEnd.extension_ParticipantProperty" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property_ownedEnd.extension_ParticipantProperty">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property_ownedEnd.extension_ParticipantProperty" name="extension_ParticipantProperty" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property_ownedEnd.extension_ParticipantProperty_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier" name="E_extension_PropertySpecificType_base_Classifier" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType_ownedAttribute.base_Classifier SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier_ownedEnd.extension_PropertySpecificType" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier_ownedEnd.extension_PropertySpecificType">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier_ownedEnd.extension_PropertySpecificType" name="extension_PropertySpecificType" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier_ownedEnd.extension_PropertySpecificType_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType" name="E_extension_ValueType_base_DataType" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.base_DataType SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType_ownedEnd.extension_ValueType" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType_ownedEnd.extension_ValueType">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType_ownedEnd.extension_ValueType" name="extension_ValueType" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType_ownedEnd.extension_ValueType_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty" name="AdjunctProperty">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty">
+          <body>
+            The AdjunctProperty stereotype can be applied to properties to constrain their values to the values of connectors typed by association blocks, call actions, object nodes, variables, or parameters, interaction uses, and submachine states.  The values of connectors typed by association blocks are the instances of the association block typing a connector in the block having the stereotyped property.  The values of call actions are the executions of behaviors invoked by the behavior having the call action and the stereotyped property (see Subclause 11.3.1.1.1 for more about this use of the stereotype).  The values of object nodes are the values of tokens in the object nodes of the behavior having the stereotyped property (see Subclause 11.3.1.4.1 for more about this use of the stereotype).  The values of variables are those assigned by executions of activities that have the stereotyped property.  The values of parameters are those assigned by executions of behaviors that have the stereotyped property.  The keyword «adjunct» before a property name indicates the property is stereotyped by AdjunctProperty.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.base_Property_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.principal" name="principal" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.principal._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.principal">
+            <body>Gives the element that determines the values of the property. Must be a connector, call action, object node, variable, or parameter.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IvdM0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AdjunctProperty.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IvdNEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IvdNUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector" name="BindingConnector">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector">
+          <body>
+            A Binding Connector is a connector which specifies that the properties at both ends of the connector have equal values. If the properties at the ends of a binding connector are typed by a DataType or ValueType, the connector specifies that the instances of the properties must hold equal values, recursively through any nested properties within the connected properties. If the properties at the ends of a binding connector are typed by a Block, the connector specifies that the instances of the properties must refer to the same block instance. As with any connector owned by a SysML Block, the ends of a binding connector may be nested within a multi-level path of properties accessible from the owning block. The NestedConnectorEnd stereotype is used to represent such nested ends just as for nested ends of other SysML connectors.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector_ownedAttribute.base_Connector" name="base_Connector" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector_ownedAttribute.base_Connector_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IvdMEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BindingConnector.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IvdMUyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IvdMkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" name="Block">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block">
+          <body>
+            A Block is a modular unit that describes the structure of a system or element. It may include both structural and behavioral features, such as properties and operations, that represent the state of the system and behavior that the system may exhibit. Some of these properties may hold parts of a system, which can also be described by blocks. A block may include a structure of connectors between its properties to indicate how its parts or other properties relate to one another. SysML blocks provide a general-purpose capability to describe the architecture of a system. They provide the ability to represent a system hierarchy, in which a system at one level is composed of systems at a more basic level. They can describe not only the connectivity relationships between the systems at any level, but also quantitative values or other information about a system. SysML does not restrict the kind of system or system element that may be described by a block. Any reusable form of description that may be applied to a system or a set of system characteristics may be described by a block. Such reusable descriptions, for example, may be applied to purely conceptual aspects of a system design, such as relationships that hold between parts or properties of a system. Connectors owned by SysML blocks may be used to define relationships between parts or other properties of the same containing block. The type of a connector or its connected ends may specify the semantic interpretation of a specific connector.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.base_Class" name="base_Class" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.base_Class_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.isEncapsulated" name="isEncapsulated">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.isEncapsulated._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.isEncapsulated">
+            <body>
+              If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of its internal structure via deep-nested connector ends.
+            </body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.isEncapsulated_lowerValue"/>
+        </ownedAttribute>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_EJdvcFIcEeWOVPwTUSkFAw" name="getReferences">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_LYh-MFIcEeWOVPwTUSkFAw" name="references" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TgQJ4FI1EeWOVPwTUSkFAw"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_US6V4FI1EeWOVPwTUSkFAw" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_xfIGcFVsEeW77p7V_ZuW3Q" name="getParts">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_2iYk8FVsEeW77p7V_ZuW3Q" name="parts" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_34dAAFVsEeW77p7V_ZuW3Q"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_34e1MFVsEeW77p7V_ZuW3Q" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_Um2qIGOPEeWsGaPkh2WVXg" name="getFlowProperties">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_Za5A4GOPEeWsGaPkh2WVXg" name="flowProperties" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MADW8GOQEeWsGaPkh2WVXg"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MAGaQGOQEeWsGaPkh2WVXg" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_6Ix5eUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Block.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ix5ekyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ix5e0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference" name="BoundReference">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.bindingPath" name="bindingPath" isOrdered="true" isUnique="false" isReadOnly="true" isDerived="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.bindingPath._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.bindingPath">
+            <body>Gives the propertyPath of the NestedConnectorEnd applied, if any, to the boundEnd, appended to the role of the boundEnd. </body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.bindingPath_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.boundEnd" name="boundEnd">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.boundEnd._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.boundEnd">
+            <body>Gives a connector end of a binding connector opposite to the end linked to the stereotyped property, or linked to a property that generalizes the stereotyped one through redefinition.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ConnectorEnd"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IxSY0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BoundReference.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IxSZEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IxSZUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty" name="ClassifierBehaviorProperty">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty">
+          <body>
+            The ClassifierBehaviorProperty stereotype can be applied to properties to constrain their values to be the executions of classifier behaviors.  The value of properties with ClassifierBehaviorProperty  applied are the executions of classifier behaviors invoked by instantiation of the block that owns the stereotyped property or one of its specializations.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty_ownedAttribute.base_Property_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IzuoUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ClassifierBehaviorProperty.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzuokyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Izuo0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty" name="ConnectorProperty">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty">
+          <body>
+            Connectors can be typed by association classes that are stereotyped by Block (association blocks). These connectors specify instances (links) of the association block that exist due to instantiation of the block owning or inheriting the connector. The value of a connector property on an instance of a block will be exactly those link objects that are instances of the association block typing the connector referred to by the connector property.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.base_Property_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.connector" name="connector">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.connector._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.connector">
+            <body>A connector of the block owning the property on which the stereotype is applied.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6ItoBkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConnectorProperty.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IuPEEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IuPEUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" name="DirectedRelationshipPropertyPath" isAbstract="true">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.base_DirectedRelationship" name="base_DirectedRelationship" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DirectedRelationship"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.base_DirectedRelationship_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourceContext" name="sourceContext" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourceContext_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourcePropertyPath" name="sourcePropertyPath" isOrdered="true" isUnique="false" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourcePropertyPath_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourcePropertyPath_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetContext" name="targetContext" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetContext_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetPropertyPath" name="targetPropertyPath" isOrdered="true" isUnique="false" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetPropertyPath_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetPropertyPath_upperValue" value="*"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IwEQ0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedRelationshipPropertyPath.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwEREyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwERUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty" name="DistributedProperty">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty">
+          <body>
+            DistributedProperty is a stereotype of Property used to apply a probability distribution to the values of the property. Specific distributions should be defined as subclasses of the DistributedProperty stereotype with the operands of the distributions represented by properties of those stereotype subclasses.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty_ownedAttribute.base_Property_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IxSYEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DistributedProperty.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IxSYUyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IxSYkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath" name="ElementPropertyPath" isAbstract="true">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.base_Element" name="base_Element" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.base_Element_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath" name="propertyPath" isOrdered="true" isUnique="false" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath">
+            <body>
+              The propertyPath list of the NestedConnectorEnd stereotype must identify a path of containing properties that identify the connected property in the context of the block that owns the connector. The ordering of properties is from a property of the block that owns the connector, through a property of each intermediate block that types the preceding property, until a property is reached that contains a connector end property within its type. The connector end property is not included in the propertyPath list, but instead is held by the role property of the UML ConnectorEnd metaclass.
+            </body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath_upperValue" value="*"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6Iu2IEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementPropertyPath.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Iu2IUyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Iu2IkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity" name="EndPathMultiplicity">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.base_Property_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.lower" name="lower">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.lower._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.lower">
+            <body>Gives the minimum number of values of the property at the end of the related bindingPath, for each object reached by navigation along the bindingPath from an instance of the block owning the property to which EndPathMultiplicity is applied</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.lower_lowerValue"/>
+          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.lower_defaultValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.upper" name="upper">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.upper._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.upper">
+            <body>Gives the maximum number of values of the property at the end of the related bindingPath, for each object reached by navigation along the bindingPath from an instance of the block owning the property to which EndPathMultiplicity is applied.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.upper_lowerValue"/>
+          <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.upper_defaultValue" value="*"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6Iu2KUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/EndPathMultiplicity.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Iu2KkyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Iu2K0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd" name="NestedConnectorEnd">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd">
+          <body>The NestedConnectorEnd stereotype of UML ConnectorEnd extends a UML ConnectorEnd so that the connected property may be identified by a multi-level path of accessible properties from the block that owns the connector.</body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd_ownedAttribute.base_ConnectorEnd" name="base_ConnectorEnd" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.base_Element" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ConnectorEnd"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd_ownedAttribute.base_ConnectorEnd_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6I1j00yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I1j1EyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I1j1UyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty" name="ParticipantProperty">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty">
+          <body>
+            The Block stereotype extends Class, so it can be applied to any specialization of Class, including Association Classes. These are informally called “association blocks.” An association block can own properties and connectors, like any other block. Each instance of an association block can link together instances of the end classifiers of the association. To refer to linked objects and values of an instance of an association block, it is necessary for the modeler to specify which (participant) properties of the association block identify the instances being linked at which end of the association. The value of a participant property on an instance (link) of the association block is the value or object at the end of the link corresponding to this end of the association.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.base_Property_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.end" name="end">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.end._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.end">
+            <body>A member end of the association block owning the property on which the stereotype is applied.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6I08xkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ParticipantProperty.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I08x0yQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I08yEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType" name="PropertySpecificType">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType">
+          <body>The PropertySpecificType stereotype should automatically be applied to the classifier which types a property with a propertyspecific type. This classifier can contain definitions of new or redefined features which extend the original classifier referenced by the property-specific type.</body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType_ownedAttribute.base_Classifier" name="base_Classifier" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType_ownedAttribute.base_Classifier_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6I0VukyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/PropertySpecificType.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I0Vu0yQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I0VvEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" name="ValueType">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType">
+          <body>
+            A ValueType defines types of values that may be used to express information about a system, but cannot be identified as the target of any reference. Since a value cannot be identified except by means of the value itself, each such value within a model is independent of any other, unless other forms of constraints are imposed. Value types may be used to type properties, operation parameters, or potentially other elements within SysML. SysML defines ValueType as a stereotype of UML DataType to establish a more neutral term for system values that may never be given a concrete data representation.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.base_DataType" name="base_DataType" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.base_DataType_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.quantityKind" name="quantityKind" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.quantityKind._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.quantityKind">
+            <body>
+              A kind of quantity that may be stated by means of defined units, as identified by an instance of the Dimension stereotype. A value type may optionally specify a dimension without any unit. Such a value has no concrete representation, but may be used to express a value in an abstract form independent of any specific units.
+            </body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.quantityKind_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.unit" name="unit" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.unit._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.unit">
+            <body>A quantity in terms of which the magnitudes of other quantities that have the same dimension can be stated, as identified by an instance of the Unit stereotype.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.unit_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6Iu2I0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ValueType.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Iu2JEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Iu2JUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_ConstraintBlocks" name="ConstraintBlocks" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks">
+      <packageImport xmi:type="uml:PackageImport" xmi:id="SysML.package_packagedElement_ConstraintBlocks._packageImport.SysML.package_packagedElement_Blocks" importedPackage="SysML.package_packagedElement_Blocks"/>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class" name="E_extension_ConstraintBlock_base_Class" memberEnd="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock_ownedAttribute.base_Class SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class_ownedEnd.extension_ConstraintBlock" navigableOwnedEnd="SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class_ownedEnd.extension_ConstraintBlock">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class_ownedEnd.extension_ConstraintBlock" name="extension_ConstraintBlock" type="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock" association="SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class_ownedEnd.extension_ConstraintBlock_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock" name="ConstraintBlock">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock._ownedComment.0" annotatedElement="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock">
+          <body>
+            A constraint block is a block that packages the statement of a constraint so it may be applied in a reusable way to constrain properties of other blocks. A constraint block typically defines one or more constraint parameters, which are bound to properties of other blocks in a surrounding context where the constraint is used. Binding connectors, as defined in Chapter 8: Blocks, are used to bind each parameter of the constraint block to a property in the surrounding context. All properties of a constraint block are constraint parameters, with the exception of constraint properties that hold internally nested usages of other constraint blocks.
+          </body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" isSubstitutable="false"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock_ownedAttribute.base_Class" name="base_Class" association="SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock_ownedAttribute.base_Class_lowerValue"/>
+        </ownedAttribute>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_0QdHgACzEeabH6-I0dvpUQ" name="getParameters">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_74eBwACzEeabH6-I0dvpUQ" name="parameters" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__6QcMACzEeabH6-I0dvpUQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__6TfgACzEeabH6-I0dvpUQ" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_6IyggEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintBlock.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IyggUyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IyggkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_DeprecatedElements" name="DeprecatedElements" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements">
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port" name="E_extension_FlowPort_base_Port" memberEnd="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.base_Port SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port_ownedEnd.extension_FlowPort" navigableOwnedEnd="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port_ownedEnd.extension_FlowPort">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port_ownedEnd.extension_FlowPort" name="extension_FlowPort" type="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort" association="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port_ownedEnd.extension_FlowPort_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface" name="E_extension_FlowSpecification_base_Interface" memberEnd="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification_ownedAttribute.base_Interface SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface_ownedEnd.extension_FlowSpecification" navigableOwnedEnd="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface_ownedEnd.extension_FlowSpecification">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface_ownedEnd.extension_FlowSpecification" name="extension_FlowSpecification" type="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification" association="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface_ownedEnd.extension_FlowSpecification_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort" name="FlowPort">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort._ownedComment.0" annotatedElement="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort">
+          <body>
+            A FlowPort is an interaction point through which input and/or output of items such as data, material, or energy may flow. This enables the owning block to declare which items it may exchange with its environment and the interaction points through which the exchange is made. We distinguish between atomic flow port and a nonatomic flow port. Atomic flow ports relay items that are classified by a single Block, ValueType, DataType, or Signal classifier. A nonatomic flow port relays items of several types as specified by a FlowSpecification. Flow ports and associated flow specifications define “what can flow” between the block and its environment, whereas item flows specify “what does flow” in a specific usage context. Flow ports relay items to their owning block or to a connector that connects them with their owner’s internal parts (internal connector).
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.base_Port" name="base_Port" association="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.direction" name="direction" type="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.direction._ownedComment.0" annotatedElement="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.direction">
+            <body>
+              Indicates the direction in which an atomic flow port relays its items. If the direction is set to “in,” then the items are relayed from an external connector via the flow port into the flow port’s owner (or one of its parts). If the direction is set to “out,” then the items are relayed from the flow port’s owner, via the flow port, through an external connector attached to the flow port. If the direction is set to “inout,” then items can flow both ways. By default, the value is inout.
+            </body>
+          </ownedComment>
+          <defaultValue xmi:type="uml:InstanceValue" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.direction_defaultValue.inout" instance="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_inout"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.isAtomic" name="isAtomic" isReadOnly="true" isDerived="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.isAtomic._ownedComment.0" annotatedElement="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.isAtomic">
+            <body>This is a derived attribute (derived from the flow port’s type). For a flow port typed by a flow specification the value of this attribute is False, otherwise the value is True.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedAttribute>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_47RiUFFjEeWDrM-hgr_-Kg" name="getIcon">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_47RiUVFjEeWDrM-hgr_-Kg" name="img" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_47RiVVFjEeWDrM-hgr_-Kg" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_IN.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_47RiVlFjEeWDrM-hgr_-Kg" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_47RiV1FjEeWDrM-hgr_-Kg" key="image_kind_key" value="icon"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FyVPIHHlEeeebZCswQsitw" key="image_name_key" value="FlowPort_IN"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:type="uml:Image" xmi:id="_47SJYFFjEeWDrM-hgr_-Kg" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_OUT.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_47SJYVFjEeWDrM-hgr_-Kg" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_47SJYlFjEeWDrM-hgr_-Kg" key="image_kind_key" value="icon"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HBX1IHHlEeeebZCswQsitw" key="image_name_key" value="FlowPort_OUT"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:type="uml:Image" xmi:id="_47SJY1FjEeWDrM-hgr_-Kg" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_INOUT.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_47SJZFFjEeWDrM-hgr_-Kg" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_47SJZVFjEeWDrM-hgr_-Kg" key="image_kind_key" value="icon"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IBspsHHlEeeebZCswQsitw" key="image_name_key" value="FlowPort_INOUT"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:type="uml:Image" xmi:id="_47SJZlFjEeWDrM-hgr_-Kg" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_NA.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_47SJZ1FjEeWDrM-hgr_-Kg" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_47SJaFFjEeWDrM-hgr_-Kg" key="image_kind_key" value="icon"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_I-bXsHHlEeeebZCswQsitw" key="image_name_key" value="FlowPort_NA"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:type="uml:Image" xmi:id="_6I1j0EyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I1j0UyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I1j0kyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J8b4EHHlEeeebZCswQsitw" key="image_name_key" value="FlowPort"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification" name="FlowSpecification">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification._ownedComment.0" annotatedElement="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification">
+          <body>A FlowSpecification specifies inputs and outputs as a set of flow properties. A flow specification is used by flow ports to specify what items can flow via the port.</body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification_ownedAttribute.base_Interface" name="base_Interface" association="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+        </ownedAttribute>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_35VWsGa4EeW5JrLha2pcnA" name="getFlowProperties">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_35VWsWa4EeW5JrLha2pcnA" name="flowProperties" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35VWsma4EeW5JrLha2pcnA"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35VWs2a4EeW5JrLha2pcnA" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_6IvdNkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowSpecification.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IvdN0yQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IvdOEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_ModelElements" name="ModelElements" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements">
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization" name="E_extension_Conform_base_Generalization" memberEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization_ownedEnd.extension_Conform SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform_ownedAttribute.base_Generalization" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization_ownedEnd.extension_Conform">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization_ownedEnd.extension_Conform" name="extension_Conform" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization_ownedEnd.extension_Conform_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment" name="E_extension_ElementGroup_base_Comment" memberEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment_ownedEnd.extension_ElementGroup SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.base_Comment" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment_ownedEnd.extension_ElementGroup">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment_ownedEnd.extension_ElementGroup" name="extension_ElementGroup" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment_ownedEnd.extension_ElementGroup_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency" name="E_extension_Expose_base_Dependency" memberEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency_ownedEnd.extension_Expose SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Expose_ownedAttribute.base_Dependency" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency_ownedEnd.extension_Expose">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency_ownedEnd.extension_Expose" name="extension_Expose" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Expose" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency_ownedEnd.extension_Expose_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment" name="E_extension_Problem_base_Comment" memberEnd="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem_ownedAttribute.base_Comment SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment_ownedEnd.extension_Problem" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment_ownedEnd.extension_Problem">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment_ownedEnd.extension_Problem" name="extension_Problem" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment_ownedEnd.extension_Problem_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment" name="E_extension_Rationale_base_Comment" memberEnd="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale_ownedAttribute.base_Comment SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment_ownedEnd.extension_Rationale" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment_ownedEnd.extension_Rationale">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment_ownedEnd.extension_Rationale" name="extension_Rationale" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment_ownedEnd.extension_Rationale_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier" name="E_extension_Stakeholder_base_Classifier" memberEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier_ownedEnd.extension_Stakeholder SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.base_Classifier" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier_ownedEnd.extension_Stakeholder">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier_ownedEnd.extension_Stakeholder" name="extension_Stakeholder" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier_ownedEnd.extension_Stakeholder_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class" name="E_extension_View_base_Class" memberEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class_ownedEnd.extension_View SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.base_Class" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class_ownedEnd.extension_View">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class_ownedEnd.extension_View" name="extension_View" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class_ownedEnd.extension_View_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class" name="E_extension_Viewpoint_base_Class" memberEnd="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.base_Class SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class_ownedEnd.extension_Viewpoint" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class_ownedEnd.extension_Viewpoint">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class_ownedEnd.extension_Viewpoint" name="extension_Viewpoint" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class_ownedEnd.extension_Viewpoint_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform" name="Conform">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform">
+          <body>
+            A Conform relationship is a dependency between a view and a viewpoint. The view conforms to the specified rules and conventions detailed in the viewpoint. Conform is a specialization of the UML dependency, and as with other dependencies the arrow direction points from the (client/source) to the (supplier/target).
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform_ownedAttribute.base_Generalization" name="base_Generalization" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform_ownedAttribute.base_Generalization_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IkeEEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Conform.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IlFIEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IlFIUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup" name="ElementGroup">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.base_Comment" name="base_Comment" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.base_Comment_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.criterion" name="criterion" isReadOnly="true" isDerived="true">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.member" name="member" isReadOnly="true" isDerived="true">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.member_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.member_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.name" name="name">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.orderedMember" name="orderedMember" isOrdered="true" subsettedProperty="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.member">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.orderedMember_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.orderedMember_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.size" name="size" isReadOnly="true" isDerived="true">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedAttribute>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.allGroups_Element_ElementGroup" name="allGroups" isStatic="true" isQuery="true">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.allGroups_Element_ElementGroup.parameter_ownedParameter_e" name="e">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.allGroups_Element_ElementGroup.parameter_ownedParameter_result" name="result" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.allGroups_Element_ElementGroup.parameter_ownedParameter_result_lowerValue"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.allGroups_Element_ElementGroup.parameter_ownedParameter_result_upperValue" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.criterion_String" name="criterion" isQuery="true">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.criterion_String.parameter_ownedParameter_result" name="result">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.criterion_String.parameter_ownedParameter_result_lowerValue"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.member_Element" name="member" isQuery="true">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.member_Element.parameter_ownedParameter_result" name="result">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.member_Element.parameter_ownedParameter_result_lowerValue"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.member_Element.parameter_ownedParameter_result_upperValue" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.size_Integer" name="size" isQuery="true">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.size_Integer.parameter_ownedParameter_result" name="result">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_6IvdOUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementGroup.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IvdOkyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IvdO0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Expose" name="Expose">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Expose_ownedAttribute.base_Dependency" name="base_Dependency" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Expose_ownedAttribute.base_Dependency_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IyghkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Expose.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Iygh0yQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IygiEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem" name="Problem">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem">
+          <body>
+            A Problem documents a deficiency, limitation, or failure of one or more model elements to satisfy a requirement or need, or other undesired outcome. It may be used to capture problems identified during analysis, design, verification, or manufacture and associate the problem with the relevant model elements. Problem is a stereotype of comment and may be attached to any other model element in the same manner as a comment.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem_ownedAttribute.base_Comment" name="base_Comment" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem_ownedAttribute.base_Comment_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IwrWUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Problem.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwrWkyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwrW0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale" name="Rationale">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale">
+          <body>
+            A Rationale documents the justification for decisions and the requirements, design, and other decisions. A Rationale can be attached to any model element including relationships. It allows the user, for example, to specify a rationale that may reference more detailed documentation such as a trade study or analysis report. Rationale is a stereotype of comment and may be attached to any other model element in the same manner as a comment.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale_ownedAttribute.base_Comment" name="base_Comment" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale_ownedAttribute.base_Comment_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IzupEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rationale.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzupUyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzupkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder" name="Stakeholder">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.base_Classifier" name="base_Classifier" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.base_Classifier_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.concernList" name="concernList">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OfXdUDqkEeWWssZOJ2QVuQ"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OfZSgDqkEeWWssZOJ2QVuQ" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.concern" name="concern" isReadOnly="true" isDerived="true">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.concern_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.concern_upperValue" value="*"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IwrU0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Stakeholder.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwrVEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwrVUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View" name="View">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View">
+          <body>A View is a representation of a whole system or subsystem from the perspective of a single viewpoint. Views are allowed to import other elements including other packages and other views that conform to the viewpoint.</body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.base_Class" name="base_Class" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.base_Class_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.stakeholder" name="stakeholder" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder" isReadOnly="true" isDerived="true">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.stakeholder_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.stakeholder_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.viewPoint" name="viewPoint" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint" isReadOnly="true" isDerived="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.viewPoint._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.viewPoint">
+            <body>The viewpoint for this View, derived from the supplier of the «conform» dependency whose client is this View.</body>
+          </ownedComment>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6Iygg0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/View.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IyghEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IyghUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint" name="Viewpoint">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint">
+          <body>A Viewpoint is a specification of the conventions and rules for constructing and using a view for the purpose of addressing a set of stakeholder concerns. The languages and methods for specifying a view may reference languages and methods in another viewpoint. They specify the elements expected to be represented in the view, and may be formally or informally defined. For example, the security viewpoint may require the security requirements, security functional and physical architecture, and security test cases.</body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.base_Class" name="base_Class" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.base_Class_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concern" name="concern" isReadOnly="true" isDerived="true">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concern_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concern_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concernList" name="concernList">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concernList._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concernList">
+            <body>The interest of the stakeholders.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concernList_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concernList_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.language" name="language">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.language._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.language">
+            <body>The languages used to construct the viewpoint.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.language_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.language_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.method" name="method" isReadOnly="true" isDerived="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.method._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.method">
+            <body>The methods used to construct the views for this viewpoint.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.method_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.method_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.presentation" name="presentation">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.presentation_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.presentation_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.purpose" name="purpose">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.purpose._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.purpose">
+            <body>The purpose addresses the stakeholder concerns.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.stakeholder" name="stakeholder" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.stakeholder._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.stakeholder">
+            <body>Set of stakeholders.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.stakeholder_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.stakeholder_upperValue" value="*"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IwESUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Viewpoint.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwESkyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwES0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_Ports_u0026Flows" name="PortsAndFlows" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows" metaclassReference="_q0SIcEWgEemFYp9WpPPBHQ">
+      <elementImport xmi:type="uml:ElementImport" xmi:id="_q0SIcEWgEemFYp9WpPPBHQ" alias="AddStructuralFeatureValueAction">
+        <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AddStructuralFeatureValueAction"/>
+      </elementImport>
+      <packageImport xmi:type="uml:PackageImport" xmi:id="SysML.package_packagedElement_Ports_u0026Flows._packageImport.SysML.package_packagedElement_Blocks" importedPackage="SysML.package_packagedElement_Blocks"/>
+      <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature" name="A_changeStructuralFeatureEvent_structuralFeature" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent_ownedAttribute.structuralFeature SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature_ownedEnd.changeStructuralFeatureEvent">
+        <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature_ownedEnd.changeStructuralFeatureEvent" name="changeStructuralFeatureEvent" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent" association="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature_ownedEnd.changeStructuralFeatureEvent_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature_ownedEnd.changeStructuralFeatureEvent_upperValue" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort" name="A_invocationOnNestedPortAction_onNestedPort" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction_ownedAttribute.onNestedPort SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort_ownedEnd.invocationOnNestedPortAction">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort._generalization.SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath" general="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath"/>
+        <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort_ownedEnd.invocationOnNestedPortAction" name="invocationOnNestedPortAction" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction" redefinedProperty="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath_ownedEnd.elementPropertyPath" association="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort_ownedEnd.invocationOnNestedPortAction_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort_ownedEnd.invocationOnNestedPortAction_upperValue" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort" name="A_triggerOnNestedPort_onNestedPort" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort_ownedAttribute.onNestedPort SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort_ownedEnd.triggerOnNestedPort">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort._generalization.SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath" general="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath"/>
+        <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort_ownedEnd.triggerOnNestedPort" name="triggerOnNestedPort" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort" redefinedProperty="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath_ownedEnd.elementPropertyPath" association="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort_ownedEnd.triggerOnNestedPort_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort_ownedEnd.triggerOnNestedPort_upperValue" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Enumeration" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection" name="FeatureDirectionKind">
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection.enumerationLiteral_ownedLiteral_provided" name="provided"/>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection.enumerationLiteral_ownedLiteral_providedRequired" name="providedRequired"/>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection.enumerationLiteral_ownedLiteral_required" name="required"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Enumeration" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection" name="FlowDirectionKind">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection">
+          <body>FlowDirectionKind is an enumeration type that defines literals used for specifying the direction that items can flow to or from a block. FlowDirectionKind is used by flow properties to indicate the direction that its items can flow to or from its owner.</body>
+        </ownedComment>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_in" name="in">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_in._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_in">
+            <body>Indicates that the flow property is input to the owning block.</body>
+          </ownedComment>
+        </ownedLiteral>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_inout" name="inout">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_inout._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_inout">
+            <body>Indicates that the flow property is both an input and an output of the owning block.</body>
+          </ownedComment>
+        </ownedLiteral>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_out" name="out">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_out._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_out">
+            <body>Indicates that the flow property is an output of the owning block.</body>
+          </ownedComment>
+        </ownedLiteral>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction" name="E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_ownedEnd.extension_AcceptChangeStructuralFeatureEventAction SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_AcceptChangeStructuralFeatureEventAction_ownedAttribute.base_AcceptEventAction" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_ownedEnd.extension_AcceptChangeStructuralFeatureEventAction">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_ownedEnd.extension_AcceptChangeStructuralFeatureEventAction" name="extension_AcceptChangeStructuralFeatureEventAction" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_AcceptChangeStructuralFeatureEventAction" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_ownedEnd.extension_AcceptChangeStructuralFeatureEventAction_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent" name="E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent_ownedEnd.extension_ChangeStructuralFeatureEvent SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent_ownedAttribute.base_ChangeEvent" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent_ownedEnd.extension_ChangeStructuralFeatureEvent">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent_ownedEnd.extension_ChangeStructuralFeatureEvent" name="extension_ChangeStructuralFeatureEvent" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent_ownedEnd.extension_ChangeStructuralFeatureEvent_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature" name="E_extension_DirectedFeature_base_Feature" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature_ownedEnd.extension_DirectedFeature SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature_ownedAttribute.base_Feature" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature_ownedEnd.extension_DirectedFeature">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature_ownedEnd.extension_DirectedFeature" name="extension_DirectedFeature" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature_ownedEnd.extension_DirectedFeature_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property" name="E_extension_FlowProperty_base_Property" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.base_Property SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property_ownedEnd.extension_FlowProperty" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property_ownedEnd.extension_FlowProperty">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property_ownedEnd.extension_FlowProperty" name="extension_FlowProperty" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property_ownedEnd.extension_FlowProperty_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port" name="E_extension_FullPort_base_Port" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port_ownedEnd.extension_FullPort SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FullPort_ownedAttribute.base_Port" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port_ownedEnd.extension_FullPort">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port_ownedEnd.extension_FullPort" name="extension_FullPort" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FullPort" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port_ownedEnd.extension_FullPort_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction" name="E_extension_InvocationOnNestedPortAction_base_InvocationAction" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction_ownedEnd.extension_InvocationOnNestedPortAction SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction_ownedAttribute.base_InvocationAction" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction_ownedEnd.extension_InvocationOnNestedPortAction">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction._generalization.SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element" general="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element"/>
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction_ownedEnd.extension_InvocationOnNestedPortAction" name="extension_InvocationOnNestedPortAction" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction" redefinedProperty="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction_ownedEnd.extension_InvocationOnNestedPortAction_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow" name="E_extension_ItemFlow_base_InformationFlow" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.base_InformationFlow SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow_ownedEnd.extension_ItemFlow" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow_ownedEnd.extension_ItemFlow">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow_ownedEnd.extension_ItemFlow" name="extension_ItemFlow" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow_ownedEnd.extension_ItemFlow_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port" name="E_extension_ProxyPort_base_Port" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port_ownedEnd.extension_ProxPort SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ProxyPort_ownedAttribute.base_Port" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port_ownedEnd.extension_ProxPort">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port_ownedEnd.extension_ProxPort" name="extension_ProxPort" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ProxyPort" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port_ownedEnd.extension_ProxPort_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger" name="E_extension_TriggerOnNestedPort_base_Trigger" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger_ownedEnd.extension_TriggerOnNestedPort SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort_ownedAttribute.base_Trigger" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger_ownedEnd.extension_TriggerOnNestedPort">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger._generalization.SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element" general="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element"/>
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger_ownedEnd.extension_TriggerOnNestedPort" name="extension_TriggerOnNestedPort" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort" redefinedProperty="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger_ownedEnd.extension_TriggerOnNestedPort_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_rW2C8EWgEemFYp9WpPPBHQ" name="E_extension_AddFlowPropertyValueOnNestedPortAction_base_AddStructuralFeatureValueAction" memberEnd="_rW2qAEWgEemFYp9WpPPBHQ _rW3REEWgEemFYp9WpPPBHQ">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_rW2qAEWgEemFYp9WpPPBHQ" name="extension_AddFlowPropertyValueOnNestedPortAction" type="_aRuVEEWgEemFYp9WpPPBHQ" aggregation="composite" association="_rW2C8EWgEemFYp9WpPPBHQ"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_AcceptChangeStructuralFeatureEventAction" name="AcceptChangeStructuralFeatureEventAction">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_AcceptChangeStructuralFeatureEventAction_ownedAttribute.base_AcceptEventAction" name="base_AcceptEventAction" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AcceptEventAction"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_AcceptChangeStructuralFeatureEventAction_ownedAttribute.base_AcceptEventAction_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6Ix5dkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AcceptChangeStructuralFeatureEventAction.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ix5d0yQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ix5eEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent" name="ChangeStructuralFeatureEvent">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent_ownedAttribute.base_ChangeEvent" name="base_ChangeEvent" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ChangeEvent"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent_ownedAttribute.base_ChangeEvent_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent_ownedAttribute.structuralFeature" name="structuralFeature" association="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#StructuralFeature"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6Izup0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ChangeStructuralFeatureEvent.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzuqEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzuqUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature" name="DirectedFeature">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature_ownedAttribute.base_Feature" name="base_Feature" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Feature"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature_ownedAttribute.base_Feature_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature_ownedAttribute.featureDirection" name="featureDirection" type="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection"/>
+        <icon xmi:type="uml:Image" xmi:id="_6IxSaUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedFeature.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IxSakyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IxSa0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty" name="FlowProperty">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty">
+          <body>
+            A FlowProperty signifies a single flow element that can flow to/from a block. A flow property’s values are either received from or transmitted to an external block. Flow properties are defined directly on blocks or flow specifications that are those specifications which type the flow ports. Flow properties enable item flows across connectors connecting parts of the corresponding block types, either directly (in case of the property is defined on the block) or via flowPorts. For Block, Data Type, and Value Type properties, setting an “out” FlowProperty value of a block usage on one end of a connector will result in assigning the same value of an “in” FlowProperty of a block usage at the other end of the connector, provided the flow properties are matched. Flow properties of type Signal imply sending and/or receiving of a signal usage. An “out” FlowProperty of type Signal means that the owning Block may broadcast the signal via connectors and an “in” FlowProperty means that the owning block is able to receive the Signal.
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.base_Property_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.direction" name="direction" type="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.direction._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.direction">
+            <body>Specifies if the property value is received from an external block (direction=“in”), transmitted to an external Block (direction=“out”) or both (direction=“inout”).</body>
+          </ownedComment>
+          <defaultValue xmi:type="uml:InstanceValue" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.direction_defaultValue.inout" instance="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_inout"/>
+        </ownedAttribute>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_qCZNEFFkEeW4J9vCAdMr-Q" name="getIcon">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_qCZNEVFkEeW4J9vCAdMr-Q" name="img" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_qCeFkFFkEeW4J9vCAdMr-Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_IN.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qCeFkVFkEeW4J9vCAdMr-Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qCeFklFkEeW4J9vCAdMr-Q" key="image_kind_key" value="icon"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P1KKgHHbEee_Bq9KZR5qhA" key="image_name_key" value="FlowProperty_IN"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:type="uml:Image" xmi:id="_qCeFk1FkEeW4J9vCAdMr-Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_OUT.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qCeFlFFkEeW4J9vCAdMr-Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qCeFlVFkEeW4J9vCAdMr-Q" key="image_kind_key" value="icon"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxcMkHHbEee_Bq9KZR5qhA" key="image_name_key" value="FlowProperty_OUT"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:type="uml:Image" xmi:id="_qCeFllFkEeW4J9vCAdMr-Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_INOUT.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qCeFl1FkEeW4J9vCAdMr-Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qCeFmFFkEeW4J9vCAdMr-Q" key="image_kind_key" value="icon"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RpyJ0HHbEee_Bq9KZR5qhA" key="image_name_key" value="FlowProperty_INOUT"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:type="uml:Image" xmi:id="_6I08wEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I08wUyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I08wkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S_SkMHHbEee_Bq9KZR5qhA" key="image_name_key" value="FlowProperty"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FullPort" name="FullPort">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FullPort_ownedAttribute.base_Port" name="base_Port" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FullPort_ownedAttribute.base_Port_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6Ix5c0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FullPort.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ix5dEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ix5dUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock" name="InterfaceBlock">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_OvhwIEWTEemFYp9WpPPBHQ" name="getConjugated">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_Tar3sEWTEemFYp9WpPPBHQ" name="result" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock" direction="return">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UUqzsEWTEemFYp9WpPPBHQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UU-VsEWTEemFYp9WpPPBHQ" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_6IxSZkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InterfaceBlock.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IxSZ0yQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IxSaEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction" name="InvocationOnNestedPortAction">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction_ownedAttribute.base_InvocationAction" name="base_InvocationAction" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.base_Element" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InvocationAction"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction_ownedAttribute.base_InvocationAction_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction_ownedAttribute.onNestedPort" name="onNestedPort" isOrdered="true" isUnique="false" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath" association="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction_ownedAttribute.onNestedPort_upperValue" value="*"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6I08yUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InvocationOnNestedPortAction.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I08ykyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I08y0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow" name="ItemFlow">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow">
+          <body>An ItemFlow describes the flow of items across a connector or an association. It may constrain the item exchange between blocks, block usages, or flow ports as specified by their flow properties. For example, a pump connected to a tank: the pump has an “out” flow property of type Liquid and the tank has an “in” FlowProperty of type Liquid. To signify that only water flows between the pump and the tank, we can specify an ItemFlow of type Water on the connector.&#xD;
+          </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.base_InformationFlow" name="base_InformationFlow" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InformationFlow"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.base_InformationFlow_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.itemProperty" name="itemProperty">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.itemProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.itemProperty">
+            <body>An optional property that relates the flowing item to the instances of the connector’s enclosing block. This property is applicable only for item flows assigned to connectors. The multiplicity is zero if the item flow is assigned to an Association.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.itemProperty_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6I0Vt0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ItemFlow.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I0VuEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I0VuUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ProxyPort" name="ProxyPort">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ProxyPort_ownedAttribute.base_Port" name="base_Port" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ProxyPort_ownedAttribute.base_Port_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IwrUEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ProxyPort.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwrUUyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwrUkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort" name="TriggerOnNestedPort">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort_ownedAttribute.base_Trigger" name="base_Trigger" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.base_Element" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Trigger"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort_ownedAttribute.onNestedPort" name="onNestedPort" isOrdered="true" isUnique="false" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath" association="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort_ownedAttribute.onNestedPort_upperValue" value="*"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6IwERkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwER0yQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwESEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Sr_TwEWVEemFYp9WpPPBHQ" name="ConjugatedInterfaceBlock">
+        <generalization xmi:type="uml:Generalization" xmi:id="_x-efQEWVEemFYp9WpPPBHQ" general="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_GTHnsEWXEemFYp9WpPPBHQ" name="original" visibility="public" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_OAj0gEWXEemFYp9WpPPBHQ" name="areConjugated">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_UgwLEEWXEemFYp9WpPPBHQ" name="df1" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature"/>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_XQdSkEWXEemFYp9WpPPBHQ" name="df2" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature"/>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_eNRTsEWXEemFYp9WpPPBHQ" name="result" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_f991QEWXEemFYp9WpPPBHQ" name="areConjugated">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kV9JMEWXEemFYp9WpPPBHQ" name="fp1" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty"/>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_ltYPIEWXEemFYp9WpPPBHQ" name="fp2" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty"/>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_nrKxgEWXEemFYp9WpPPBHQ" name="result" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_pSgiwEWXEemFYp9WpPPBHQ" name="areConjugated">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uerssEWXEemFYp9WpPPBHQ" name="r1">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Reception"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_yKLHAEWXEemFYp9WpPPBHQ" name="r2">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Reception"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_0F_6gEWXEemFYp9WpPPBHQ" name="result" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_1hqnQEWXEemFYp9WpPPBHQ" name="areConjugated">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_1hqnQUWXEemFYp9WpPPBHQ" name="o1">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_1hqnQkWXEemFYp9WpPPBHQ" name="o2">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_1hqnQ0WXEemFYp9WpPPBHQ" name="result" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_9Og-MEWXEemFYp9WpPPBHQ" name="areConjugated">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_9Og-MUWXEemFYp9WpPPBHQ" name="p1">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_9Og-MkWXEemFYp9WpPPBHQ" name="p2">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_9Og-M0WXEemFYp9WpPPBHQ" name="result" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_HkXXsEWYEemFYp9WpPPBHQ" name="areSameConstraintSets">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_K3ofQEWYEemFYp9WpPPBHQ" name="cs1">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Constraint"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_NumsYEWYEemFYp9WpPPBHQ" name="cs2">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Constraint"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_PjfxcEWYEemFYp9WpPPBHQ" name="result" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_RN5dwEWYEemFYp9WpPPBHQ" name="areSameParameterSets">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_ULB9QEWYEemFYp9WpPPBHQ" name="ps1">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ParameterSet"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_XAGF4EWYEemFYp9WpPPBHQ" name="ps2">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ParameterSet"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_YtTOkEWYEemFYp9WpPPBHQ" name="result" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_aE9lEEWYEemFYp9WpPPBHQ" name="haveSameSignatures">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_e_Ri8EWYEemFYp9WpPPBHQ" name="bf1">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#BehavioralFeature"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_hcZssEWYEemFYp9WpPPBHQ" name="bf2">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#BehavioralFeature"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kVJbcEWYEemFYp9WpPPBHQ" name="result" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_Sr_TxkWVEemFYp9WpPPBHQ" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConjugatedInterfaceBlock.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Sr_Tx0WVEemFYp9WpPPBHQ" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sr_TyEWVEemFYp9WpPPBHQ" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_aRuVEEWgEemFYp9WpPPBHQ" name="AddFlowPropertyValueOnNestedPortAction">
+        <generalization xmi:type="uml:Generalization" xmi:id="_aRuVEUWgEemFYp9WpPPBHQ" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_aRuVFEWgEemFYp9WpPPBHQ" name="onNestedPort" isOrdered="true" isUnique="false" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aRuVFUWgEemFYp9WpPPBHQ" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_rW3REEWgEemFYp9WpPPBHQ" name="base_AddStructuralFeatureValueAction" association="_rW2C8EWgEemFYp9WpPPBHQ">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AddStructuralFeatureValueAction"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rW3REUWgEemFYp9WpPPBHQ"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_aRuVFkWgEemFYp9WpPPBHQ" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AddFlowPropertyValueOnNestedPortAction.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aRuVF0WgEemFYp9WpPPBHQ" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aRuVGEWgEemFYp9WpPPBHQ" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_Requirements" name="Requirements" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements" metaclassReference="_zjmo0EV7EemFYp9WpPPBHQ">
+      <elementImport xmi:type="uml:ElementImport" xmi:id="_zjmo0EV7EemFYp9WpPPBHQ" alias="NamedElement">
+        <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      </elementImport>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction" name="E_extension_Refine_base_Abstraction" memberEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction_ownedEnd.extension_Refine SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedAttribute.base_Abstraction" navigableOwnedEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction_ownedEnd.extension_Refine">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction._generalization.Abstraction_Refine">
+          <general xmi:type="uml:Extension" href="pathmap://UML_PROFILES/Standard.profile.uml#Abstraction_Refine"/>
+        </generalization>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction._generalization.SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship" general="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship"/>
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction_ownedEnd.extension_Refine" name="extension_Refine" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction_ownedEnd.extension_Refine_lowerValue"/>
+          <redefinedProperty xmi:type="uml:ExtensionEnd" href="#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath"/>
+          <redefinedProperty xmi:type="uml:ExtensionEnd" href="pathmap://UML_PROFILES/Standard.profile.uml#Abstraction_Refine-extension_Refine"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class" name="E_extension_Requirement_base_Class" memberEnd="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.base_Class SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class_ownedEnd.extension_Requirement" navigableOwnedEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class_ownedEnd.extension_Requirement">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class_ownedEnd.extension_Requirement" name="extension_Requirement" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class_ownedEnd.extension_Requirement_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior" name="E_extension_TestCase_base_Behavior" memberEnd="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase_ownedAttribute.base_Behavior SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior_ownedEnd.extension_TestCase" navigableOwnedEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior_ownedEnd.extension_TestCase">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior_ownedEnd.extension_TestCase" name="extension_TestCase" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior_ownedEnd.extension_TestCase_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation" name="E_extension_TestCase_base_Operation" memberEnd="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase_ownedAttribute.base_Operation SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation_ownedEnd.extension_TestCase" navigableOwnedEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation_ownedEnd.extension_TestCase">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation_ownedEnd.extension_TestCase" name="extension_TestCase" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation_ownedEnd.extension_TestCase_lowerValue"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction" name="E_extension_Trace_base_Abstraction" memberEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction_ownedEnd.extension_Trace SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedAttribute.base_Abstraction" navigableOwnedEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction_ownedEnd.extension_Trace">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction._generalization.Abstraction_Trace">
+          <general xmi:type="uml:Extension" href="pathmap://UML_PROFILES/Standard.profile.uml#Abstraction_Trace"/>
+        </generalization>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction._generalization.SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship" general="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship"/>
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction_ownedEnd.extension_Trace" name="extension_Trace" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction_ownedEnd.extension_Trace_lowerValue"/>
+          <redefinedProperty xmi:type="uml:ExtensionEnd" href="#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath"/>
+          <redefinedProperty xmi:type="uml:ExtensionEnd" href="pathmap://UML_PROFILES/Standard.profile.uml#Abstraction_Trace-extension_Trace"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Copy" name="Copy">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Copy._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Copy">
+          <body>A Copy relationship is a dependency between a supplier requirement and a client requirement that specifies that the text of the client requirement is a read-only copy of the text of the supplier requirement.</body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Copy._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" general="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" isSubstitutable="false"/>
+        <icon xmi:type="uml:Image" xmi:id="_6IuPFUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Copy.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IuPFkyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IuPF0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_DeriveReqt" name="DeriveReqt">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_DeriveReqt._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_DeriveReqt">
+          <body>
+            A DeriveReqt relationship is a dependency between two requirements in which a client requirement can be derived from the supplier requirement. As with other dependencies, the arrow direction points from the derived (client) requirement to the (supplier) requirement from which it is derived.
+          </body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_DeriveReqt._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" general="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" isSubstitutable="false"/>
+        <icon xmi:type="uml:Image" xmi:id="_6IuPEkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DeriveReqt.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IuPE0yQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IuPFEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine" name="Refine">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine._generalization.UML.stereotype_packagedElement_Refine">
+          <general xmi:type="uml:Stereotype" href="pathmap://UML_PROFILES/Standard.profile.uml#Refine"/>
+        </generalization>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedAttribute.base_Abstraction" name="base_Abstraction" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedAttribute.base_Abstraction_lowerValue"/>
+          <redefinedProperty xmi:type="uml:Property" href="#SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.base_DirectedRelationship"/>
+          <redefinedProperty xmi:type="uml:Property" href="pathmap://UML_PROFILES/Standard.profile.uml#Refine-base_Abstraction"/>
+        </ownedAttribute>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedOperation.getRefines_Requirement_NamedElement" name="getRefines" isStatic="true" isQuery="true">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedOperation.getRefines_Requirement_NamedElement.parameter_ownedParameter_ref" name="ref">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedOperation.getRefines_Requirement_NamedElement.parameter_ownedParameter_result" name="result" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedOperation.getRefines_Requirement_NamedElement.parameter_ownedParameter_result_lowerValue"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedOperation.getRefines_Requirement_NamedElement.parameter_ownedParameter_result_upperValue" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_6IzuqkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Refine.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Izuq0yQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I0VsEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement" name="Requirement">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement">
+          <body>A requirement specifies a capability or condition that must (or should) be satisfied. A requirement may specify a function that a system must perform or a performance condition that a system must satisfy. Requirements are used to establish a contract between the customer (or other stakeholder) and those responsible for designing and implementing the system.&#xD;
+          </body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="_koBGEEb2EemrpM9dj3x64Q" general="_tNfbUEV7EemFYp9WpPPBHQ"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.base_Class" name="base_Class" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.base_Class_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6ItoA0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Requirement.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6ItoBEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6ItoBUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy" name="Satisfy">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy">
+          <body>A Satisfy relationship is a dependency between a requirement and a model element that fulfills the requirement. As with other dependencies, the arrow direction points from the satisfying (client) model element to the (supplier) requirement that is satisfied.</body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" general="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy_ownedOperation.getSatisfies_Requirement_NamedElement" name="getSatisfies" isStatic="true" isQuery="true">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy_ownedOperation.getSatisfies_Requirement_NamedElement.parameter_ownedParameter_ref" name="ref">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy_ownedOperation.getSatisfies_Requirement_NamedElement.parameter_ownedParameter_result" name="result" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy_ownedOperation.getSatisfies_Requirement_NamedElement.parameter_ownedParameter_result_lowerValue"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy_ownedOperation.getSatisfies_Requirement_NamedElement.parameter_ownedParameter_result_upperValue" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_6IzHkkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Satisfy.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzHk0yQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzHlEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase" name="TestCase">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase">
+          <body>A test case is a method for verifying a requirement is satisfied.</body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase_ownedAttribute.base_Behavior" name="base_Behavior" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase_ownedAttribute.base_Behavior_lowerValue"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase_ownedAttribute.base_Operation" name="base_Operation" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase_ownedAttribute.base_Operation_lowerValue"/>
+        </ownedAttribute>
+        <icon xmi:type="uml:Image" xmi:id="_6I08w0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I08xEyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I08xUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" name="Trace">
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace._generalization.UML.stereotype_packagedElement_Trace">
+          <general xmi:type="uml:Stereotype" href="pathmap://UML_PROFILES/Standard.profile.uml#Trace"/>
+        </generalization>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedAttribute.base_Abstraction" name="base_Abstraction" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedAttribute.base_Abstraction_lowerValue"/>
+          <redefinedProperty xmi:type="uml:Property" href="#SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.base_DirectedRelationship"/>
+          <redefinedProperty xmi:type="uml:Property" href="pathmap://UML_PROFILES/Standard.profile.uml#Trace-base_Abstraction"/>
+        </ownedAttribute>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedOperation.getTracedFrom_Requirement_NamedElement" name="getTracedFrom" isStatic="true" isQuery="true">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedOperation.getTracedFrom_Requirement_NamedElement.parameter_ownedParameter_ref" name="ref">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedOperation.getTracedFrom_Requirement_NamedElement.parameter_ownedParameter_result" name="result" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedOperation.getTracedFrom_Requirement_NamedElement.parameter_ownedParameter_result_lowerValue"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedOperation.getTracedFrom_Requirement_NamedElement.parameter_ownedParameter_result_upperValue" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_6IzHmEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Trace.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzHmUyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzHmkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify" name="Verify">
+        <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify">
+          <body>A Verify relationship is a dependency between a requirement and a test case or other model element that can determine whether a system fulfills the requirement. As with other dependencies, the arrow direction points from the (client) element to the (supplier) requirement.</body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" general="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" isSubstitutable="false"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify_ownedOperation.getVerifies_Requirement_NamedElement" name="getVerifies" isStatic="true" isQuery="true">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify_ownedOperation.getVerifies_Requirement_NamedElement.parameter_ownedParameter_ref" name="ref">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify_ownedOperation.getVerifies_Requirement_NamedElement.parameter_ownedParameter_result" name="result" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify_ownedOperation.getVerifies_Requirement_NamedElement.parameter_ownedParameter_result_lowerValue"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify_ownedOperation.getVerifies_Requirement_NamedElement.parameter_ownedParameter_result_upperValue" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_6Ix5cEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Verify.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ix5cUyQEeWwyrPSuNN58Q" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ix5ckyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_tNfbUEV7EemFYp9WpPPBHQ" name="AbstractRequirement" isAbstract="true">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_FAO3wEV8EemFYp9WpPPBHQ" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement">
+          <body>An AbstractRequirement establishes the attributes and relationships essential to any potential kind of requirement. Any intended requirement kind should subclass AbstractRequirement. The only normative stereotype based on AbstractRequirement is the Requirement stereotype, described in 16.3.2.5. Examples of additional non-normative stereotypes based on AbstractRequirement are included in Annex E.8.</body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_0HFJUEV7EemFYp9WpPPBHQ" name="base_NamedElement" association="_0HCGAEV7EemFYp9WpPPBHQ">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0HFJUUV7EemFYp9WpPPBHQ"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derived" name="derived" type="_tNfbUEV7EemFYp9WpPPBHQ" isReadOnly="true" isDerived="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derived._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derived">
+            <body>Derived from all requirements that are the client of a «deriveReqt» relationship for which this requirement is a supplier.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derived_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derived_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derivedFrom" name="derivedFrom" type="_tNfbUEV7EemFYp9WpPPBHQ" isReadOnly="true" isDerived="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derivedFrom._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derivedFrom">
+            <body>Derived from all requirements that are the supplier of a «deriveReqt» relationship for which this requirement is a client.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derivedFrom_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derivedFrom_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.id" name="id">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.id._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.id">
+            <body>The unique id of the requirement.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.id_defaultValue" value=""/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.master" name="master" type="_tNfbUEV7EemFYp9WpPPBHQ" isReadOnly="true" isDerived="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.master._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.master">
+            <body>This is a derived property that lists the master requirement for this slave requirement. The master attribute is derived from the supplier of the Copy dependency that has this requirement as the slave.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.master_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aiIS8EV8EemFYp9WpPPBHQ" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.refinedBy" name="refinedBy" isReadOnly="true" isDerived="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.refinedBy._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.refinedBy">
+            <body>Derived from all elements that are the client of a «refine» relationship for which this requirement is a supplier.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.refinedBy_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.refinedBy_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.satisfiedBy" name="satisfiedBy" isReadOnly="true" isDerived="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.satisfiedBy._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.satisfiedBy">
+            <body>Derived from all elements that are the client of a «satisfy» relationship for which this requirement is a supplier.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.satisfiedBy_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.satisfiedBy_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.text" name="text">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.text._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.text">
+            <body>The textual representation or a reference to the textual representation of the requirement.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.text_defaultValue" value=""/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.tracedTo" name="tracedTo" isReadOnly="true" isDerived="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.tracedTo._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.tracedTo">
+            <body>Derived from all elements that are the client of a «trace» relationship for which this requirement is a supplier.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.tracedTo_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.tracedTo_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.verifiedBy" name="verifiedBy" isReadOnly="true" isDerived="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.verifiedBy._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.verifiedBy">
+            <body>Derived from all elements that are the client of a «verify» relationship for which this requirement is a supplier.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.verifiedBy_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.verifiedBy_upperValue" value="*"/>
+        </ownedAttribute>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_sIByoEV8EemFYp9WpPPBHQ" name="getSatisfiedBy">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_7AW40EV8EemFYp9WpPPBHQ" name="result" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_P8JWQEV9EemFYp9WpPPBHQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_P8U8cEV9EemFYp9WpPPBHQ" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_Lh2VMEV9EemFYp9WpPPBHQ" name="getVerifiedBy">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_Lh2VMUV9EemFYp9WpPPBHQ" name="result" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q8icQEV9EemFYp9WpPPBHQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q8s0UEV9EemFYp9WpPPBHQ" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_NjuGUEV9EemFYp9WpPPBHQ" name="getTracedTo">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_NjuGUUV9EemFYp9WpPPBHQ" name="result" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_R0UY0EV9EemFYp9WpPPBHQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_R0eJ0EV9EemFYp9WpPPBHQ" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_S99hcEV9EemFYp9WpPPBHQ" name="getDerived">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_S99hcUV9EemFYp9WpPPBHQ" name="result" type="_tNfbUEV7EemFYp9WpPPBHQ" direction="return">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_S99hckV9EemFYp9WpPPBHQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_S99hc0V9EemFYp9WpPPBHQ" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_ZzxisEV9EemFYp9WpPPBHQ" name="getDerivedFrom">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_ZzxisUV9EemFYp9WpPPBHQ" name="result" type="_tNfbUEV7EemFYp9WpPPBHQ" direction="return">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZzxiskV9EemFYp9WpPPBHQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Zzxis0V9EemFYp9WpPPBHQ" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_d5GZUEV9EemFYp9WpPPBHQ" name="getRefinedBy">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_d5GZUUV9EemFYp9WpPPBHQ" name="result" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_d5GZUkV9EemFYp9WpPPBHQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_d5GZU0V9EemFYp9WpPPBHQ" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_gJzQoEV9EemFYp9WpPPBHQ" name="getMaster">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_gJzQoUV9EemFYp9WpPPBHQ" name="result" type="_tNfbUEV7EemFYp9WpPPBHQ" direction="return">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gJzQokV9EemFYp9WpPPBHQ"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gJzQo0V9EemFYp9WpPPBHQ" value="*"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:type="uml:Image" xmi:id="_F7etIEV-EemFYp9WpPPBHQ" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AbstractRequirement.gif">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7etIUV-EemFYp9WpPPBHQ" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F7etIkV-EemFYp9WpPPBHQ" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_0HCGAEV7EemFYp9WpPPBHQ" name="E_AbstractRequirement_NamedElement1" memberEnd="_0HEiQEV7EemFYp9WpPPBHQ _0HFJUEV7EemFYp9WpPPBHQ">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_0HEiQEV7EemFYp9WpPPBHQ" name="extension_AbstractRequirement" type="_tNfbUEV7EemFYp9WpPPBHQ" aggregation="composite" association="_0HCGAEV7EemFYp9WpPPBHQ"/>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ZW96QDn6EeWWssZOJ2QVuQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZW-hUDn6EeWWssZOJ2QVuQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Profile>
+  <Ecore:EPackage xmi:id="_dZfREJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_Blocks" packageName="blocks" nsPrefix="Blocks" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks" basePackage="org.eclipse.papyrus.sysml16" prefix="Blocks"/>
+  <Ecore:EPackage xmi:id="_fGLcYJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_Ports_u0026Flows" packageName="portsandflows" nsPrefix="PortsAndFlows" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows" basePackage="org.eclipse.papyrus.sysml16" prefix="PortsAndFlows"/>
+  <Ecore:EPackage xmi:id="_fya3UJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_Activities" packageName="activities" nsPrefix="Activities" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities" basePackage="org.eclipse.papyrus.sysml16" prefix="Activities"/>
+  <Ecore:EPackage xmi:id="_gQxnQJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_ModelElements" packageName="modelelements" nsPrefix="ModelElements" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements" basePackage="org.eclipse.papyrus.sysml16" prefix="ModelElements"/>
+  <Ecore:EPackage xmi:id="_g0eKMJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_ConstraintBlocks" packageName="constraintblocks" nsPrefix="ConstraintBlocks" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks" basePackage="org.eclipse.papyrus.sysml16" prefix="ConstraintBlocks"/>
+  <Ecore:EPackage xmi:id="_hUK98JvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_Allocations" packageName="allocations" nsPrefix="Allocations" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations" basePackage="org.eclipse.papyrus.sysml16" prefix="Allocations"/>
+  <Ecore:EPackage xmi:id="_hzXbYJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_Requirements" packageName="requirements" nsPrefix="Requirements" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements" basePackage="org.eclipse.papyrus.sysml16" prefix="Requirements"/>
+  <Ecore:EPackage xmi:id="_iUUMUJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_DeprecatedElements" packageName="deprecatedelements" nsPrefix="DeprecatedElements" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements" basePackage="org.eclipse.papyrus.sysml16" prefix="DeprecatedElements"/>
+  <Ecore:EPackage xmi:id="_Aa0lgJvoEeSpx5CUmLYZ-g" base_Package="SysML" packageName="sysml16" nsPrefix="SysML" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML" basePackage="org.eclipse.papyrus.sysml" prefix="SysML"/>
+</xmi:XMI>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ActivitiesFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ActivitiesFactory.java
new file mode 100644
index 0000000..20fa855
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ActivitiesFactory.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.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.sysml16.activities.internal.impl.ActivitiesFactoryImpl.init();
+
+	/**
+	 * 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>Rate</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Rate</em>'.
+	 * @generated
+	 */
+	Rate createRate();
+
+	/**
+	 * 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>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>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 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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ActivitiesPackage.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ActivitiesPackage.java
new file mode 100644
index 0000000..3184b42
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ActivitiesPackage.java
@@ -0,0 +1,888 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Activities'"
+ * @generated
+ */
+public interface ActivitiesPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "activities"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "Activities"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ActivitiesPackage eINSTANCE = org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl <em>Rate</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getRate()
+	 * @generated
+	 */
+	int RATE = 1;
+
+	/**
+	 * 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 = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Object Node</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RATE__BASE_OBJECT_NODE = 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 = 2;
+
+	/**
+	 * The feature id for the '<em><b>Rate</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RATE__RATE = 3;
+
+	/**
+	 * The number of structural features of the '<em>Rate</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RATE_FEATURE_COUNT = 4;
+
+	/**
+	 * 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.sysml16.activities.internal.impl.ContinuousImpl <em>Continuous</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ContinuousImpl
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getContinuous()
+	 * @generated
+	 */
+	int CONTINUOUS = 0;
+
+	/**
+	 * 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>Base Object Node</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUOUS__BASE_OBJECT_NODE = RATE__BASE_OBJECT_NODE;
+
+	/**
+	 * 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>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.sysml16.activities.internal.impl.ControlOperatorImpl <em>Control Operator</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ControlOperatorImpl
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getControlOperator()
+	 * @generated
+	 */
+	int CONTROL_OPERATOR = 2;
+
+	/**
+	 * 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 = 0;
+
+	/**
+	 * 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 = 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.sysml16.activities.internal.impl.DiscreteImpl <em>Discrete</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.DiscreteImpl
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getDiscrete()
+	 * @generated
+	 */
+	int DISCRETE = 3;
+
+	/**
+	 * 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>Base Object Node</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISCRETE__BASE_OBJECT_NODE = RATE__BASE_OBJECT_NODE;
+
+	/**
+	 * 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>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.sysml16.activities.internal.impl.NoBufferImpl <em>No Buffer</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.NoBufferImpl
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getNoBuffer()
+	 * @generated
+	 */
+	int NO_BUFFER = 4;
+
+	/**
+	 * 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.sysml16.activities.internal.impl.OptionalImpl <em>Optional</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.OptionalImpl
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getOptional()
+	 * @generated
+	 */
+	int OPTIONAL = 5;
+
+	/**
+	 * 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.sysml16.activities.internal.impl.OverwriteImpl <em>Overwrite</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.OverwriteImpl
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getOverwrite()
+	 * @generated
+	 */
+	int OVERWRITE = 6;
+
+	/**
+	 * 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;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl <em>Probability</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl
+	 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getProbability()
+	 * @generated
+	 */
+	int PROBABILITY = 7;
+
+	/**
+	 * 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;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.Continuous <em>Continuous</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Continuous</em>'.
+	 * @see org.eclipse.papyrus.sysml16.activities.Continuous
+	 * @generated
+	 */
+	EClass getContinuous();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.Rate <em>Rate</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Rate</em>'.
+	 * @see org.eclipse.papyrus.sysml16.activities.Rate
+	 * @generated
+	 */
+	EClass getRate();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Rate#getBase_ActivityEdge()
+	 * @see #getRate()
+	 * @generated
+	 */
+	EReference getRate_Base_ActivityEdge();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.activities.Rate#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.sysml16.activities.Rate#getBase_ObjectNode()
+	 * @see #getRate()
+	 * @generated
+	 */
+	EReference getRate_Base_ObjectNode();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Rate#getBase_Parameter()
+	 * @see #getRate()
+	 * @generated
+	 */
+	EReference getRate_Base_Parameter();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Rate#getRate()
+	 * @see #getRate()
+	 * @generated
+	 */
+	EReference getRate_Rate();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.ControlOperator
+	 * @generated
+	 */
+	EClass getControlOperator();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.ControlOperator#getBase_Behavior()
+	 * @see #getControlOperator()
+	 * @generated
+	 */
+	EReference getControlOperator_Base_Behavior();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.ControlOperator#getBase_Operation()
+	 * @see #getControlOperator()
+	 * @generated
+	 */
+	EReference getControlOperator_Base_Operation();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.Discrete <em>Discrete</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Discrete</em>'.
+	 * @see org.eclipse.papyrus.sysml16.activities.Discrete
+	 * @generated
+	 */
+	EClass getDiscrete();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.NoBuffer
+	 * @generated
+	 */
+	EClass getNoBuffer();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.NoBuffer#getBase_ObjectNode()
+	 * @see #getNoBuffer()
+	 * @generated
+	 */
+	EReference getNoBuffer_Base_ObjectNode();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.Optional <em>Optional</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Optional</em>'.
+	 * @see org.eclipse.papyrus.sysml16.activities.Optional
+	 * @generated
+	 */
+	EClass getOptional();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Optional#getBase_Parameter()
+	 * @see #getOptional()
+	 * @generated
+	 */
+	EReference getOptional_Base_Parameter();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.Overwrite <em>Overwrite</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Overwrite</em>'.
+	 * @see org.eclipse.papyrus.sysml16.activities.Overwrite
+	 * @generated
+	 */
+	EClass getOverwrite();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Overwrite#getBase_ObjectNode()
+	 * @see #getOverwrite()
+	 * @generated
+	 */
+	EReference getOverwrite_Base_ObjectNode();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.Probability <em>Probability</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Probability</em>'.
+	 * @see org.eclipse.papyrus.sysml16.activities.Probability
+	 * @generated
+	 */
+	EClass getProbability();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Probability#getBase_ActivityEdge()
+	 * @see #getProbability()
+	 * @generated
+	 */
+	EReference getProbability_Base_ActivityEdge();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Probability#getBase_ParameterSet()
+	 * @see #getProbability()
+	 * @generated
+	 */
+	EReference getProbability_Base_ParameterSet();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Probability#getProbability()
+	 * @see #getProbability()
+	 * @generated
+	 */
+	EReference getProbability_Probability();
+
+	/**
+	 * 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();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ContinuousImpl <em>Continuous</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ContinuousImpl
+		 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getContinuous()
+		 * @generated
+		 */
+		EClass CONTINUOUS = eINSTANCE.getContinuous();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl <em>Rate</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl
+		 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getRate()
+		 * @generated
+		 */
+		EClass RATE = eINSTANCE.getRate();
+
+		/**
+		 * 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>Base Object Node</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RATE__BASE_OBJECT_NODE = eINSTANCE.getRate_Base_ObjectNode();
+
+		/**
+		 * 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>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.sysml16.activities.internal.impl.ControlOperatorImpl <em>Control Operator</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ControlOperatorImpl
+		 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getControlOperator()
+		 * @generated
+		 */
+		EClass CONTROL_OPERATOR = eINSTANCE.getControlOperator();
+
+		/**
+		 * 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 '<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 '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.DiscreteImpl <em>Discrete</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.DiscreteImpl
+		 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getDiscrete()
+		 * @generated
+		 */
+		EClass DISCRETE = eINSTANCE.getDiscrete();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.NoBufferImpl <em>No Buffer</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.NoBufferImpl
+		 * @see org.eclipse.papyrus.sysml16.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.sysml16.activities.internal.impl.OptionalImpl <em>Optional</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.OptionalImpl
+		 * @see org.eclipse.papyrus.sysml16.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.sysml16.activities.internal.impl.OverwriteImpl <em>Overwrite</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.OverwriteImpl
+		 * @see org.eclipse.papyrus.sysml16.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 meta object literal for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl <em>Probability</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl
+		 * @see org.eclipse.papyrus.sysml16.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();
+
+	}
+
+} //ActivitiesPackage
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Continuous.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Continuous.java
new file mode 100644
index 0000000..b071721
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Continuous.java
@@ -0,0 +1,34 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Continuous</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             Continuous rate is a special case of rate of flow (see Rate) where the increment of time between items approaches zero. It is intended to represent continuous flows that may correspond to water flowing through a pipe, a time continuous signal, or continuous energy flow. It is independent from UML streaming. A streaming parameter may or may not apply to continuous flow, and a continuous flow may or may not apply to streaming parameters.
+ *           
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getContinuous()
+ * @model
+ * @generated
+ */
+public interface Continuous extends Rate {
+} // Continuous
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ControlOperator.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ControlOperator.java
new file mode 100644
index 0000000..4ac6810
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ControlOperator.java
@@ -0,0 +1,97 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             A control operator is a behavior that is intended to represent an arbitrarily complex logical operator that can be used to enable and disable other actions. When this stereotype is applied to behaviors, the behavior takes control values as inputs or provides them as outputs, that is, it treats control as data. When this stereotype is not applied, the behavior may not have a parameter typed by ControlValue. This stereotype also applies to operations with the same semantics.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.ControlOperator#getBase_Behavior <em>Base Behavior</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.ControlOperator#getBase_Operation <em>Base Operation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.activities.ActivitiesPackage#getControlOperator_Base_Behavior()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Behavior getBase_Behavior();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * 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.sysml16.activities.ActivitiesPackage#getControlOperator_Base_Operation()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Operation getBase_Operation();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Discrete.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Discrete.java
new file mode 100644
index 0000000..1f3b7b7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Discrete.java
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Discrete</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Discrete rate is a special case of rate of flow (see Rate) where the increment of time between items is non-zero.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getDiscrete()
+ * @model
+ * @generated
+ */
+public interface Discrete extends Rate {
+} // Discrete
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/NoBuffer.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/NoBuffer.java
new file mode 100644
index 0000000..b18d787
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/NoBuffer.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             When this stereotype is applied to object nodes, tokens arriving at the node are discarded if they are refused by outgoing edges, or refused by actions for object nodes that are input pins. This is typically used with fast or continuously flowing data values, to prevent buffer overrun, or to model transient values, such as electrical signals. For object nodes that are the target of continuous flows, «nobuffer» and «overwrite» have the same effect. The stereotype does not override UML token offering semantics; it just indicates what happens to the token when it is accepted. When the stereotype is not applied, the semantics are as in UML, specifically, tokens arriving at an object node that are refused by outgoing edges, or action for input pins, are held until they can leave the object node.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.NoBuffer#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.activities.ActivitiesPackage#getNoBuffer_Base_ObjectNode()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	ObjectNode getBase_ObjectNode();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Optional.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Optional.java
new file mode 100644
index 0000000..44e397c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Optional.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             When the «optional» stereotype is applied to parameters, the lower multiplicity must be equal to zero. This means the parameter is not required to have a value for the activity or any behavior to begin or end execution. Otherwise, the lower multiplicity must be greater than zero, which is called “required.”
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.Optional#getBase_Parameter <em>Base Parameter</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.activities.ActivitiesPackage#getOptional_Base_Parameter()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Parameter getBase_Parameter();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Overwrite.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Overwrite.java
new file mode 100644
index 0000000..9d16d72
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Overwrite.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             When the «overwrite» stereotype is applied to object nodes, a token arriving at a full object node replaces the ones already there (a full object node has as many tokens as allowed by its upper bound). This is typically used on an input pin with an upper bound of 1 to ensure that stale data is overridden at an input pin. For upper bounds greater than one, the token replaced is the one that would be the last to be selected according to the ordering kind for the node. For FIFO ordering, this is the most recently added token, for LIFO it is the least recently added token. A null token removes all the tokens already there. The number of tokens replaced is equal to the weight of the incoming edge, which defaults to 1. For object nodes that are the target of continuous flows, «overwrite» and «nobuffer» have the same effect. The stereotype does not override UML token offering semantics, just indicates what happens to the token when it is accepted. When the stereotype is not applied, the semantics is as in UML, specifically, tokens arriving at object nodes do not replace ones that are already there.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.Overwrite#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.activities.ActivitiesPackage#getOverwrite_Base_ObjectNode()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	ObjectNode getBase_ObjectNode();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Probability.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Probability.java
new file mode 100644
index 0000000..e7b95c4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Probability.java
@@ -0,0 +1,126 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             When the «probability» stereotype is applied to edges coming out of decision nodes and object nodes, it provides an expression for the probability that the edge will be traversed. These must be between zero and one inclusive, and add up to one for edges with same source at the time the probabilities are used.
+ * When the «probability» stereotype is applied to output parameter sets, it gives the probability the parameter set will be given values at runtime. These must be between zero and one inclusive, and add up to one for output parameter sets of the same behavior at the time the probabilities are used.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.Probability#getBase_ActivityEdge <em>Base Activity Edge</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.Probability#getBase_ParameterSet <em>Base Parameter Set</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.Probability#getProbability <em>Probability</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.activities.ActivitiesPackage#getProbability_Base_ActivityEdge()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	ActivityEdge getBase_ActivityEdge();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * 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.sysml16.activities.ActivitiesPackage#getProbability_Base_ParameterSet()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	ParameterSet getBase_ParameterSet();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * 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.sysml16.activities.ActivitiesPackage#getProbability_Probability()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	ValueSpecification getProbability();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Rate.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Rate.java
new file mode 100644
index 0000000..5fe4333
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Rate.java
@@ -0,0 +1,153 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rate</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             When the «rate» stereotype is applied to an activity edge, it specifies the expected value of the number of objects and values that traverse the edge per time interval, that is, the expected value rate at which they leave the source node and arrive at the target node. It does not refer to the rate at which a value changes over time. When the stereotype is applied to a parameter, the parameter must be streaming, and the stereotype gives the number of objects or values that flow in or out of the parameter per time interval while the behavior or operation is executing. Streaming is a characteristic of UML behavior parameters that supports the input and output of items while a behavior is executing, rather than only when the behavior starts and stops. The flow may be continuous or discrete. The «rate» stereotype has a rate property of type InstanceSpecification. The values of this property must be instances of classifiers stereotyped by «valueType» or «distributionDefinition». In particular, the denominator for units used in the rate property must be time units.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.Rate#getBase_ActivityEdge <em>Base Activity Edge</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.Rate#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.Rate#getBase_Parameter <em>Base Parameter</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.Rate#getRate <em>Rate</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.activities.ActivitiesPackage#getRate_Base_ActivityEdge()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	ActivityEdge getBase_ActivityEdge();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * 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.sysml16.activities.ActivitiesPackage#getRate_Base_ObjectNode()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	ObjectNode getBase_ObjectNode();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.activities.Rate#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);
+
+	/**
+	 * 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.sysml16.activities.ActivitiesPackage#getRate_Base_Parameter()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Parameter getBase_Parameter();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * 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.sysml16.activities.ActivitiesPackage#getRate_Rate()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	InstanceSpecification getRate();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ActivitiesFactoryImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ActivitiesFactoryImpl.java
new file mode 100644
index 0000000..5e5b465
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ActivitiesFactoryImpl.java
@@ -0,0 +1,192 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.activities.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActivitiesFactoryImpl extends EFactoryImpl implements ActivitiesFactory {
+	/**
+	 * 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.CONTINUOUS: return createContinuous();
+			case ActivitiesPackage.RATE: return createRate();
+			case ActivitiesPackage.CONTROL_OPERATOR: return createControlOperator();
+			case ActivitiesPackage.DISCRETE: return createDiscrete();
+			case ActivitiesPackage.NO_BUFFER: return createNoBuffer();
+			case ActivitiesPackage.OPTIONAL: return createOptional();
+			case ActivitiesPackage.OVERWRITE: return createOverwrite();
+			case ActivitiesPackage.PROBABILITY: return createProbability();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Continuous createContinuous() {
+		ContinuousImpl continuous = new ContinuousImpl();
+		return continuous;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Rate createRate() {
+		RateImpl rate = new RateImpl();
+		return rate;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ControlOperator createControlOperator() {
+		ControlOperatorImpl controlOperator = new ControlOperatorImpl();
+		return controlOperator;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Discrete createDiscrete() {
+		DiscreteImpl discrete = new DiscreteImpl();
+		return discrete;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NoBuffer createNoBuffer() {
+		NoBufferImpl noBuffer = new NoBufferImpl();
+		return noBuffer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Optional createOptional() {
+		OptionalImpl optional = new OptionalImpl();
+		return optional;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Overwrite createOverwrite() {
+		OverwriteImpl overwrite = new OverwriteImpl();
+		return overwrite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Probability createProbability() {
+		ProbabilityImpl probability = new ProbabilityImpl();
+		return probability;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ActivitiesPackage getActivitiesPackage() {
+		return (ActivitiesPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static ActivitiesPackage getPackage() {
+		return ActivitiesPackage.eINSTANCE;
+	}
+
+} //ActivitiesFactoryImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ActivitiesPackageImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ActivitiesPackageImpl.java
new file mode 100644
index 0000000..a8c7ac0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ActivitiesPackageImpl.java
@@ -0,0 +1,578 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesFactory;
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.activities.Continuous;
+import org.eclipse.papyrus.sysml16.activities.ControlOperator;
+import org.eclipse.papyrus.sysml16.activities.Discrete;
+import org.eclipse.papyrus.sysml16.activities.NoBuffer;
+import org.eclipse.papyrus.sysml16.activities.Optional;
+import org.eclipse.papyrus.sysml16.activities.Overwrite;
+import org.eclipse.papyrus.sysml16.activities.Probability;
+import org.eclipse.papyrus.sysml16.activities.Rate;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+import org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
+
+import org.eclipse.papyrus.sysml16.sysml.internal.impl.SysMLPackageImpl;
+
+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 ActivitiesPackageImpl extends EPackageImpl implements ActivitiesPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass continuousEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass rateEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass controlOperatorEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass discreteEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass noBufferEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass optionalEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass overwriteEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass probabilityEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private ActivitiesPackageImpl() {
+		super(eNS_URI, ActivitiesFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link 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
+		Object registeredActivitiesPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		ActivitiesPackageImpl theActivitiesPackage = registeredActivitiesPackage instanceof ActivitiesPackageImpl ? (ActivitiesPackageImpl)registeredActivitiesPackage : new ActivitiesPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		StandardPackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SysMLPackage.eNS_URI);
+		SysMLPackageImpl theSysMLPackage = (SysMLPackageImpl)(registeredPackage instanceof SysMLPackageImpl ? registeredPackage : SysMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl)(registeredPackage instanceof AllocationsPackageImpl ? registeredPackage : AllocationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl)(registeredPackage instanceof BlocksPackageImpl ? registeredPackage : BlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConstraintBlocksPackage.eNS_URI);
+		ConstraintBlocksPackageImpl theConstraintBlocksPackage = (ConstraintBlocksPackageImpl)(registeredPackage instanceof ConstraintBlocksPackageImpl ? registeredPackage : ConstraintBlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DeprecatedElementsPackage.eNS_URI);
+		DeprecatedElementsPackageImpl theDeprecatedElementsPackage = (DeprecatedElementsPackageImpl)(registeredPackage instanceof DeprecatedElementsPackageImpl ? registeredPackage : DeprecatedElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(PortsAndFlowsPackage.eNS_URI);
+		PortsAndFlowsPackageImpl thePortsAndFlowsPackage = (PortsAndFlowsPackageImpl)(registeredPackage instanceof PortsAndFlowsPackageImpl ? registeredPackage : PortsAndFlowsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModelElementsPackage.eNS_URI);
+		ModelElementsPackageImpl theModelElementsPackage = (ModelElementsPackageImpl)(registeredPackage instanceof ModelElementsPackageImpl ? registeredPackage : ModelElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(registeredPackage instanceof RequirementsPackageImpl ? registeredPackage : RequirementsPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theActivitiesPackage.createPackageContents();
+		theSysMLPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		theConstraintBlocksPackage.createPackageContents();
+		theDeprecatedElementsPackage.createPackageContents();
+		thePortsAndFlowsPackage.createPackageContents();
+		theModelElementsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theActivitiesPackage.initializePackageContents();
+		theSysMLPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		theConstraintBlocksPackage.initializePackageContents();
+		theDeprecatedElementsPackage.initializePackageContents();
+		thePortsAndFlowsPackage.initializePackageContents();
+		theModelElementsPackage.initializePackageContents();
+		theRequirementsPackage.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
+	 */
+	@Override
+	public EClass getContinuous() {
+		return continuousEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getRate() {
+		return rateEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getRate_Base_ActivityEdge() {
+		return (EReference)rateEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getRate_Base_ObjectNode() {
+		return (EReference)rateEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getRate_Base_Parameter() {
+		return (EReference)rateEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getRate_Rate() {
+		return (EReference)rateEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getControlOperator() {
+		return controlOperatorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getControlOperator_Base_Behavior() {
+		return (EReference)controlOperatorEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getControlOperator_Base_Operation() {
+		return (EReference)controlOperatorEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDiscrete() {
+		return discreteEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getNoBuffer() {
+		return noBufferEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getNoBuffer_Base_ObjectNode() {
+		return (EReference)noBufferEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getOptional() {
+		return optionalEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getOptional_Base_Parameter() {
+		return (EReference)optionalEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getOverwrite() {
+		return overwriteEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getOverwrite_Base_ObjectNode() {
+		return (EReference)overwriteEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getProbability() {
+		return probabilityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getProbability_Base_ActivityEdge() {
+		return (EReference)probabilityEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getProbability_Base_ParameterSet() {
+		return (EReference)probabilityEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getProbability_Probability() {
+		return (EReference)probabilityEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ActivitiesFactory getActivitiesFactory() {
+		return (ActivitiesFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		continuousEClass = createEClass(CONTINUOUS);
+
+		rateEClass = createEClass(RATE);
+		createEReference(rateEClass, RATE__BASE_ACTIVITY_EDGE);
+		createEReference(rateEClass, RATE__BASE_OBJECT_NODE);
+		createEReference(rateEClass, RATE__BASE_PARAMETER);
+		createEReference(rateEClass, RATE__RATE);
+
+		controlOperatorEClass = createEClass(CONTROL_OPERATOR);
+		createEReference(controlOperatorEClass, CONTROL_OPERATOR__BASE_BEHAVIOR);
+		createEReference(controlOperatorEClass, CONTROL_OPERATOR__BASE_OPERATION);
+
+		discreteEClass = createEClass(DISCRETE);
+
+		noBufferEClass = createEClass(NO_BUFFER);
+		createEReference(noBufferEClass, NO_BUFFER__BASE_OBJECT_NODE);
+
+		optionalEClass = createEClass(OPTIONAL);
+		createEReference(optionalEClass, OPTIONAL__BASE_PARAMETER);
+
+		overwriteEClass = createEClass(OVERWRITE);
+		createEReference(overwriteEClass, OVERWRITE__BASE_OBJECT_NODE);
+
+		probabilityEClass = createEClass(PROBABILITY);
+		createEReference(probabilityEClass, PROBABILITY__BASE_ACTIVITY_EDGE);
+		createEReference(probabilityEClass, PROBABILITY__BASE_PARAMETER_SET);
+		createEReference(probabilityEClass, PROBABILITY__PROBABILITY);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		continuousEClass.getESuperTypes().add(this.getRate());
+		discreteEClass.getESuperTypes().add(this.getRate());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(continuousEClass, Continuous.class, "Continuous", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(rateEClass, Rate.class, "Rate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getRate_Base_ActivityEdge(), theUMLPackage.getActivityEdge(), null, "base_ActivityEdge", null, 0, 1, Rate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getRate_Base_ObjectNode(), theUMLPackage.getObjectNode(), null, "base_ObjectNode", null, 0, 1, Rate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getRate_Base_Parameter(), theUMLPackage.getParameter(), null, "base_Parameter", null, 0, 1, Rate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getRate_Rate(), theUMLPackage.getInstanceSpecification(), null, "rate", null, 1, 1, Rate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(controlOperatorEClass, ControlOperator.class, "ControlOperator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getControlOperator_Base_Behavior(), theUMLPackage.getBehavior(), null, "base_Behavior", null, 0, 1, ControlOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getControlOperator_Base_Operation(), theUMLPackage.getOperation(), null, "base_Operation", null, 0, 1, ControlOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(discreteEClass, Discrete.class, "Discrete", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(noBufferEClass, NoBuffer.class, "NoBuffer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getNoBuffer_Base_ObjectNode(), theUMLPackage.getObjectNode(), null, "base_ObjectNode", null, 0, 1, NoBuffer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(optionalEClass, Optional.class, "Optional", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getOptional_Base_Parameter(), theUMLPackage.getParameter(), null, "base_Parameter", null, 0, 1, Optional.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(overwriteEClass, Overwrite.class, "Overwrite", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getOverwrite_Base_ObjectNode(), theUMLPackage.getObjectNode(), null, "base_ObjectNode", null, 0, 1, Overwrite.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(probabilityEClass, Probability.class, "Probability", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getProbability_Base_ActivityEdge(), theUMLPackage.getActivityEdge(), null, "base_ActivityEdge", null, 0, 1, Probability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getProbability_Base_ParameterSet(), theUMLPackage.getParameterSet(), null, "base_ParameterSet", null, 0, 1, Probability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getProbability_Probability(), theUMLPackage.getValueSpecification(), null, "probability", null, 1, 1, Probability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		// Create annotations
+		// http://www.eclipse.org/uml2/2.0.0/UML
+		createUMLAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createUMLAnnotations() {
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$
+		addAnnotation
+		  (this,
+		   source,
+		   new String[] {
+			   "originalName", "Activities" //$NON-NLS-1$ //$NON-NLS-2$
+		   });
+	}
+
+} //ActivitiesPackageImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ContinuousImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ContinuousImpl.java
new file mode 100644
index 0000000..3bd2d88
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ContinuousImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.activities.Continuous;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Continuous</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ControlOperatorImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ControlOperatorImpl.java
new file mode 100644
index 0000000..3fb8388
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ControlOperatorImpl.java
@@ -0,0 +1,234 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ControlOperatorImpl#getBase_Behavior <em>Base Behavior</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ControlOperatorImpl#getBase_Operation <em>Base Operation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ControlOperatorImpl extends MinimalEObjectImpl.Container implements ControlOperator {
+	/**
+	 * 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 ControlOperatorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- 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 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 Behavior basicGetBase_Behavior() {
+		return base_Behavior;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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
+	 */
+	@Override
+	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 Operation basicGetBase_Operation() {
+		return base_Operation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR:
+				if (resolve) return getBase_Behavior();
+				return basicGetBase_Behavior();
+			case ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION:
+				if (resolve) return getBase_Operation();
+				return basicGetBase_Operation();
+		}
+		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.CONTROL_OPERATOR__BASE_BEHAVIOR:
+				setBase_Behavior((Behavior)newValue);
+				return;
+			case ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION:
+				setBase_Operation((Operation)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR:
+				setBase_Behavior((Behavior)null);
+				return;
+			case ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION:
+				setBase_Operation((Operation)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR:
+				return base_Behavior != null;
+			case ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION:
+				return base_Operation != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ControlOperatorImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/DiscreteImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/DiscreteImpl.java
new file mode 100644
index 0000000..9b7807a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/DiscreteImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.activities.Discrete;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Discrete</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/NoBufferImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/NoBufferImpl.java
new file mode 100644
index 0000000..727a3e9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/NoBufferImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.NoBufferImpl#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ActivitiesPackage.Literals.NO_BUFFER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 ObjectNode basicGetBase_ObjectNode() {
+		return base_ObjectNode;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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));
+	}
+
+	/**
+	 * <!-- 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 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
+	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
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ActivitiesPackage.NO_BUFFER__BASE_OBJECT_NODE:
+				return base_ObjectNode != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //NoBufferImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/OptionalImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/OptionalImpl.java
new file mode 100644
index 0000000..c6ec672
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/OptionalImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.OptionalImpl#getBase_Parameter <em>Base Parameter</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	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
+	 */
+	@Override
+	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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/OverwriteImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/OverwriteImpl.java
new file mode 100644
index 0000000..37582b2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/OverwriteImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.OverwriteImpl#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ActivitiesPackage.Literals.OVERWRITE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 ObjectNode basicGetBase_ObjectNode() {
+		return base_ObjectNode;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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));
+	}
+
+	/**
+	 * <!-- 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 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
+	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
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ActivitiesPackage.OVERWRITE__BASE_OBJECT_NODE:
+				return base_ObjectNode != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //OverwriteImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ProbabilityImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ProbabilityImpl.java
new file mode 100644
index 0000000..e6274ce
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ProbabilityImpl.java
@@ -0,0 +1,297 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl#getBase_ActivityEdge <em>Base Activity Edge</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl#getBase_ParameterSet <em>Base Parameter Set</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl#getProbability <em>Probability</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ActivitiesPackage.Literals.PROBABILITY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 ActivityEdge basicGetBase_ActivityEdge() {
+		return base_ActivityEdge;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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
+	 */
+	@Override
+	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 ParameterSet basicGetBase_ParameterSet() {
+		return base_ParameterSet;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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
+	 */
+	@Override
+	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 ValueSpecification basicGetProbability() {
+		return probability;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setProbability(ValueSpecification newProbability) {
+		ValueSpecification oldProbability = probability;
+		probability = newProbability;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.PROBABILITY__PROBABILITY, oldProbability, 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 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
+	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
+	 */
+	@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);
+	}
+
+} //ProbabilityImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/RateImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/RateImpl.java
new file mode 100644
index 0000000..0f2fb4d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/RateImpl.java
@@ -0,0 +1,360 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.activities.Rate;
+
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.ObjectNode;
+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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl#getBase_ActivityEdge <em>Base Activity Edge</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl#getBase_Parameter <em>Base Parameter</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl#getRate <em>Rate</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RateImpl extends MinimalEObjectImpl.Container implements Rate {
+	/**
+	 * 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_ObjectNode() <em>Base Object Node</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_ObjectNode()
+	 * @generated
+	 * @ordered
+	 */
+	protected ObjectNode base_ObjectNode;
+
+	/**
+	 * 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 #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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ActivitiesPackage.Literals.RATE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 ActivityEdge basicGetBase_ActivityEdge() {
+		return base_ActivityEdge;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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
+	 */
+	@Override
+	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.RATE__BASE_OBJECT_NODE, oldBase_ObjectNode, base_ObjectNode));
+			}
+		}
+		return base_ObjectNode;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ObjectNode basicGetBase_ObjectNode() {
+		return base_ObjectNode;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.RATE__BASE_OBJECT_NODE, oldBase_ObjectNode, base_ObjectNode));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 Parameter basicGetBase_Parameter() {
+		return base_Parameter;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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
+	 */
+	@Override
+	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 InstanceSpecification basicGetRate() {
+		return rate;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setRate(InstanceSpecification newRate) {
+		InstanceSpecification oldRate = rate;
+		rate = newRate;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.RATE__RATE, oldRate, rate));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE:
+				if (resolve) return getBase_ActivityEdge();
+				return basicGetBase_ActivityEdge();
+			case ActivitiesPackage.RATE__BASE_OBJECT_NODE:
+				if (resolve) return getBase_ObjectNode();
+				return basicGetBase_ObjectNode();
+			case ActivitiesPackage.RATE__BASE_PARAMETER:
+				if (resolve) return getBase_Parameter();
+				return basicGetBase_Parameter();
+			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 void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE:
+				setBase_ActivityEdge((ActivityEdge)newValue);
+				return;
+			case ActivitiesPackage.RATE__BASE_OBJECT_NODE:
+				setBase_ObjectNode((ObjectNode)newValue);
+				return;
+			case ActivitiesPackage.RATE__BASE_PARAMETER:
+				setBase_Parameter((Parameter)newValue);
+				return;
+			case ActivitiesPackage.RATE__RATE:
+				setRate((InstanceSpecification)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE:
+				setBase_ActivityEdge((ActivityEdge)null);
+				return;
+			case ActivitiesPackage.RATE__BASE_OBJECT_NODE:
+				setBase_ObjectNode((ObjectNode)null);
+				return;
+			case ActivitiesPackage.RATE__BASE_PARAMETER:
+				setBase_Parameter((Parameter)null);
+				return;
+			case ActivitiesPackage.RATE__RATE:
+				setRate((InstanceSpecification)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE:
+				return base_ActivityEdge != null;
+			case ActivitiesPackage.RATE__BASE_OBJECT_NODE:
+				return base_ObjectNode != null;
+			case ActivitiesPackage.RATE__BASE_PARAMETER:
+				return base_Parameter != null;
+			case ActivitiesPackage.RATE__RATE:
+				return rate != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //RateImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/util/ActivitiesAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/util/ActivitiesAdapterFactory.java
new file mode 100644
index 0000000..fb5ec41
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/util/ActivitiesAdapterFactory.java
@@ -0,0 +1,257 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.activities.*;
+
+/**
+ * <!-- 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.sysml16.activities.ActivitiesPackage
+ * @generated
+ */
+public class ActivitiesAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ActivitiesPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ActivitiesAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = ActivitiesPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ActivitiesSwitch<Adapter> modelSwitch =
+		new ActivitiesSwitch<Adapter>() {
+			@Override
+			public Adapter caseContinuous(Continuous object) {
+				return createContinuousAdapter();
+			}
+			@Override
+			public Adapter caseRate(Rate object) {
+				return createRateAdapter();
+			}
+			@Override
+			public Adapter caseControlOperator(ControlOperator object) {
+				return createControlOperatorAdapter();
+			}
+			@Override
+			public Adapter caseDiscrete(Discrete object) {
+				return createDiscreteAdapter();
+			}
+			@Override
+			public Adapter caseNoBuffer(NoBuffer object) {
+				return createNoBufferAdapter();
+			}
+			@Override
+			public Adapter caseOptional(Optional object) {
+				return createOptionalAdapter();
+			}
+			@Override
+			public Adapter caseOverwrite(Overwrite object) {
+				return createOverwriteAdapter();
+			}
+			@Override
+			public Adapter caseProbability(Probability object) {
+				return createProbabilityAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Continuous
+	 * @generated
+	 */
+	public Adapter createContinuousAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Rate
+	 * @generated
+	 */
+	public Adapter createRateAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.ControlOperator
+	 * @generated
+	 */
+	public Adapter createControlOperatorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Discrete
+	 * @generated
+	 */
+	public Adapter createDiscreteAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.NoBuffer
+	 * @generated
+	 */
+	public Adapter createNoBufferAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Optional
+	 * @generated
+	 */
+	public Adapter createOptionalAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Overwrite
+	 * @generated
+	 */
+	public Adapter createOverwriteAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.activities.Probability
+	 * @generated
+	 */
+	public Adapter createProbabilityAdapter() {
+		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;
+	}
+
+} //ActivitiesAdapterFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/util/ActivitiesSwitch.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/util/ActivitiesSwitch.java
new file mode 100644
index 0000000..6dda2c3
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/util/ActivitiesSwitch.java
@@ -0,0 +1,270 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.activities.*;
+
+/**
+ * <!-- 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.sysml16.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 -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case 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.RATE: {
+				Rate rate = (Rate)theEObject;
+				T result = caseRate(rate);
+				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.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.NO_BUFFER: {
+				NoBuffer noBuffer = (NoBuffer)theEObject;
+				T result = caseNoBuffer(noBuffer);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ActivitiesPackage.OPTIONAL: {
+				Optional optional = (Optional)theEObject;
+				T result = caseOptional(optional);
+				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;
+			}
+			case ActivitiesPackage.PROBABILITY: {
+				Probability probability = (Probability)theEObject;
+				T result = caseProbability(probability);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * 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>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>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>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;
+	}
+
+	/**
+	 * 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>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;
+	}
+
+} //ActivitiesSwitch
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/Allocate.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/Allocate.java
new file mode 100644
index 0000000..2adb1ed
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/Allocate.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Allocate</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             Allocate is a dependency based on UML::abstraction. It is a mechanism for associating elements of different types, or in different hierarchies, at an abstract level. Allocate is used for assessing user model consistency and directing future design activity. It is expected that an «allocate» relationship between model elements is a precursor to a more concrete relationship between the elements, their properties, operations, attributes, or sub-classes.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.allocations.Allocate#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocationsPackage#getAllocate()
+ * @model
+ * @generated
+ */
+public interface Allocate extends DirectedRelationshipPropertyPath {
+	/**
+	 * 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.sysml16.allocations.AllocationsPackage#getAllocate_Base_Abstraction()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Abstraction getBase_Abstraction();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model refRequired="true" refOrdered="false" resultMany="true" resultOrdered="false"
+	 * @generated
+	 */
+	void getAllocatedFrom(NamedElement ref, EList<NamedElement> result);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model refRequired="true" refOrdered="false" resultMany="true" resultOrdered="false"
+	 * @generated
+	 */
+	void getAllocatedTo(NamedElement ref, EList<NamedElement> result);
+
+} // Allocate
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocateActivityPartition.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocateActivityPartition.java
new file mode 100644
index 0000000..f1c4be5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocateActivityPartition.java
@@ -0,0 +1,67 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 -->
+ *
+ * <!-- begin-model-doc -->
+ * AllocateActivityPartition is used to depict an «allocate» relationship on an Activity diagram. The AllocateActivityPartition is a standard UML2::ActivityPartition, with modified constraints as stated in the paragraph below.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition#getBase_ActivityPartition <em>Base Activity Partition</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.allocations.AllocationsPackage#getAllocateActivityPartition_Base_ActivityPartition()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	ActivityPartition getBase_ActivityPartition();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocationsFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocationsFactory.java
new file mode 100644
index 0000000..40f56ab
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocationsFactory.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.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.sysml16.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 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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocationsPackage.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocationsPackage.java
new file mode 100644
index 0000000..fb5c402
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocationsPackage.java
@@ -0,0 +1,350 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.sysml16.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 operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocationsFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Allocations'"
+ * @generated
+ */
+public interface AllocationsPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "allocations"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "Allocations"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	AllocationsPackage eINSTANCE = org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateImpl <em>Allocate</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateImpl
+	 * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl#getAllocate()
+	 * @generated
+	 */
+	int ALLOCATE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Directed Relationship</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE__BASE_DIRECTED_RELATIONSHIP = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP;
+
+	/**
+	 * The feature id for the '<em><b>Source Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE__SOURCE_CONTEXT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Source Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE__SOURCE_PROPERTY_PATH = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Target Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE__TARGET_CONTEXT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Target Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE__TARGET_PROPERTY_PATH = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Base Abstraction</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE__BASE_ABSTRACTION = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Allocate</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE_FEATURE_COUNT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Get Allocated From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE___GET_ALLOCATED_FROM__NAMEDELEMENT_ELIST = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Get Allocated To</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE___GET_ALLOCATED_TO__NAMEDELEMENT_ELIST = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_OPERATION_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Allocate</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE_OPERATION_COUNT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_OPERATION_COUNT + 2;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateActivityPartitionImpl <em>Allocate Activity Partition</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateActivityPartitionImpl
+	 * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl#getAllocateActivityPartition()
+	 * @generated
+	 */
+	int ALLOCATE_ACTIVITY_PARTITION = 1;
+
+	/**
+	 * 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.sysml16.allocations.Allocate <em>Allocate</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Allocate</em>'.
+	 * @see org.eclipse.papyrus.sysml16.allocations.Allocate
+	 * @generated
+	 */
+	EClass getAllocate();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.allocations.Allocate#getBase_Abstraction()
+	 * @see #getAllocate()
+	 * @generated
+	 */
+	EReference getAllocate_Base_Abstraction();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.allocations.Allocate#getAllocatedFrom(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList) <em>Get Allocated From</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Allocated From</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.allocations.Allocate#getAllocatedFrom(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList)
+	 * @generated
+	 */
+	EOperation getAllocate__GetAllocatedFrom__NamedElement_EList();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.allocations.Allocate#getAllocatedTo(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList) <em>Get Allocated To</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Allocated To</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.allocations.Allocate#getAllocatedTo(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList)
+	 * @generated
+	 */
+	EOperation getAllocate__GetAllocatedTo__NamedElement_EList();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.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.sysml16.allocations.AllocateActivityPartition
+	 * @generated
+	 */
+	EClass getAllocateActivityPartition();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.allocations.AllocateActivityPartition#getBase_ActivityPartition()
+	 * @see #getAllocateActivityPartition()
+	 * @generated
+	 */
+	EReference getAllocateActivityPartition_Base_ActivityPartition();
+
+	/**
+	 * 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();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateImpl <em>Allocate</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateImpl
+		 * @see org.eclipse.papyrus.sysml16.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 '<em><b>Get Allocated From</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ALLOCATE___GET_ALLOCATED_FROM__NAMEDELEMENT_ELIST = eINSTANCE.getAllocate__GetAllocatedFrom__NamedElement_EList();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Allocated To</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ALLOCATE___GET_ALLOCATED_TO__NAMEDELEMENT_ELIST = eINSTANCE.getAllocate__GetAllocatedTo__NamedElement_EList();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateActivityPartitionImpl <em>Allocate Activity Partition</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateActivityPartitionImpl
+		 * @see org.eclipse.papyrus.sysml16.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();
+
+	}
+
+} //AllocationsPackage
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocateActivityPartitionImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocateActivityPartitionImpl.java
new file mode 100644
index 0000000..4959ae2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocateActivityPartitionImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.allocations.AllocateActivityPartition;
+import org.eclipse.papyrus.sysml16.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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateActivityPartitionImpl#getBase_ActivityPartition <em>Base Activity Partition</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return AllocationsPackage.Literals.ALLOCATE_ACTIVITY_PARTITION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 ActivityPartition basicGetBase_ActivityPartition() {
+		return base_ActivityPartition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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));
+	}
+
+	/**
+	 * <!-- 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 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
+	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
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION:
+				return base_ActivityPartition != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //AllocateActivityPartitionImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocateImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocateImpl.java
new file mode 100644
index 0000000..daf2255
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocateImpl.java
@@ -0,0 +1,218 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.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.papyrus.sysml16.allocations.Allocate;
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.DirectedRelationshipPropertyPathImpl;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Allocate</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateImpl#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AllocateImpl extends DirectedRelationshipPropertyPathImpl 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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return AllocationsPackage.Literals.ALLOCATE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 Abstraction basicGetBase_Abstraction() {
+		return base_Abstraction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void getAllocatedFrom(NamedElement ref, EList<NamedElement> result) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void getAllocatedTo(NamedElement ref, EList<NamedElement> result) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- 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 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
+	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
+	 */
+	@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
+	@SuppressWarnings("unchecked")
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+			case AllocationsPackage.ALLOCATE___GET_ALLOCATED_FROM__NAMEDELEMENT_ELIST:
+				getAllocatedFrom((NamedElement)arguments.get(0), (EList<NamedElement>)arguments.get(1));
+				return null;
+			case AllocationsPackage.ALLOCATE___GET_ALLOCATED_TO__NAMEDELEMENT_ELIST:
+				getAllocatedTo((NamedElement)arguments.get(0), (EList<NamedElement>)arguments.get(1));
+				return null;
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+} //AllocateImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocationsFactoryImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocationsFactoryImpl.java
new file mode 100644
index 0000000..aa601a4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocationsFactoryImpl.java
@@ -0,0 +1,120 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.allocations.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AllocationsFactoryImpl extends EFactoryImpl implements AllocationsFactory {
+	/**
+	 * 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.ALLOCATE_ACTIVITY_PARTITION: return createAllocateActivityPartition();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Allocate createAllocate() {
+		AllocateImpl allocate = new AllocateImpl();
+		return allocate;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public AllocateActivityPartition createAllocateActivityPartition() {
+		AllocateActivityPartitionImpl allocateActivityPartition = new AllocateActivityPartitionImpl();
+		return allocateActivityPartition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public AllocationsPackage getAllocationsPackage() {
+		return (AllocationsPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static AllocationsPackage getPackage() {
+		return AllocationsPackage.eINSTANCE;
+	}
+
+} //AllocationsFactoryImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocationsPackageImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocationsPackageImpl.java
new file mode 100644
index 0000000..0b4fce2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocationsPackageImpl.java
@@ -0,0 +1,357 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl;
+
+import org.eclipse.papyrus.sysml16.allocations.Allocate;
+import org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition;
+import org.eclipse.papyrus.sysml16.allocations.AllocationsFactory;
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+import org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
+
+import org.eclipse.papyrus.sysml16.sysml.internal.impl.SysMLPackageImpl;
+
+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 AllocationsPackageImpl extends EPackageImpl implements AllocationsPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass allocateEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass allocateActivityPartitionEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml16.allocations.AllocationsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private AllocationsPackageImpl() {
+		super(eNS_URI, AllocationsFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link 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
+		Object registeredAllocationsPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		AllocationsPackageImpl theAllocationsPackage = registeredAllocationsPackage instanceof AllocationsPackageImpl ? (AllocationsPackageImpl)registeredAllocationsPackage : new AllocationsPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		StandardPackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SysMLPackage.eNS_URI);
+		SysMLPackageImpl theSysMLPackage = (SysMLPackageImpl)(registeredPackage instanceof SysMLPackageImpl ? registeredPackage : SysMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl)(registeredPackage instanceof ActivitiesPackageImpl ? registeredPackage : ActivitiesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl)(registeredPackage instanceof BlocksPackageImpl ? registeredPackage : BlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConstraintBlocksPackage.eNS_URI);
+		ConstraintBlocksPackageImpl theConstraintBlocksPackage = (ConstraintBlocksPackageImpl)(registeredPackage instanceof ConstraintBlocksPackageImpl ? registeredPackage : ConstraintBlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DeprecatedElementsPackage.eNS_URI);
+		DeprecatedElementsPackageImpl theDeprecatedElementsPackage = (DeprecatedElementsPackageImpl)(registeredPackage instanceof DeprecatedElementsPackageImpl ? registeredPackage : DeprecatedElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(PortsAndFlowsPackage.eNS_URI);
+		PortsAndFlowsPackageImpl thePortsAndFlowsPackage = (PortsAndFlowsPackageImpl)(registeredPackage instanceof PortsAndFlowsPackageImpl ? registeredPackage : PortsAndFlowsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModelElementsPackage.eNS_URI);
+		ModelElementsPackageImpl theModelElementsPackage = (ModelElementsPackageImpl)(registeredPackage instanceof ModelElementsPackageImpl ? registeredPackage : ModelElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(registeredPackage instanceof RequirementsPackageImpl ? registeredPackage : RequirementsPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theAllocationsPackage.createPackageContents();
+		theSysMLPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		theConstraintBlocksPackage.createPackageContents();
+		theDeprecatedElementsPackage.createPackageContents();
+		thePortsAndFlowsPackage.createPackageContents();
+		theModelElementsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theAllocationsPackage.initializePackageContents();
+		theSysMLPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		theConstraintBlocksPackage.initializePackageContents();
+		theDeprecatedElementsPackage.initializePackageContents();
+		thePortsAndFlowsPackage.initializePackageContents();
+		theModelElementsPackage.initializePackageContents();
+		theRequirementsPackage.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
+	 */
+	@Override
+	public EClass getAllocate() {
+		return allocateEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAllocate_Base_Abstraction() {
+		return (EReference)allocateEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getAllocate__GetAllocatedFrom__NamedElement_EList() {
+		return allocateEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getAllocate__GetAllocatedTo__NamedElement_EList() {
+		return allocateEClass.getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getAllocateActivityPartition() {
+		return allocateActivityPartitionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAllocateActivityPartition_Base_ActivityPartition() {
+		return (EReference)allocateActivityPartitionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public AllocationsFactory getAllocationsFactory() {
+		return (AllocationsFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		allocateEClass = createEClass(ALLOCATE);
+		createEReference(allocateEClass, ALLOCATE__BASE_ABSTRACTION);
+		createEOperation(allocateEClass, ALLOCATE___GET_ALLOCATED_FROM__NAMEDELEMENT_ELIST);
+		createEOperation(allocateEClass, ALLOCATE___GET_ALLOCATED_TO__NAMEDELEMENT_ELIST);
+
+		allocateActivityPartitionEClass = createEClass(ALLOCATE_ACTIVITY_PARTITION);
+		createEReference(allocateActivityPartitionEClass, ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		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
+		allocateEClass.getESuperTypes().add(theBlocksPackage.getDirectedRelationshipPropertyPath());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(allocateEClass, Allocate.class, "Allocate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getAllocate_Base_Abstraction(), theUMLPackage.getAbstraction(), null, "base_Abstraction", null, 0, 1, Allocate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		EOperation op = initEOperation(getAllocate__GetAllocatedFrom__NamedElement_EList(), null, "getAllocatedFrom", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getNamedElement(), "ref", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getNamedElement(), "result", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		op = initEOperation(getAllocate__GetAllocatedTo__NamedElement_EList(), null, "getAllocatedTo", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getNamedElement(), "ref", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getNamedElement(), "result", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(allocateActivityPartitionEClass, AllocateActivityPartition.class, "AllocateActivityPartition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getAllocateActivityPartition_Base_ActivityPartition(), theUMLPackage.getActivityPartition(), null, "base_ActivityPartition", null, 0, 1, AllocateActivityPartition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		// Create annotations
+		// http://www.eclipse.org/uml2/2.0.0/UML
+		createUMLAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createUMLAnnotations() {
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$
+		addAnnotation
+		  (this,
+		   source,
+		   new String[] {
+			   "originalName", "Allocations" //$NON-NLS-1$ //$NON-NLS-2$
+		   });
+	}
+
+} //AllocationsPackageImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/util/AllocationsAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/util/AllocationsAdapterFactory.java
new file mode 100644
index 0000000..e724aec
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/util/AllocationsAdapterFactory.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.allocations.*;
+
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+
+/**
+ * <!-- 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.sysml16.allocations.AllocationsPackage
+ * @generated
+ */
+public class AllocationsAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static AllocationsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AllocationsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = AllocationsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AllocationsSwitch<Adapter> modelSwitch =
+		new AllocationsSwitch<Adapter>() {
+			@Override
+			public Adapter caseAllocate(Allocate object) {
+				return createAllocateAdapter();
+			}
+			@Override
+			public Adapter caseAllocateActivityPartition(AllocateActivityPartition object) {
+				return createAllocateActivityPartitionAdapter();
+			}
+			@Override
+			public Adapter caseDirectedRelationshipPropertyPath(DirectedRelationshipPropertyPath object) {
+				return createDirectedRelationshipPropertyPathAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.allocations.Allocate
+	 * @generated
+	 */
+	public Adapter createAllocateAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.allocations.AllocateActivityPartition
+	 * @generated
+	 */
+	public Adapter createAllocateActivityPartitionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath <em>Directed Relationship Property Path</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.sysml16.blocks.DirectedRelationshipPropertyPath
+	 * @generated
+	 */
+	public Adapter createDirectedRelationshipPropertyPathAdapter() {
+		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;
+	}
+
+} //AllocationsAdapterFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/util/AllocationsSwitch.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/util/AllocationsSwitch.java
new file mode 100644
index 0000000..1126fd3
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/util/AllocationsSwitch.java
@@ -0,0 +1,160 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.allocations.*;
+
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+
+/**
+ * <!-- 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.sysml16.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 -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case AllocationsPackage.ALLOCATE: {
+				Allocate allocate = (Allocate)theEObject;
+				T result = caseAllocate(allocate);
+				if (result == null) result = caseDirectedRelationshipPropertyPath(allocate);
+				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);
+		}
+	}
+
+	/**
+	 * 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>Directed Relationship Property Path</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>Directed Relationship Property Path</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDirectedRelationshipPropertyPath(DirectedRelationshipPropertyPath 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;
+	}
+
+} //AllocationsSwitch
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/AdjunctProperty.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/AdjunctProperty.java
new file mode 100644
index 0000000..c9e64b7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/AdjunctProperty.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Adjunct Property</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             The AdjunctProperty stereotype can be applied to properties to constrain their values to the values of connectors typed by association blocks, call actions, object nodes, variables, or parameters, interaction uses, and submachine states.  The values of connectors typed by association blocks are the instances of the association block typing a connector in the block having the stereotyped property.  The values of call actions are the executions of behaviors invoked by the behavior having the call action and the stereotyped property (see Subclause 11.3.1.1.1 for more about this use of the stereotype).  The values of object nodes are the values of tokens in the object nodes of the behavior having the stereotyped property (see Subclause 11.3.1.4.1 for more about this use of the stereotype).  The values of variables are those assigned by executions of activities that have the stereotyped property.  The values of parameters are those assigned by executions of behaviors that have the stereotyped property.  The keyword «adjunct» before a property name indicates the property is stereotyped by AdjunctProperty.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty#getPrincipal <em>Principal</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getAdjunctProperty()
+ * @model
+ * @generated
+ */
+public interface AdjunctProperty 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.sysml16.blocks.BlocksPackage#getAdjunctProperty_Base_Property()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty#getBase_Property <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Property</em>' reference.
+	 * @see #getBase_Property()
+	 * @generated
+	 */
+	void setBase_Property(Property value);
+
+	/**
+	 * Returns the value of the '<em><b>Principal</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Gives the element that determines the values of the property. Must be a connector, call action, object node, variable, or parameter.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Principal</em>' reference.
+	 * @see #setPrincipal(Element)
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getAdjunctProperty_Principal()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Element getPrincipal();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty#getPrincipal <em>Principal</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Principal</em>' reference.
+	 * @see #getPrincipal()
+	 * @generated
+	 */
+	void setPrincipal(Element value);
+
+} // AdjunctProperty
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BindingConnector.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BindingConnector.java
new file mode 100644
index 0000000..b806320
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BindingConnector.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             A Binding Connector is a connector which specifies that the properties at both ends of the connector have equal values. If the properties at the ends of a binding connector are typed by a DataType or ValueType, the connector specifies that the instances of the properties must hold equal values, recursively through any nested properties within the connected properties. If the properties at the ends of a binding connector are typed by a Block, the connector specifies that the instances of the properties must refer to the same block instance. As with any connector owned by a SysML Block, the ends of a binding connector may be nested within a multi-level path of properties accessible from the owning block. The NestedConnectorEnd stereotype is used to represent such nested ends just as for nested ends of other SysML connectors.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.BindingConnector#getBase_Connector <em>Base Connector</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage#getBindingConnector_Base_Connector()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Connector getBase_Connector();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/Block.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/Block.java
new file mode 100644
index 0000000..7a25222
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/Block.java
@@ -0,0 +1,123 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Block</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             A Block is a modular unit that describes the structure of a system or element. It may include both structural and behavioral features, such as properties and operations, that represent the state of the system and behavior that the system may exhibit. Some of these properties may hold parts of a system, which can also be described by blocks. A block may include a structure of connectors between its properties to indicate how its parts or other properties relate to one another. SysML blocks provide a general-purpose capability to describe the architecture of a system. They provide the ability to represent a system hierarchy, in which a system at one level is composed of systems at a more basic level. They can describe not only the connectivity relationships between the systems at any level, but also quantitative values or other information about a system. SysML does not restrict the kind of system or system element that may be described by a block. Any reusable form of description that may be applied to a system or a set of system characteristics may be described by a block. Such reusable descriptions, for example, may be applied to purely conceptual aspects of a system design, such as relationships that hold between parts or properties of a system. Connectors owned by SysML blocks may be used to define relationships between parts or other properties of the same containing block. The type of a connector or its connected ends may specify the semantic interpretation of a specific connector.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.Block#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.Block#isEncapsulated <em>Is Encapsulated</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getBlock()
+ * @model
+ * @generated
+ */
+public interface Block 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.sysml16.blocks.BlocksPackage#getBlock_Base_Class()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * Returns the value of the '<em><b>Is Encapsulated</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 *               If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of its internal structure via deep-nested connector ends.
+	 *             
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Is Encapsulated</em>' attribute.
+	 * @see #setIsEncapsulated(boolean)
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getBlock_IsEncapsulated()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+	 * @generated
+	 */
+	boolean isEncapsulated();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation" ordered="false"
+	 * @generated
+	 */
+	EList<Property> getReferences();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation" ordered="false"
+	 * @generated
+	 */
+	EList<Property> getParts();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation" ordered="false"
+	 * @generated
+	 */
+	EList<Property> getFlowProperties();
+
+} // Block
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BlocksFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BlocksFactory.java
new file mode 100644
index 0000000..7938f09
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BlocksFactory.java
@@ -0,0 +1,152 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.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.sysml16.blocks.internal.impl.BlocksFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Adjunct Property</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Adjunct Property</em>'.
+	 * @generated
+	 */
+	AdjunctProperty createAdjunctProperty();
+
+	/**
+	 * 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>Bound Reference</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Bound Reference</em>'.
+	 * @generated
+	 */
+	BoundReference createBoundReference();
+
+	/**
+	 * Returns a new object of class '<em>End Path Multiplicity</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>End Path Multiplicity</em>'.
+	 * @generated
+	 */
+	EndPathMultiplicity createEndPathMultiplicity();
+
+	/**
+	 * Returns a new object of class '<em>Classifier Behavior Property</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Classifier Behavior Property</em>'.
+	 * @generated
+	 */
+	ClassifierBehaviorProperty createClassifierBehaviorProperty();
+
+	/**
+	 * 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>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>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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BlocksPackage.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BlocksPackage.java
new file mode 100644
index 0000000..7b3954b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BlocksPackage.java
@@ -0,0 +1,1680 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+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 operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Blocks'"
+ * @generated
+ */
+public interface BlocksPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "blocks"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "Blocks"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	BlocksPackage eINSTANCE = org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.AdjunctPropertyImpl <em>Adjunct Property</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.AdjunctPropertyImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getAdjunctProperty()
+	 * @generated
+	 */
+	int ADJUNCT_PROPERTY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADJUNCT_PROPERTY__BASE_PROPERTY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Principal</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADJUNCT_PROPERTY__PRINCIPAL = 1;
+
+	/**
+	 * The number of structural features of the '<em>Adjunct Property</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADJUNCT_PROPERTY_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Adjunct Property</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADJUNCT_PROPERTY_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.BindingConnectorImpl <em>Binding Connector</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BindingConnectorImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getBindingConnector()
+	 * @generated
+	 */
+	int BINDING_CONNECTOR = 1;
+
+	/**
+	 * 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.sysml16.blocks.internal.impl.BlockImpl <em>Block</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlockImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getBlock()
+	 * @generated
+	 */
+	int BLOCK = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCK__BASE_CLASS = 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 = 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 operation id for the '<em>Get References</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCK___GET_REFERENCES = 0;
+
+	/**
+	 * The operation id for the '<em>Get Parts</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCK___GET_PARTS = 1;
+
+	/**
+	 * The operation id for the '<em>Get Flow Properties</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCK___GET_FLOW_PROPERTIES = 2;
+
+	/**
+	 * The number of operations of the '<em>Block</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCK_OPERATION_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.EndPathMultiplicityImpl <em>End Path Multiplicity</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.EndPathMultiplicityImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getEndPathMultiplicity()
+	 * @generated
+	 */
+	int END_PATH_MULTIPLICITY = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int END_PATH_MULTIPLICITY__BASE_PROPERTY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Lower</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int END_PATH_MULTIPLICITY__LOWER = 1;
+
+	/**
+	 * The feature id for the '<em><b>Upper</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int END_PATH_MULTIPLICITY__UPPER = 2;
+
+	/**
+	 * The number of structural features of the '<em>End Path Multiplicity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int END_PATH_MULTIPLICITY_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>End Path Multiplicity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int END_PATH_MULTIPLICITY_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.BoundReferenceImpl <em>Bound Reference</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BoundReferenceImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getBoundReference()
+	 * @generated
+	 */
+	int BOUND_REFERENCE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BOUND_REFERENCE__BASE_PROPERTY = END_PATH_MULTIPLICITY__BASE_PROPERTY;
+
+	/**
+	 * The feature id for the '<em><b>Lower</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BOUND_REFERENCE__LOWER = END_PATH_MULTIPLICITY__LOWER;
+
+	/**
+	 * The feature id for the '<em><b>Upper</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BOUND_REFERENCE__UPPER = END_PATH_MULTIPLICITY__UPPER;
+
+	/**
+	 * The feature id for the '<em><b>Binding Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BOUND_REFERENCE__BINDING_PATH = END_PATH_MULTIPLICITY_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Bound End</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BOUND_REFERENCE__BOUND_END = END_PATH_MULTIPLICITY_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Bound Reference</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BOUND_REFERENCE_FEATURE_COUNT = END_PATH_MULTIPLICITY_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Bound Reference</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BOUND_REFERENCE_OPERATION_COUNT = END_PATH_MULTIPLICITY_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ClassifierBehaviorPropertyImpl <em>Classifier Behavior Property</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.ClassifierBehaviorPropertyImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getClassifierBehaviorProperty()
+	 * @generated
+	 */
+	int CLASSIFIER_BEHAVIOR_PROPERTY = 5;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER_BEHAVIOR_PROPERTY__BASE_PROPERTY = 0;
+
+	/**
+	 * The number of structural features of the '<em>Classifier Behavior Property</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER_BEHAVIOR_PROPERTY_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Classifier Behavior Property</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER_BEHAVIOR_PROPERTY_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ConnectorPropertyImpl <em>Connector Property</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.ConnectorPropertyImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getConnectorProperty()
+	 * @generated
+	 */
+	int CONNECTOR_PROPERTY = 6;
+
+	/**
+	 * 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.sysml16.blocks.internal.impl.DistributedPropertyImpl <em>Distributed Property</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.DistributedPropertyImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getDistributedProperty()
+	 * @generated
+	 */
+	int DISTRIBUTED_PROPERTY = 7;
+
+	/**
+	 * 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.sysml16.blocks.internal.impl.ElementPropertyPathImpl <em>Element Property Path</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.ElementPropertyPathImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getElementPropertyPath()
+	 * @generated
+	 */
+	int ELEMENT_PROPERTY_PATH = 8;
+
+	/**
+	 * The feature id for the '<em><b>Base Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_PROPERTY_PATH__BASE_ELEMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_PROPERTY_PATH__PROPERTY_PATH = 1;
+
+	/**
+	 * The number of structural features of the '<em>Element Property Path</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_PROPERTY_PATH_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Element Property Path</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_PROPERTY_PATH_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.NestedConnectorEndImpl <em>Nested Connector End</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.NestedConnectorEndImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getNestedConnectorEnd()
+	 * @generated
+	 */
+	int NESTED_CONNECTOR_END = 9;
+
+	/**
+	 * The feature id for the '<em><b>Base Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NESTED_CONNECTOR_END__BASE_ELEMENT = ELEMENT_PROPERTY_PATH__BASE_ELEMENT;
+
+	/**
+	 * 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 = ELEMENT_PROPERTY_PATH__PROPERTY_PATH;
+
+	/**
+	 * 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 = ELEMENT_PROPERTY_PATH_FEATURE_COUNT + 0;
+
+	/**
+	 * 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 = ELEMENT_PROPERTY_PATH_FEATURE_COUNT + 1;
+
+	/**
+	 * 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 = ELEMENT_PROPERTY_PATH_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ParticipantPropertyImpl <em>Participant Property</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.ParticipantPropertyImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getParticipantProperty()
+	 * @generated
+	 */
+	int PARTICIPANT_PROPERTY = 10;
+
+	/**
+	 * 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.sysml16.blocks.internal.impl.PropertySpecificTypeImpl <em>Property Specific Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.PropertySpecificTypeImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getPropertySpecificType()
+	 * @generated
+	 */
+	int PROPERTY_SPECIFIC_TYPE = 11;
+
+	/**
+	 * 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;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ValueTypeImpl <em>Value Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.ValueTypeImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getValueType()
+	 * @generated
+	 */
+	int VALUE_TYPE = 12;
+
+	/**
+	 * 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>Quantity Kind</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_TYPE__QUANTITY_KIND = 1;
+
+	/**
+	 * The feature id for the '<em><b>Unit</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_TYPE__UNIT = 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.sysml16.blocks.internal.impl.DirectedRelationshipPropertyPathImpl <em>Directed Relationship Property Path</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.DirectedRelationshipPropertyPathImpl
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getDirectedRelationshipPropertyPath()
+	 * @generated
+	 */
+	int DIRECTED_RELATIONSHIP_PROPERTY_PATH = 13;
+
+	/**
+	 * The feature id for the '<em><b>Base Directed Relationship</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP = 0;
+
+	/**
+	 * The feature id for the '<em><b>Source Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Source Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH = 2;
+
+	/**
+	 * The feature id for the '<em><b>Target Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Target Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH = 4;
+
+	/**
+	 * The number of structural features of the '<em>Directed Relationship Property Path</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP_PROPERTY_PATH_FEATURE_COUNT = 5;
+
+	/**
+	 * The number of operations of the '<em>Directed Relationship Property Path</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP_PROPERTY_PATH_OPERATION_COUNT = 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty <em>Adjunct Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Adjunct Property</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.AdjunctProperty
+	 * @generated
+	 */
+	EClass getAdjunctProperty();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty#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.sysml16.blocks.AdjunctProperty#getBase_Property()
+	 * @see #getAdjunctProperty()
+	 * @generated
+	 */
+	EReference getAdjunctProperty_Base_Property();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty#getPrincipal <em>Principal</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Principal</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.AdjunctProperty#getPrincipal()
+	 * @see #getAdjunctProperty()
+	 * @generated
+	 */
+	EReference getAdjunctProperty_Principal();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.BindingConnector
+	 * @generated
+	 */
+	EClass getBindingConnector();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.BindingConnector#getBase_Connector()
+	 * @see #getBindingConnector()
+	 * @generated
+	 */
+	EReference getBindingConnector_Base_Connector();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.blocks.Block <em>Block</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Block</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.Block
+	 * @generated
+	 */
+	EClass getBlock();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.Block#getBase_Class()
+	 * @see #getBlock()
+	 * @generated
+	 */
+	EReference getBlock_Base_Class();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.Block#isEncapsulated()
+	 * @see #getBlock()
+	 * @generated
+	 */
+	EAttribute getBlock_IsEncapsulated();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.blocks.Block#getReferences() <em>Get References</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get References</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.blocks.Block#getReferences()
+	 * @generated
+	 */
+	EOperation getBlock__GetReferences();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.blocks.Block#getParts() <em>Get Parts</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Parts</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.blocks.Block#getParts()
+	 * @generated
+	 */
+	EOperation getBlock__GetParts();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.blocks.Block#getFlowProperties() <em>Get Flow Properties</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Flow Properties</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.blocks.Block#getFlowProperties()
+	 * @generated
+	 */
+	EOperation getBlock__GetFlowProperties();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.blocks.BoundReference <em>Bound Reference</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Bound Reference</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.BoundReference
+	 * @generated
+	 */
+	EClass getBoundReference();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.blocks.BoundReference#getBindingPath <em>Binding Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Binding Path</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.BoundReference#getBindingPath()
+	 * @see #getBoundReference()
+	 * @generated
+	 */
+	EReference getBoundReference_BindingPath();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.blocks.BoundReference#getBoundEnd <em>Bound End</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Bound End</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.BoundReference#getBoundEnd()
+	 * @see #getBoundReference()
+	 * @generated
+	 */
+	EReference getBoundReference_BoundEnd();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity <em>End Path Multiplicity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>End Path Multiplicity</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity
+	 * @generated
+	 */
+	EClass getEndPathMultiplicity();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity#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.sysml16.blocks.EndPathMultiplicity#getBase_Property()
+	 * @see #getEndPathMultiplicity()
+	 * @generated
+	 */
+	EReference getEndPathMultiplicity_Base_Property();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity#getLower <em>Lower</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Lower</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity#getLower()
+	 * @see #getEndPathMultiplicity()
+	 * @generated
+	 */
+	EAttribute getEndPathMultiplicity_Lower();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity#getUpper <em>Upper</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Upper</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity#getUpper()
+	 * @see #getEndPathMultiplicity()
+	 * @generated
+	 */
+	EAttribute getEndPathMultiplicity_Upper();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty <em>Classifier Behavior Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Classifier Behavior Property</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty
+	 * @generated
+	 */
+	EClass getClassifierBehaviorProperty();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty#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.sysml16.blocks.ClassifierBehaviorProperty#getBase_Property()
+	 * @see #getClassifierBehaviorProperty()
+	 * @generated
+	 */
+	EReference getClassifierBehaviorProperty_Base_Property();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.ConnectorProperty
+	 * @generated
+	 */
+	EClass getConnectorProperty();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.ConnectorProperty#getBase_Property()
+	 * @see #getConnectorProperty()
+	 * @generated
+	 */
+	EReference getConnectorProperty_Base_Property();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.ConnectorProperty#getConnector()
+	 * @see #getConnectorProperty()
+	 * @generated
+	 */
+	EReference getConnectorProperty_Connector();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.DistributedProperty
+	 * @generated
+	 */
+	EClass getDistributedProperty();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.DistributedProperty#getBase_Property()
+	 * @see #getDistributedProperty()
+	 * @generated
+	 */
+	EReference getDistributedProperty_Base_Property();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath <em>Element Property Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Element Property Path</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath
+	 * @generated
+	 */
+	EClass getElementPropertyPath();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath#getBase_Element <em>Base Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Element</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath#getBase_Element()
+	 * @see #getElementPropertyPath()
+	 * @generated
+	 */
+	EReference getElementPropertyPath_Base_Element();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath#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.sysml16.blocks.ElementPropertyPath#getPropertyPath()
+	 * @see #getElementPropertyPath()
+	 * @generated
+	 */
+	EReference getElementPropertyPath_PropertyPath();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.NestedConnectorEnd
+	 * @generated
+	 */
+	EClass getNestedConnectorEnd();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.NestedConnectorEnd#getBase_ConnectorEnd()
+	 * @see #getNestedConnectorEnd()
+	 * @generated
+	 */
+	EReference getNestedConnectorEnd_Base_ConnectorEnd();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.ParticipantProperty
+	 * @generated
+	 */
+	EClass getParticipantProperty();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.ParticipantProperty#getBase_Property()
+	 * @see #getParticipantProperty()
+	 * @generated
+	 */
+	EReference getParticipantProperty_Base_Property();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.ParticipantProperty#getEnd()
+	 * @see #getParticipantProperty()
+	 * @generated
+	 */
+	EReference getParticipantProperty_End();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.PropertySpecificType
+	 * @generated
+	 */
+	EClass getPropertySpecificType();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.PropertySpecificType#getBase_Classifier()
+	 * @see #getPropertySpecificType()
+	 * @generated
+	 */
+	EReference getPropertySpecificType_Base_Classifier();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.ValueType
+	 * @generated
+	 */
+	EClass getValueType();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.ValueType#getBase_DataType()
+	 * @see #getValueType()
+	 * @generated
+	 */
+	EReference getValueType_Base_DataType();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.blocks.ValueType#getQuantityKind <em>Quantity Kind</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Quantity Kind</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.ValueType#getQuantityKind()
+	 * @see #getValueType()
+	 * @generated
+	 */
+	EReference getValueType_QuantityKind();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.ValueType#getUnit()
+	 * @see #getValueType()
+	 * @generated
+	 */
+	EReference getValueType_Unit();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath <em>Directed Relationship Property Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Directed Relationship Property Path</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath
+	 * @generated
+	 */
+	EClass getDirectedRelationshipPropertyPath();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getBase_DirectedRelationship <em>Base Directed Relationship</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Directed Relationship</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getBase_DirectedRelationship()
+	 * @see #getDirectedRelationshipPropertyPath()
+	 * @generated
+	 */
+	EReference getDirectedRelationshipPropertyPath_Base_DirectedRelationship();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getSourceContext <em>Source Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Source Context</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getSourceContext()
+	 * @see #getDirectedRelationshipPropertyPath()
+	 * @generated
+	 */
+	EReference getDirectedRelationshipPropertyPath_SourceContext();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getSourcePropertyPath <em>Source Property Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Source Property Path</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getSourcePropertyPath()
+	 * @see #getDirectedRelationshipPropertyPath()
+	 * @generated
+	 */
+	EReference getDirectedRelationshipPropertyPath_SourcePropertyPath();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getTargetContext <em>Target Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Target Context</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getTargetContext()
+	 * @see #getDirectedRelationshipPropertyPath()
+	 * @generated
+	 */
+	EReference getDirectedRelationshipPropertyPath_TargetContext();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getTargetPropertyPath <em>Target Property Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Target Property Path</em>'.
+	 * @see org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getTargetPropertyPath()
+	 * @see #getDirectedRelationshipPropertyPath()
+	 * @generated
+	 */
+	EReference getDirectedRelationshipPropertyPath_TargetPropertyPath();
+
+	/**
+	 * 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();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.AdjunctPropertyImpl <em>Adjunct Property</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.AdjunctPropertyImpl
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getAdjunctProperty()
+		 * @generated
+		 */
+		EClass ADJUNCT_PROPERTY = eINSTANCE.getAdjunctProperty();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ADJUNCT_PROPERTY__BASE_PROPERTY = eINSTANCE.getAdjunctProperty_Base_Property();
+
+		/**
+		 * The meta object literal for the '<em><b>Principal</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ADJUNCT_PROPERTY__PRINCIPAL = eINSTANCE.getAdjunctProperty_Principal();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.BindingConnectorImpl <em>Binding Connector</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BindingConnectorImpl
+		 * @see org.eclipse.papyrus.sysml16.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.sysml16.blocks.internal.impl.BlockImpl <em>Block</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlockImpl
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getBlock()
+		 * @generated
+		 */
+		EClass BLOCK = eINSTANCE.getBlock();
+
+		/**
+		 * 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 '<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>Get References</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation BLOCK___GET_REFERENCES = eINSTANCE.getBlock__GetReferences();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Parts</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation BLOCK___GET_PARTS = eINSTANCE.getBlock__GetParts();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Flow Properties</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation BLOCK___GET_FLOW_PROPERTIES = eINSTANCE.getBlock__GetFlowProperties();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.BoundReferenceImpl <em>Bound Reference</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BoundReferenceImpl
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getBoundReference()
+		 * @generated
+		 */
+		EClass BOUND_REFERENCE = eINSTANCE.getBoundReference();
+
+		/**
+		 * The meta object literal for the '<em><b>Binding Path</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference BOUND_REFERENCE__BINDING_PATH = eINSTANCE.getBoundReference_BindingPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Bound End</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference BOUND_REFERENCE__BOUND_END = eINSTANCE.getBoundReference_BoundEnd();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.EndPathMultiplicityImpl <em>End Path Multiplicity</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.EndPathMultiplicityImpl
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getEndPathMultiplicity()
+		 * @generated
+		 */
+		EClass END_PATH_MULTIPLICITY = eINSTANCE.getEndPathMultiplicity();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference END_PATH_MULTIPLICITY__BASE_PROPERTY = eINSTANCE.getEndPathMultiplicity_Base_Property();
+
+		/**
+		 * The meta object literal for the '<em><b>Lower</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute END_PATH_MULTIPLICITY__LOWER = eINSTANCE.getEndPathMultiplicity_Lower();
+
+		/**
+		 * The meta object literal for the '<em><b>Upper</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute END_PATH_MULTIPLICITY__UPPER = eINSTANCE.getEndPathMultiplicity_Upper();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ClassifierBehaviorPropertyImpl <em>Classifier Behavior Property</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.ClassifierBehaviorPropertyImpl
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getClassifierBehaviorProperty()
+		 * @generated
+		 */
+		EClass CLASSIFIER_BEHAVIOR_PROPERTY = eINSTANCE.getClassifierBehaviorProperty();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CLASSIFIER_BEHAVIOR_PROPERTY__BASE_PROPERTY = eINSTANCE.getClassifierBehaviorProperty_Base_Property();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ConnectorPropertyImpl <em>Connector Property</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.ConnectorPropertyImpl
+		 * @see org.eclipse.papyrus.sysml16.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.sysml16.blocks.internal.impl.DistributedPropertyImpl <em>Distributed Property</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.DistributedPropertyImpl
+		 * @see org.eclipse.papyrus.sysml16.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.sysml16.blocks.internal.impl.ElementPropertyPathImpl <em>Element Property Path</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.ElementPropertyPathImpl
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getElementPropertyPath()
+		 * @generated
+		 */
+		EClass ELEMENT_PROPERTY_PATH = eINSTANCE.getElementPropertyPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ELEMENT_PROPERTY_PATH__BASE_ELEMENT = eINSTANCE.getElementPropertyPath_Base_Element();
+
+		/**
+		 * The meta object literal for the '<em><b>Property Path</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ELEMENT_PROPERTY_PATH__PROPERTY_PATH = eINSTANCE.getElementPropertyPath_PropertyPath();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.NestedConnectorEndImpl <em>Nested Connector End</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.NestedConnectorEndImpl
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getNestedConnectorEnd()
+		 * @generated
+		 */
+		EClass NESTED_CONNECTOR_END = eINSTANCE.getNestedConnectorEnd();
+
+		/**
+		 * 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.sysml16.blocks.internal.impl.ParticipantPropertyImpl <em>Participant Property</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.ParticipantPropertyImpl
+		 * @see org.eclipse.papyrus.sysml16.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.sysml16.blocks.internal.impl.PropertySpecificTypeImpl <em>Property Specific Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.PropertySpecificTypeImpl
+		 * @see org.eclipse.papyrus.sysml16.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 meta object literal for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ValueTypeImpl <em>Value Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.ValueTypeImpl
+		 * @see org.eclipse.papyrus.sysml16.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>Quantity Kind</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference VALUE_TYPE__QUANTITY_KIND = eINSTANCE.getValueType_QuantityKind();
+
+		/**
+		 * 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 '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.DirectedRelationshipPropertyPathImpl <em>Directed Relationship Property Path</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.DirectedRelationshipPropertyPathImpl
+		 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getDirectedRelationshipPropertyPath()
+		 * @generated
+		 */
+		EClass DIRECTED_RELATIONSHIP_PROPERTY_PATH = eINSTANCE.getDirectedRelationshipPropertyPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Directed Relationship</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP = eINSTANCE.getDirectedRelationshipPropertyPath_Base_DirectedRelationship();
+
+		/**
+		 * The meta object literal for the '<em><b>Source Context</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT = eINSTANCE.getDirectedRelationshipPropertyPath_SourceContext();
+
+		/**
+		 * The meta object literal for the '<em><b>Source Property Path</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH = eINSTANCE.getDirectedRelationshipPropertyPath_SourcePropertyPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Target Context</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT = eINSTANCE.getDirectedRelationshipPropertyPath_TargetContext();
+
+		/**
+		 * The meta object literal for the '<em><b>Target Property Path</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH = eINSTANCE.getDirectedRelationshipPropertyPath_TargetPropertyPath();
+
+	}
+
+} //BlocksPackage
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BoundReference.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BoundReference.java
new file mode 100644
index 0000000..e60266b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BoundReference.java
@@ -0,0 +1,108 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+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>Bound Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.BoundReference#getBindingPath <em>Binding Path</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.BoundReference#getBoundEnd <em>Bound End</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getBoundReference()
+ * @model
+ * @generated
+ */
+public interface BoundReference extends EndPathMultiplicity {
+	/**
+	 * Returns the value of the '<em><b>Binding Path</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Property}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Gives the propertyPath of the NestedConnectorEnd applied, if any, to the boundEnd, appended to the role of the boundEnd. 
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Binding Path</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getBoundReference_BindingPath()
+	 * @model required="true" transient="true" changeable="false" volatile="true" derived="true"
+	 * @generated
+	 */
+	EList<Property> getBindingPath();
+
+	/**
+	 * 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>Binding 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 #getBindingPath()
+	 * @generated
+	 */
+	Property getBindingPath(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>Binding 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 #getBindingPath()
+	 * @generated
+	 */
+	Property getBindingPath(String name, Type type, boolean ignoreCase, EClass eClass);
+
+	/**
+	 * Returns the value of the '<em><b>Bound End</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Gives a connector end of a binding connector opposite to the end linked to the stereotyped property, or linked to a property that generalizes the stereotyped one through redefinition.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Bound End</em>' reference.
+	 * @see #setBoundEnd(ConnectorEnd)
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getBoundReference_BoundEnd()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	ConnectorEnd getBoundEnd();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.BoundReference#getBoundEnd <em>Bound End</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Bound End</em>' reference.
+	 * @see #getBoundEnd()
+	 * @generated
+	 */
+	void setBoundEnd(ConnectorEnd value);
+
+} // BoundReference
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ClassifierBehaviorProperty.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ClassifierBehaviorProperty.java
new file mode 100644
index 0000000..1d3bac5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ClassifierBehaviorProperty.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Classifier Behavior Property</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             The ClassifierBehaviorProperty stereotype can be applied to properties to constrain their values to be the executions of classifier behaviors.  The value of properties with ClassifierBehaviorProperty  applied are the executions of classifier behaviors invoked by instantiation of the block that owns the stereotyped property or one of its specializations.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getClassifierBehaviorProperty()
+ * @model
+ * @generated
+ */
+public interface ClassifierBehaviorProperty 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.sysml16.blocks.BlocksPackage#getClassifierBehaviorProperty_Base_Property()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty#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);
+
+} // ClassifierBehaviorProperty
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ConnectorProperty.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ConnectorProperty.java
new file mode 100644
index 0000000..e2bd9f8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ConnectorProperty.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             Connectors can be typed by association classes that are stereotyped by Block (association blocks). These connectors specify instances (links) of the association block that exist due to instantiation of the block owning or inheriting the connector. The value of a connector property on an instance of a block will be exactly those link objects that are instances of the association block typing the connector referred to by the connector property.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.ConnectorProperty#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.ConnectorProperty#getConnector <em>Connector</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage#getConnectorProperty_Base_Property()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * Returns the value of the '<em><b>Connector</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * A connector of the block owning the property on which the stereotype is applied.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Connector</em>' reference.
+	 * @see #setConnector(Connector)
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getConnectorProperty_Connector()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Connector getConnector();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/DirectedRelationshipPropertyPath.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/DirectedRelationshipPropertyPath.java
new file mode 100644
index 0000000..fad938d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/DirectedRelationshipPropertyPath.java
@@ -0,0 +1,209 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.Classifier;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Directed Relationship Property Path</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getBase_DirectedRelationship <em>Base Directed Relationship</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getSourceContext <em>Source Context</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getSourcePropertyPath <em>Source Property Path</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getTargetContext <em>Target Context</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getTargetPropertyPath <em>Target Property Path</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getDirectedRelationshipPropertyPath()
+ * @model abstract="true"
+ * @generated
+ */
+public interface DirectedRelationshipPropertyPath extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Directed Relationship</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Directed Relationship</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 Directed Relationship</em>' reference.
+	 * @see #setBase_DirectedRelationship(DirectedRelationship)
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getDirectedRelationshipPropertyPath_Base_DirectedRelationship()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	DirectedRelationship getBase_DirectedRelationship();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getBase_DirectedRelationship <em>Base Directed Relationship</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Directed Relationship</em>' reference.
+	 * @see #getBase_DirectedRelationship()
+	 * @generated
+	 */
+	void setBase_DirectedRelationship(DirectedRelationship value);
+
+	/**
+	 * Returns the value of the '<em><b>Source Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Source Context</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Source Context</em>' reference.
+	 * @see #setSourceContext(Classifier)
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getDirectedRelationshipPropertyPath_SourceContext()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Classifier getSourceContext();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getSourceContext <em>Source Context</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Source Context</em>' reference.
+	 * @see #getSourceContext()
+	 * @generated
+	 */
+	void setSourceContext(Classifier value);
+
+	/**
+	 * Returns the value of the '<em><b>Source 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>Source 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>Source Property Path</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getDirectedRelationshipPropertyPath_SourcePropertyPath()
+	 * @model
+	 * @generated
+	 */
+	EList<Property> getSourcePropertyPath();
+
+	/**
+	 * 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>Source 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 #getSourcePropertyPath()
+	 * @generated
+	 */
+	Property getSourcePropertyPath(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>Source 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 #getSourcePropertyPath()
+	 * @generated
+	 */
+	Property getSourcePropertyPath(String name, Type type, boolean ignoreCase, EClass eClass);
+
+	/**
+	 * Returns the value of the '<em><b>Target Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Target Context</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Target Context</em>' reference.
+	 * @see #setTargetContext(Classifier)
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getDirectedRelationshipPropertyPath_TargetContext()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Classifier getTargetContext();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath#getTargetContext <em>Target Context</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Target Context</em>' reference.
+	 * @see #getTargetContext()
+	 * @generated
+	 */
+	void setTargetContext(Classifier value);
+
+	/**
+	 * Returns the value of the '<em><b>Target 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>Target 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>Target Property Path</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getDirectedRelationshipPropertyPath_TargetPropertyPath()
+	 * @model
+	 * @generated
+	 */
+	EList<Property> getTargetPropertyPath();
+
+	/**
+	 * 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>Target 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 #getTargetPropertyPath()
+	 * @generated
+	 */
+	Property getTargetPropertyPath(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>Target 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 #getTargetPropertyPath()
+	 * @generated
+	 */
+	Property getTargetPropertyPath(String name, Type type, boolean ignoreCase, EClass eClass);
+
+} // DirectedRelationshipPropertyPath
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/DistributedProperty.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/DistributedProperty.java
new file mode 100644
index 0000000..fd321ce
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/DistributedProperty.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             DistributedProperty is a stereotype of Property used to apply a probability distribution to the values of the property. Specific distributions should be defined as subclasses of the DistributedProperty stereotype with the operands of the distributions represented by properties of those stereotype subclasses.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.DistributedProperty#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage#getDistributedProperty_Base_Property()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ElementPropertyPath.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ElementPropertyPath.java
new file mode 100644
index 0000000..8d196d7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ElementPropertyPath.java
@@ -0,0 +1,112 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element Property Path</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath#getBase_Element <em>Base Element</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath#getPropertyPath <em>Property Path</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getElementPropertyPath()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ElementPropertyPath extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Element</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Element</em>' reference.
+	 * @see #setBase_Element(Element)
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getElementPropertyPath_Base_Element()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Element getBase_Element();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath#getBase_Element <em>Base Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Element</em>' reference.
+	 * @see #getBase_Element()
+	 * @generated
+	 */
+	void setBase_Element(Element value);
+
+	/**
+	 * Returns the value of the '<em><b>Property Path</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Property}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 *               The propertyPath list of the NestedConnectorEnd stereotype must identify a path of containing properties that identify the connected property in the context of the block that owns the connector. The ordering of properties is from a property of the block that owns the connector, through a property of each intermediate block that types the preceding property, until a property is reached that contains a connector end property within its type. The connector end property is not included in the propertyPath list, but instead is held by the role property of the UML ConnectorEnd metaclass.
+	 *             
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Property Path</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getElementPropertyPath_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);
+
+} // ElementPropertyPath
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/EndPathMultiplicity.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/EndPathMultiplicity.java
new file mode 100644
index 0000000..c4eace2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/EndPathMultiplicity.java
@@ -0,0 +1,117 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>End Path Multiplicity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity#getLower <em>Lower</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity#getUpper <em>Upper</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getEndPathMultiplicity()
+ * @model
+ * @generated
+ */
+public interface EndPathMultiplicity 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.sysml16.blocks.BlocksPackage#getEndPathMultiplicity_Base_Property()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity#getBase_Property <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Property</em>' reference.
+	 * @see #getBase_Property()
+	 * @generated
+	 */
+	void setBase_Property(Property value);
+
+	/**
+	 * Returns the value of the '<em><b>Lower</b></em>' attribute.
+	 * The default value is <code>"0"</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Gives the minimum number of values of the property at the end of the related bindingPath, for each object reached by navigation along the bindingPath from an instance of the block owning the property to which EndPathMultiplicity is applied
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Lower</em>' attribute.
+	 * @see #setLower(int)
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getEndPathMultiplicity_Lower()
+	 * @model default="0" dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	int getLower();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity#getLower <em>Lower</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Lower</em>' attribute.
+	 * @see #getLower()
+	 * @generated
+	 */
+	void setLower(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Upper</b></em>' attribute.
+	 * The default value is <code>"-1"</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Gives the maximum number of values of the property at the end of the related bindingPath, for each object reached by navigation along the bindingPath from an instance of the block owning the property to which EndPathMultiplicity is applied.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Upper</em>' attribute.
+	 * @see #setUpper(int)
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getEndPathMultiplicity_Upper()
+	 * @model default="-1" dataType="org.eclipse.uml2.types.UnlimitedNatural" ordered="false"
+	 * @generated
+	 */
+	int getUpper();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity#getUpper <em>Upper</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Upper</em>' attribute.
+	 * @see #getUpper()
+	 * @generated
+	 */
+	void setUpper(int value);
+
+} // EndPathMultiplicity
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/NestedConnectorEnd.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/NestedConnectorEnd.java
new file mode 100644
index 0000000..e9ca9fc
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/NestedConnectorEnd.java
@@ -0,0 +1,65 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks;
+
+import org.eclipse.uml2.uml.ConnectorEnd;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Nested Connector End</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The NestedConnectorEnd stereotype of UML ConnectorEnd extends a UML ConnectorEnd so that the connected property may be identified by a multi-level path of accessible properties from the block that owns the connector.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd#getBase_ConnectorEnd <em>Base Connector End</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getNestedConnectorEnd()
+ * @model
+ * @generated
+ */
+public interface NestedConnectorEnd extends ElementPropertyPath {
+	/**
+	 * 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.sysml16.blocks.BlocksPackage#getNestedConnectorEnd_Base_ConnectorEnd()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	ConnectorEnd getBase_ConnectorEnd();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ParticipantProperty.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ParticipantProperty.java
new file mode 100644
index 0000000..ccad1aa
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ParticipantProperty.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             The Block stereotype extends Class, so it can be applied to any specialization of Class, including Association Classes. These are informally called “association blocks.” An association block can own properties and connectors, like any other block. Each instance of an association block can link together instances of the end classifiers of the association. To refer to linked objects and values of an instance of an association block, it is necessary for the modeler to specify which (participant) properties of the association block identify the instances being linked at which end of the association. The value of a participant property on an instance (link) of the association block is the value or object at the end of the link corresponding to this end of the association.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.ParticipantProperty#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.ParticipantProperty#getEnd <em>End</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage#getParticipantProperty_Base_Property()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * Returns the value of the '<em><b>End</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * A member end of the association block owning the property on which the stereotype is applied.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>End</em>' reference.
+	 * @see #setEnd(Property)
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getParticipantProperty_End()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getEnd();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/PropertySpecificType.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/PropertySpecificType.java
new file mode 100644
index 0000000..d3dd95b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/PropertySpecificType.java
@@ -0,0 +1,67 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 -->
+ *
+ * <!-- begin-model-doc -->
+ * The PropertySpecificType stereotype should automatically be applied to the classifier which types a property with a propertyspecific type. This classifier can contain definitions of new or redefined features which extend the original classifier referenced by the property-specific type.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.PropertySpecificType#getBase_Classifier <em>Base Classifier</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage#getPropertySpecificType_Base_Classifier()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Classifier getBase_Classifier();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ValueType.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ValueType.java
new file mode 100644
index 0000000..afac463
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/ValueType.java
@@ -0,0 +1,124 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.InstanceSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Value Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             A ValueType defines types of values that may be used to express information about a system, but cannot be identified as the target of any reference. Since a value cannot be identified except by means of the value itself, each such value within a model is independent of any other, unless other forms of constraints are imposed. Value types may be used to type properties, operation parameters, or potentially other elements within SysML. SysML defines ValueType as a stereotype of UML DataType to establish a more neutral term for system values that may never be given a concrete data representation.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.ValueType#getBase_DataType <em>Base Data Type</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.ValueType#getQuantityKind <em>Quantity Kind</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.ValueType#getUnit <em>Unit</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage#getValueType_Base_DataType()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	DataType getBase_DataType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * Returns the value of the '<em><b>Quantity Kind</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 *               A kind of quantity that may be stated by means of defined units, as identified by an instance of the Dimension stereotype. A value type may optionally specify a dimension without any unit. Such a value has no concrete representation, but may be used to express a value in an abstract form independent of any specific units.
+	 *             
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Quantity Kind</em>' reference.
+	 * @see #setQuantityKind(InstanceSpecification)
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getValueType_QuantityKind()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	InstanceSpecification getQuantityKind();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.ValueType#getQuantityKind <em>Quantity Kind</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Quantity Kind</em>' reference.
+	 * @see #getQuantityKind()
+	 * @generated
+	 */
+	void setQuantityKind(InstanceSpecification value);
+
+	/**
+	 * Returns the value of the '<em><b>Unit</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * A quantity in terms of which the magnitudes of other quantities that have the same dimension can be stated, as identified by an instance of the Unit stereotype.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Unit</em>' reference.
+	 * @see #setUnit(InstanceSpecification)
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getValueType_Unit()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	InstanceSpecification getUnit();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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(InstanceSpecification value);
+
+} // ValueType
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/AdjunctPropertyImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/AdjunctPropertyImpl.java
new file mode 100644
index 0000000..5a21327
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/AdjunctPropertyImpl.java
@@ -0,0 +1,234 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.AdjunctProperty;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Adjunct Property</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.AdjunctPropertyImpl#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.AdjunctPropertyImpl#getPrincipal <em>Principal</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AdjunctPropertyImpl extends MinimalEObjectImpl.Container implements AdjunctProperty {
+	/**
+	 * 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 #getPrincipal() <em>Principal</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPrincipal()
+	 * @generated
+	 * @ordered
+	 */
+	protected Element principal;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AdjunctPropertyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.ADJUNCT_PROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.ADJUNCT_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.ADJUNCT_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Element getPrincipal() {
+		if (principal != null && principal.eIsProxy()) {
+			InternalEObject oldPrincipal = (InternalEObject)principal;
+			principal = (Element)eResolveProxy(oldPrincipal);
+			if (principal != oldPrincipal) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.ADJUNCT_PROPERTY__PRINCIPAL, oldPrincipal, principal));
+			}
+		}
+		return principal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Element basicGetPrincipal() {
+		return principal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setPrincipal(Element newPrincipal) {
+		Element oldPrincipal = principal;
+		principal = newPrincipal;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.ADJUNCT_PROPERTY__PRINCIPAL, oldPrincipal, principal));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case BlocksPackage.ADJUNCT_PROPERTY__BASE_PROPERTY:
+				if (resolve) return getBase_Property();
+				return basicGetBase_Property();
+			case BlocksPackage.ADJUNCT_PROPERTY__PRINCIPAL:
+				if (resolve) return getPrincipal();
+				return basicGetPrincipal();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case BlocksPackage.ADJUNCT_PROPERTY__BASE_PROPERTY:
+				setBase_Property((Property)newValue);
+				return;
+			case BlocksPackage.ADJUNCT_PROPERTY__PRINCIPAL:
+				setPrincipal((Element)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.ADJUNCT_PROPERTY__BASE_PROPERTY:
+				setBase_Property((Property)null);
+				return;
+			case BlocksPackage.ADJUNCT_PROPERTY__PRINCIPAL:
+				setPrincipal((Element)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.ADJUNCT_PROPERTY__BASE_PROPERTY:
+				return base_Property != null;
+			case BlocksPackage.ADJUNCT_PROPERTY__PRINCIPAL:
+				return principal != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //AdjunctPropertyImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BindingConnectorImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BindingConnectorImpl.java
new file mode 100644
index 0000000..d24cee0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BindingConnectorImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.BindingConnector;
+import org.eclipse.papyrus.sysml16.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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.BindingConnectorImpl#getBase_Connector <em>Base Connector</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.BINDING_CONNECTOR;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 Connector basicGetBase_Connector() {
+		return base_Connector;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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));
+	}
+
+	/**
+	 * <!-- 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 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
+	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
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.BINDING_CONNECTOR__BASE_CONNECTOR:
+				return base_Connector != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //BindingConnectorImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BlockImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BlockImpl.java
new file mode 100644
index 0000000..6643876
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BlockImpl.java
@@ -0,0 +1,296 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.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.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Block</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.BlockImpl#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.BlockImpl#isEncapsulated <em>Is Encapsulated</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BlockImpl extends MinimalEObjectImpl.Container implements Block {
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * The default value of the '{@link #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;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BlockImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.BLOCK;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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
+	 */
+	@Override
+	public boolean isEncapsulated() {
+		return isEncapsulated;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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
+	 */
+	public EList<Property> getReferences() {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Property> getParts() {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Property> getFlowProperties() {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case BlocksPackage.BLOCK__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+			case BlocksPackage.BLOCK__IS_ENCAPSULATED:
+				return isEncapsulated();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case BlocksPackage.BLOCK__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+			case BlocksPackage.BLOCK__IS_ENCAPSULATED:
+				setIsEncapsulated((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.BLOCK__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+			case BlocksPackage.BLOCK__IS_ENCAPSULATED:
+				setIsEncapsulated(IS_ENCAPSULATED_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.BLOCK__BASE_CLASS:
+				return base_Class != null;
+			case BlocksPackage.BLOCK__IS_ENCAPSULATED:
+				return isEncapsulated != IS_ENCAPSULATED_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 BlocksPackage.BLOCK___GET_REFERENCES:
+				return getReferences();
+			case BlocksPackage.BLOCK___GET_PARTS:
+				return getParts();
+			case BlocksPackage.BLOCK___GET_FLOW_PROPERTIES:
+				return getFlowProperties();
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (isEncapsulated: "); //$NON-NLS-1$
+		result.append(isEncapsulated);
+		result.append(')');
+		return result.toString();
+	}
+
+} //BlockImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BlocksFactoryImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BlocksFactoryImpl.java
new file mode 100644
index 0000000..7cfaa7b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BlocksFactoryImpl.java
@@ -0,0 +1,240 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BlocksFactoryImpl extends EFactoryImpl implements BlocksFactory {
+	/**
+	 * 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.ADJUNCT_PROPERTY: return createAdjunctProperty();
+			case BlocksPackage.BINDING_CONNECTOR: return createBindingConnector();
+			case BlocksPackage.BLOCK: return createBlock();
+			case BlocksPackage.BOUND_REFERENCE: return createBoundReference();
+			case BlocksPackage.END_PATH_MULTIPLICITY: return createEndPathMultiplicity();
+			case BlocksPackage.CLASSIFIER_BEHAVIOR_PROPERTY: return createClassifierBehaviorProperty();
+			case BlocksPackage.CONNECTOR_PROPERTY: return createConnectorProperty();
+			case BlocksPackage.DISTRIBUTED_PROPERTY: return createDistributedProperty();
+			case BlocksPackage.NESTED_CONNECTOR_END: return createNestedConnectorEnd();
+			case BlocksPackage.PARTICIPANT_PROPERTY: return createParticipantProperty();
+			case BlocksPackage.PROPERTY_SPECIFIC_TYPE: return createPropertySpecificType();
+			case BlocksPackage.VALUE_TYPE: return createValueType();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public AdjunctProperty createAdjunctProperty() {
+		AdjunctPropertyImpl adjunctProperty = new AdjunctPropertyImpl();
+		return adjunctProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public BindingConnector createBindingConnector() {
+		BindingConnectorImpl bindingConnector = new BindingConnectorImpl();
+		return bindingConnector;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Block createBlock() {
+		BlockImpl block = new BlockImpl();
+		return block;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public BoundReference createBoundReference() {
+		BoundReferenceImpl boundReference = new BoundReferenceImpl();
+		return boundReference;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EndPathMultiplicity createEndPathMultiplicity() {
+		EndPathMultiplicityImpl endPathMultiplicity = new EndPathMultiplicityImpl();
+		return endPathMultiplicity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ClassifierBehaviorProperty createClassifierBehaviorProperty() {
+		ClassifierBehaviorPropertyImpl classifierBehaviorProperty = new ClassifierBehaviorPropertyImpl();
+		return classifierBehaviorProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ConnectorProperty createConnectorProperty() {
+		ConnectorPropertyImpl connectorProperty = new ConnectorPropertyImpl();
+		return connectorProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public DistributedProperty createDistributedProperty() {
+		DistributedPropertyImpl distributedProperty = new DistributedPropertyImpl();
+		return distributedProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NestedConnectorEnd createNestedConnectorEnd() {
+		NestedConnectorEndImpl nestedConnectorEnd = new NestedConnectorEndImpl();
+		return nestedConnectorEnd;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ParticipantProperty createParticipantProperty() {
+		ParticipantPropertyImpl participantProperty = new ParticipantPropertyImpl();
+		return participantProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public PropertySpecificType createPropertySpecificType() {
+		PropertySpecificTypeImpl propertySpecificType = new PropertySpecificTypeImpl();
+		return propertySpecificType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ValueType createValueType() {
+		ValueTypeImpl valueType = new ValueTypeImpl();
+		return valueType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public BlocksPackage getBlocksPackage() {
+		return (BlocksPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static BlocksPackage getPackage() {
+		return BlocksPackage.eINSTANCE;
+	}
+
+} //BlocksFactoryImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BlocksPackageImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BlocksPackageImpl.java
new file mode 100644
index 0000000..b21686a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BlocksPackageImpl.java
@@ -0,0 +1,944 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.internal.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.blocks.AdjunctProperty;
+import org.eclipse.papyrus.sysml16.blocks.BindingConnector;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.BlocksFactory;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.BoundReference;
+import org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.papyrus.sysml16.blocks.DistributedProperty;
+import org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath;
+import org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.papyrus.sysml16.blocks.PropertySpecificType;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+import org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
+
+import org.eclipse.papyrus.sysml16.sysml.internal.impl.SysMLPackageImpl;
+
+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 EClass adjunctPropertyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass bindingConnectorEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass blockEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass boundReferenceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass endPathMultiplicityEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass classifierBehaviorPropertyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass connectorPropertyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass distributedPropertyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass elementPropertyPathEClass = 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 propertySpecificTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass valueTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass directedRelationshipPropertyPathEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private BlocksPackageImpl() {
+		super(eNS_URI, BlocksFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link 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
+		Object registeredBlocksPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		BlocksPackageImpl theBlocksPackage = registeredBlocksPackage instanceof BlocksPackageImpl ? (BlocksPackageImpl)registeredBlocksPackage : new BlocksPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		StandardPackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SysMLPackage.eNS_URI);
+		SysMLPackageImpl theSysMLPackage = (SysMLPackageImpl)(registeredPackage instanceof SysMLPackageImpl ? registeredPackage : SysMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl)(registeredPackage instanceof ActivitiesPackageImpl ? registeredPackage : ActivitiesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl)(registeredPackage instanceof AllocationsPackageImpl ? registeredPackage : AllocationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConstraintBlocksPackage.eNS_URI);
+		ConstraintBlocksPackageImpl theConstraintBlocksPackage = (ConstraintBlocksPackageImpl)(registeredPackage instanceof ConstraintBlocksPackageImpl ? registeredPackage : ConstraintBlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DeprecatedElementsPackage.eNS_URI);
+		DeprecatedElementsPackageImpl theDeprecatedElementsPackage = (DeprecatedElementsPackageImpl)(registeredPackage instanceof DeprecatedElementsPackageImpl ? registeredPackage : DeprecatedElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(PortsAndFlowsPackage.eNS_URI);
+		PortsAndFlowsPackageImpl thePortsAndFlowsPackage = (PortsAndFlowsPackageImpl)(registeredPackage instanceof PortsAndFlowsPackageImpl ? registeredPackage : PortsAndFlowsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModelElementsPackage.eNS_URI);
+		ModelElementsPackageImpl theModelElementsPackage = (ModelElementsPackageImpl)(registeredPackage instanceof ModelElementsPackageImpl ? registeredPackage : ModelElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(registeredPackage instanceof RequirementsPackageImpl ? registeredPackage : RequirementsPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theBlocksPackage.createPackageContents();
+		theSysMLPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theConstraintBlocksPackage.createPackageContents();
+		theDeprecatedElementsPackage.createPackageContents();
+		thePortsAndFlowsPackage.createPackageContents();
+		theModelElementsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theBlocksPackage.initializePackageContents();
+		theSysMLPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theConstraintBlocksPackage.initializePackageContents();
+		theDeprecatedElementsPackage.initializePackageContents();
+		thePortsAndFlowsPackage.initializePackageContents();
+		theModelElementsPackage.initializePackageContents();
+		theRequirementsPackage.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
+	 */
+	@Override
+	public EClass getAdjunctProperty() {
+		return adjunctPropertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAdjunctProperty_Base_Property() {
+		return (EReference)adjunctPropertyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAdjunctProperty_Principal() {
+		return (EReference)adjunctPropertyEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getBindingConnector() {
+		return bindingConnectorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getBindingConnector_Base_Connector() {
+		return (EReference)bindingConnectorEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getBlock() {
+		return blockEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getBlock_Base_Class() {
+		return (EReference)blockEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getBlock_IsEncapsulated() {
+		return (EAttribute)blockEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getBlock__GetReferences() {
+		return blockEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getBlock__GetParts() {
+		return blockEClass.getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getBlock__GetFlowProperties() {
+		return blockEClass.getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getBoundReference() {
+		return boundReferenceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getBoundReference_BindingPath() {
+		return (EReference)boundReferenceEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getBoundReference_BoundEnd() {
+		return (EReference)boundReferenceEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getEndPathMultiplicity() {
+		return endPathMultiplicityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getEndPathMultiplicity_Base_Property() {
+		return (EReference)endPathMultiplicityEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getEndPathMultiplicity_Lower() {
+		return (EAttribute)endPathMultiplicityEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getEndPathMultiplicity_Upper() {
+		return (EAttribute)endPathMultiplicityEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getClassifierBehaviorProperty() {
+		return classifierBehaviorPropertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getClassifierBehaviorProperty_Base_Property() {
+		return (EReference)classifierBehaviorPropertyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getConnectorProperty() {
+		return connectorPropertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getConnectorProperty_Base_Property() {
+		return (EReference)connectorPropertyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getConnectorProperty_Connector() {
+		return (EReference)connectorPropertyEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDistributedProperty() {
+		return distributedPropertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getDistributedProperty_Base_Property() {
+		return (EReference)distributedPropertyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getElementPropertyPath() {
+		return elementPropertyPathEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getElementPropertyPath_Base_Element() {
+		return (EReference)elementPropertyPathEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getElementPropertyPath_PropertyPath() {
+		return (EReference)elementPropertyPathEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getNestedConnectorEnd() {
+		return nestedConnectorEndEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getNestedConnectorEnd_Base_ConnectorEnd() {
+		return (EReference)nestedConnectorEndEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getParticipantProperty() {
+		return participantPropertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getParticipantProperty_Base_Property() {
+		return (EReference)participantPropertyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getParticipantProperty_End() {
+		return (EReference)participantPropertyEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getPropertySpecificType() {
+		return propertySpecificTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getPropertySpecificType_Base_Classifier() {
+		return (EReference)propertySpecificTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getValueType() {
+		return valueTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getValueType_Base_DataType() {
+		return (EReference)valueTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getValueType_QuantityKind() {
+		return (EReference)valueTypeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getValueType_Unit() {
+		return (EReference)valueTypeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDirectedRelationshipPropertyPath() {
+		return directedRelationshipPropertyPathEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getDirectedRelationshipPropertyPath_Base_DirectedRelationship() {
+		return (EReference)directedRelationshipPropertyPathEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getDirectedRelationshipPropertyPath_SourceContext() {
+		return (EReference)directedRelationshipPropertyPathEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getDirectedRelationshipPropertyPath_SourcePropertyPath() {
+		return (EReference)directedRelationshipPropertyPathEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getDirectedRelationshipPropertyPath_TargetContext() {
+		return (EReference)directedRelationshipPropertyPathEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getDirectedRelationshipPropertyPath_TargetPropertyPath() {
+		return (EReference)directedRelationshipPropertyPathEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public BlocksFactory getBlocksFactory() {
+		return (BlocksFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		adjunctPropertyEClass = createEClass(ADJUNCT_PROPERTY);
+		createEReference(adjunctPropertyEClass, ADJUNCT_PROPERTY__BASE_PROPERTY);
+		createEReference(adjunctPropertyEClass, ADJUNCT_PROPERTY__PRINCIPAL);
+
+		bindingConnectorEClass = createEClass(BINDING_CONNECTOR);
+		createEReference(bindingConnectorEClass, BINDING_CONNECTOR__BASE_CONNECTOR);
+
+		blockEClass = createEClass(BLOCK);
+		createEReference(blockEClass, BLOCK__BASE_CLASS);
+		createEAttribute(blockEClass, BLOCK__IS_ENCAPSULATED);
+		createEOperation(blockEClass, BLOCK___GET_REFERENCES);
+		createEOperation(blockEClass, BLOCK___GET_PARTS);
+		createEOperation(blockEClass, BLOCK___GET_FLOW_PROPERTIES);
+
+		boundReferenceEClass = createEClass(BOUND_REFERENCE);
+		createEReference(boundReferenceEClass, BOUND_REFERENCE__BINDING_PATH);
+		createEReference(boundReferenceEClass, BOUND_REFERENCE__BOUND_END);
+
+		endPathMultiplicityEClass = createEClass(END_PATH_MULTIPLICITY);
+		createEReference(endPathMultiplicityEClass, END_PATH_MULTIPLICITY__BASE_PROPERTY);
+		createEAttribute(endPathMultiplicityEClass, END_PATH_MULTIPLICITY__LOWER);
+		createEAttribute(endPathMultiplicityEClass, END_PATH_MULTIPLICITY__UPPER);
+
+		classifierBehaviorPropertyEClass = createEClass(CLASSIFIER_BEHAVIOR_PROPERTY);
+		createEReference(classifierBehaviorPropertyEClass, CLASSIFIER_BEHAVIOR_PROPERTY__BASE_PROPERTY);
+
+		connectorPropertyEClass = createEClass(CONNECTOR_PROPERTY);
+		createEReference(connectorPropertyEClass, CONNECTOR_PROPERTY__BASE_PROPERTY);
+		createEReference(connectorPropertyEClass, CONNECTOR_PROPERTY__CONNECTOR);
+
+		distributedPropertyEClass = createEClass(DISTRIBUTED_PROPERTY);
+		createEReference(distributedPropertyEClass, DISTRIBUTED_PROPERTY__BASE_PROPERTY);
+
+		elementPropertyPathEClass = createEClass(ELEMENT_PROPERTY_PATH);
+		createEReference(elementPropertyPathEClass, ELEMENT_PROPERTY_PATH__BASE_ELEMENT);
+		createEReference(elementPropertyPathEClass, ELEMENT_PROPERTY_PATH__PROPERTY_PATH);
+
+		nestedConnectorEndEClass = createEClass(NESTED_CONNECTOR_END);
+		createEReference(nestedConnectorEndEClass, NESTED_CONNECTOR_END__BASE_CONNECTOR_END);
+
+		participantPropertyEClass = createEClass(PARTICIPANT_PROPERTY);
+		createEReference(participantPropertyEClass, PARTICIPANT_PROPERTY__BASE_PROPERTY);
+		createEReference(participantPropertyEClass, PARTICIPANT_PROPERTY__END);
+
+		propertySpecificTypeEClass = createEClass(PROPERTY_SPECIFIC_TYPE);
+		createEReference(propertySpecificTypeEClass, PROPERTY_SPECIFIC_TYPE__BASE_CLASSIFIER);
+
+		valueTypeEClass = createEClass(VALUE_TYPE);
+		createEReference(valueTypeEClass, VALUE_TYPE__BASE_DATA_TYPE);
+		createEReference(valueTypeEClass, VALUE_TYPE__QUANTITY_KIND);
+		createEReference(valueTypeEClass, VALUE_TYPE__UNIT);
+
+		directedRelationshipPropertyPathEClass = createEClass(DIRECTED_RELATIONSHIP_PROPERTY_PATH);
+		createEReference(directedRelationshipPropertyPathEClass, DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP);
+		createEReference(directedRelationshipPropertyPathEClass, DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT);
+		createEReference(directedRelationshipPropertyPathEClass, DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH);
+		createEReference(directedRelationshipPropertyPathEClass, DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT);
+		createEReference(directedRelationshipPropertyPathEClass, DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		boundReferenceEClass.getESuperTypes().add(this.getEndPathMultiplicity());
+		nestedConnectorEndEClass.getESuperTypes().add(this.getElementPropertyPath());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(adjunctPropertyEClass, AdjunctProperty.class, "AdjunctProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getAdjunctProperty_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 0, 1, AdjunctProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getAdjunctProperty_Principal(), theUMLPackage.getElement(), null, "principal", null, 1, 1, AdjunctProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(bindingConnectorEClass, BindingConnector.class, "BindingConnector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getBindingConnector_Base_Connector(), theUMLPackage.getConnector(), null, "base_Connector", null, 0, 1, BindingConnector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(blockEClass, Block.class, "Block", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getBlock_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, Block.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		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); //$NON-NLS-1$
+
+		initEOperation(getBlock__GetReferences(), theUMLPackage.getProperty(), "getReferences", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEOperation(getBlock__GetParts(), theUMLPackage.getProperty(), "getParts", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEOperation(getBlock__GetFlowProperties(), theUMLPackage.getProperty(), "getFlowProperties", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(boundReferenceEClass, BoundReference.class, "BoundReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getBoundReference_BindingPath(), theUMLPackage.getProperty(), null, "bindingPath", null, 1, -1, BoundReference.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getBoundReference_BoundEnd(), theUMLPackage.getConnectorEnd(), null, "boundEnd", null, 1, 1, BoundReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(endPathMultiplicityEClass, EndPathMultiplicity.class, "EndPathMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getEndPathMultiplicity_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 0, 1, EndPathMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getEndPathMultiplicity_Lower(), theTypesPackage.getInteger(), "lower", "0", 0, 1, EndPathMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEAttribute(getEndPathMultiplicity_Upper(), theTypesPackage.getUnlimitedNatural(), "upper", "-1", 0, 1, EndPathMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+
+		initEClass(classifierBehaviorPropertyEClass, ClassifierBehaviorProperty.class, "ClassifierBehaviorProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getClassifierBehaviorProperty_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 0, 1, ClassifierBehaviorProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(connectorPropertyEClass, ConnectorProperty.class, "ConnectorProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getConnectorProperty_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 0, 1, ConnectorProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		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); //$NON-NLS-1$
+
+		initEClass(distributedPropertyEClass, DistributedProperty.class, "DistributedProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getDistributedProperty_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 0, 1, DistributedProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(elementPropertyPathEClass, ElementPropertyPath.class, "ElementPropertyPath", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getElementPropertyPath_Base_Element(), theUMLPackage.getElement(), null, "base_Element", null, 0, 1, ElementPropertyPath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getElementPropertyPath_PropertyPath(), theUMLPackage.getProperty(), null, "propertyPath", null, 1, -1, ElementPropertyPath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(nestedConnectorEndEClass, NestedConnectorEnd.class, "NestedConnectorEnd", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getNestedConnectorEnd_Base_ConnectorEnd(), theUMLPackage.getConnectorEnd(), null, "base_ConnectorEnd", null, 0, 1, NestedConnectorEnd.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(participantPropertyEClass, ParticipantProperty.class, "ParticipantProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getParticipantProperty_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 0, 1, ParticipantProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		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); //$NON-NLS-1$
+
+		initEClass(propertySpecificTypeEClass, PropertySpecificType.class, "PropertySpecificType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getPropertySpecificType_Base_Classifier(), theUMLPackage.getClassifier(), null, "base_Classifier", null, 0, 1, PropertySpecificType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(valueTypeEClass, ValueType.class, "ValueType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getValueType_Base_DataType(), theUMLPackage.getDataType(), null, "base_DataType", null, 0, 1, ValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getValueType_QuantityKind(), theUMLPackage.getInstanceSpecification(), null, "quantityKind", null, 0, 1, ValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getValueType_Unit(), theUMLPackage.getInstanceSpecification(), 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); //$NON-NLS-1$
+
+		initEClass(directedRelationshipPropertyPathEClass, DirectedRelationshipPropertyPath.class, "DirectedRelationshipPropertyPath", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getDirectedRelationshipPropertyPath_Base_DirectedRelationship(), theUMLPackage.getDirectedRelationship(), null, "base_DirectedRelationship", null, 0, 1, DirectedRelationshipPropertyPath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getDirectedRelationshipPropertyPath_SourceContext(), theUMLPackage.getClassifier(), null, "sourceContext", null, 0, 1, DirectedRelationshipPropertyPath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getDirectedRelationshipPropertyPath_SourcePropertyPath(), theUMLPackage.getProperty(), null, "sourcePropertyPath", null, 0, -1, DirectedRelationshipPropertyPath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getDirectedRelationshipPropertyPath_TargetContext(), theUMLPackage.getClassifier(), null, "targetContext", null, 0, 1, DirectedRelationshipPropertyPath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getDirectedRelationshipPropertyPath_TargetPropertyPath(), theUMLPackage.getProperty(), null, "targetPropertyPath", null, 0, -1, DirectedRelationshipPropertyPath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+		// Create annotations
+		// http://www.eclipse.org/uml2/2.0.0/UML
+		createUMLAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createUMLAnnotations() {
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$
+		addAnnotation
+		  (this,
+		   source,
+		   new String[] {
+			   "originalName", "Blocks" //$NON-NLS-1$ //$NON-NLS-2$
+		   });
+	}
+
+} //BlocksPackageImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BoundReferenceImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BoundReferenceImpl.java
new file mode 100644
index 0000000..90c2284
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/BoundReferenceImpl.java
@@ -0,0 +1,218 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.internal.impl;
+
+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.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.BoundReference;
+
+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>Bound Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.BoundReferenceImpl#getBindingPath <em>Binding Path</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.BoundReferenceImpl#getBoundEnd <em>Bound End</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BoundReferenceImpl extends EndPathMultiplicityImpl implements BoundReference {
+	/**
+	 * The cached value of the '{@link #getBoundEnd() <em>Bound End</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBoundEnd()
+	 * @generated
+	 * @ordered
+	 */
+	protected ConnectorEnd boundEnd;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BoundReferenceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.BOUND_REFERENCE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Property> getBindingPath() {
+		// TODO: implement this method to return the 'Binding Path' reference list
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getBindingPath(String name, Type type) {
+		return getBindingPath(name, type, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getBindingPath(String name, Type type, boolean ignoreCase, EClass eClass) {
+		bindingPathLoop: for (Property bindingPath : getBindingPath()) {
+			if (eClass != null && !eClass.isInstance(bindingPath))
+				continue bindingPathLoop;
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(bindingPath.getName()) : name.equals(bindingPath.getName())))
+				continue bindingPathLoop;
+			if (type != null && !type.equals(bindingPath.getType()))
+				continue bindingPathLoop;
+			return bindingPath;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ConnectorEnd getBoundEnd() {
+		if (boundEnd != null && boundEnd.eIsProxy()) {
+			InternalEObject oldBoundEnd = (InternalEObject)boundEnd;
+			boundEnd = (ConnectorEnd)eResolveProxy(oldBoundEnd);
+			if (boundEnd != oldBoundEnd) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.BOUND_REFERENCE__BOUND_END, oldBoundEnd, boundEnd));
+			}
+		}
+		return boundEnd;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ConnectorEnd basicGetBoundEnd() {
+		return boundEnd;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBoundEnd(ConnectorEnd newBoundEnd) {
+		ConnectorEnd oldBoundEnd = boundEnd;
+		boundEnd = newBoundEnd;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.BOUND_REFERENCE__BOUND_END, oldBoundEnd, boundEnd));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case BlocksPackage.BOUND_REFERENCE__BINDING_PATH:
+				return getBindingPath();
+			case BlocksPackage.BOUND_REFERENCE__BOUND_END:
+				if (resolve) return getBoundEnd();
+				return basicGetBoundEnd();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case BlocksPackage.BOUND_REFERENCE__BOUND_END:
+				setBoundEnd((ConnectorEnd)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.BOUND_REFERENCE__BOUND_END:
+				setBoundEnd((ConnectorEnd)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.BOUND_REFERENCE__BINDING_PATH:
+				return !getBindingPath().isEmpty();
+			case BlocksPackage.BOUND_REFERENCE__BOUND_END:
+				return boundEnd != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //BoundReferenceImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ClassifierBehaviorPropertyImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ClassifierBehaviorPropertyImpl.java
new file mode 100644
index 0000000..4b08165
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ClassifierBehaviorPropertyImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Classifier Behavior Property</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ClassifierBehaviorPropertyImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ClassifierBehaviorPropertyImpl extends MinimalEObjectImpl.Container implements ClassifierBehaviorProperty {
+	/**
+	 * 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 ClassifierBehaviorPropertyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.CLASSIFIER_BEHAVIOR_PROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.CLASSIFIER_BEHAVIOR_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.CLASSIFIER_BEHAVIOR_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case BlocksPackage.CLASSIFIER_BEHAVIOR_PROPERTY__BASE_PROPERTY:
+				if (resolve) return getBase_Property();
+				return basicGetBase_Property();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case BlocksPackage.CLASSIFIER_BEHAVIOR_PROPERTY__BASE_PROPERTY:
+				setBase_Property((Property)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.CLASSIFIER_BEHAVIOR_PROPERTY__BASE_PROPERTY:
+				setBase_Property((Property)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.CLASSIFIER_BEHAVIOR_PROPERTY__BASE_PROPERTY:
+				return base_Property != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ClassifierBehaviorPropertyImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ConnectorPropertyImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ConnectorPropertyImpl.java
new file mode 100644
index 0000000..6d2f033
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ConnectorPropertyImpl.java
@@ -0,0 +1,234 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ConnectorPropertyImpl#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ConnectorPropertyImpl#getConnector <em>Connector</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.CONNECTOR_PROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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
+	 */
+	@Override
+	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 Connector basicGetConnector() {
+		return connector;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setConnector(Connector newConnector) {
+		Connector oldConnector = connector;
+		connector = newConnector;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.CONNECTOR_PROPERTY__CONNECTOR, oldConnector, 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 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
+	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
+	 */
+	@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);
+	}
+
+} //ConnectorPropertyImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/DirectedRelationshipPropertyPathImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/DirectedRelationshipPropertyPathImpl.java
new file mode 100644
index 0000000..7ad5182
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/DirectedRelationshipPropertyPathImpl.java
@@ -0,0 +1,429 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Directed Relationship Property Path</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.DirectedRelationshipPropertyPathImpl#getBase_DirectedRelationship <em>Base Directed Relationship</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.DirectedRelationshipPropertyPathImpl#getSourceContext <em>Source Context</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.DirectedRelationshipPropertyPathImpl#getSourcePropertyPath <em>Source Property Path</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.DirectedRelationshipPropertyPathImpl#getTargetContext <em>Target Context</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.DirectedRelationshipPropertyPathImpl#getTargetPropertyPath <em>Target Property Path</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class DirectedRelationshipPropertyPathImpl extends MinimalEObjectImpl.Container implements DirectedRelationshipPropertyPath {
+	/**
+	 * The cached value of the '{@link #getBase_DirectedRelationship() <em>Base Directed Relationship</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_DirectedRelationship()
+	 * @generated
+	 * @ordered
+	 */
+	protected DirectedRelationship base_DirectedRelationship;
+
+	/**
+	 * The cached value of the '{@link #getSourceContext() <em>Source Context</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSourceContext()
+	 * @generated
+	 * @ordered
+	 */
+	protected Classifier sourceContext;
+
+	/**
+	 * The cached value of the '{@link #getSourcePropertyPath() <em>Source Property Path</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSourcePropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Property> sourcePropertyPath;
+
+	/**
+	 * The cached value of the '{@link #getTargetContext() <em>Target Context</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTargetContext()
+	 * @generated
+	 * @ordered
+	 */
+	protected Classifier targetContext;
+
+	/**
+	 * The cached value of the '{@link #getTargetPropertyPath() <em>Target Property Path</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTargetPropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Property> targetPropertyPath;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DirectedRelationshipPropertyPathImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.DIRECTED_RELATIONSHIP_PROPERTY_PATH;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public DirectedRelationship getBase_DirectedRelationship() {
+		if (base_DirectedRelationship != null && base_DirectedRelationship.eIsProxy()) {
+			InternalEObject oldBase_DirectedRelationship = (InternalEObject)base_DirectedRelationship;
+			base_DirectedRelationship = (DirectedRelationship)eResolveProxy(oldBase_DirectedRelationship);
+			if (base_DirectedRelationship != oldBase_DirectedRelationship) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP, oldBase_DirectedRelationship, base_DirectedRelationship));
+			}
+		}
+		return base_DirectedRelationship;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DirectedRelationship basicGetBase_DirectedRelationship() {
+		return base_DirectedRelationship;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_DirectedRelationship(DirectedRelationship newBase_DirectedRelationship) {
+		DirectedRelationship oldBase_DirectedRelationship = base_DirectedRelationship;
+		base_DirectedRelationship = newBase_DirectedRelationship;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP, oldBase_DirectedRelationship, base_DirectedRelationship));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Classifier getSourceContext() {
+		if (sourceContext != null && sourceContext.eIsProxy()) {
+			InternalEObject oldSourceContext = (InternalEObject)sourceContext;
+			sourceContext = (Classifier)eResolveProxy(oldSourceContext);
+			if (sourceContext != oldSourceContext) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT, oldSourceContext, sourceContext));
+			}
+		}
+		return sourceContext;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Classifier basicGetSourceContext() {
+		return sourceContext;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setSourceContext(Classifier newSourceContext) {
+		Classifier oldSourceContext = sourceContext;
+		sourceContext = newSourceContext;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT, oldSourceContext, sourceContext));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Property> getSourcePropertyPath() {
+		if (sourcePropertyPath == null) {
+			sourcePropertyPath = new EObjectResolvingEList<Property>(Property.class, this, BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH);
+		}
+		return sourcePropertyPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getSourcePropertyPath(String name, Type type) {
+		return getSourcePropertyPath(name, type, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getSourcePropertyPath(String name, Type type, boolean ignoreCase, EClass eClass) {
+		sourcePropertyPathLoop: for (Property sourcePropertyPath : getSourcePropertyPath()) {
+			if (eClass != null && !eClass.isInstance(sourcePropertyPath))
+				continue sourcePropertyPathLoop;
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(sourcePropertyPath.getName()) : name.equals(sourcePropertyPath.getName())))
+				continue sourcePropertyPathLoop;
+			if (type != null && !type.equals(sourcePropertyPath.getType()))
+				continue sourcePropertyPathLoop;
+			return sourcePropertyPath;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Classifier getTargetContext() {
+		if (targetContext != null && targetContext.eIsProxy()) {
+			InternalEObject oldTargetContext = (InternalEObject)targetContext;
+			targetContext = (Classifier)eResolveProxy(oldTargetContext);
+			if (targetContext != oldTargetContext) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT, oldTargetContext, targetContext));
+			}
+		}
+		return targetContext;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Classifier basicGetTargetContext() {
+		return targetContext;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setTargetContext(Classifier newTargetContext) {
+		Classifier oldTargetContext = targetContext;
+		targetContext = newTargetContext;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT, oldTargetContext, targetContext));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Property> getTargetPropertyPath() {
+		if (targetPropertyPath == null) {
+			targetPropertyPath = new EObjectResolvingEList<Property>(Property.class, this, BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH);
+		}
+		return targetPropertyPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getTargetPropertyPath(String name, Type type) {
+		return getTargetPropertyPath(name, type, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getTargetPropertyPath(String name, Type type, boolean ignoreCase, EClass eClass) {
+		targetPropertyPathLoop: for (Property targetPropertyPath : getTargetPropertyPath()) {
+			if (eClass != null && !eClass.isInstance(targetPropertyPath))
+				continue targetPropertyPathLoop;
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(targetPropertyPath.getName()) : name.equals(targetPropertyPath.getName())))
+				continue targetPropertyPathLoop;
+			if (type != null && !type.equals(targetPropertyPath.getType()))
+				continue targetPropertyPathLoop;
+			return targetPropertyPath;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP:
+				if (resolve) return getBase_DirectedRelationship();
+				return basicGetBase_DirectedRelationship();
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT:
+				if (resolve) return getSourceContext();
+				return basicGetSourceContext();
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH:
+				return getSourcePropertyPath();
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT:
+				if (resolve) return getTargetContext();
+				return basicGetTargetContext();
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH:
+				return getTargetPropertyPath();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP:
+				setBase_DirectedRelationship((DirectedRelationship)newValue);
+				return;
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT:
+				setSourceContext((Classifier)newValue);
+				return;
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH:
+				getSourcePropertyPath().clear();
+				getSourcePropertyPath().addAll((Collection<? extends Property>)newValue);
+				return;
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT:
+				setTargetContext((Classifier)newValue);
+				return;
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH:
+				getTargetPropertyPath().clear();
+				getTargetPropertyPath().addAll((Collection<? extends Property>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP:
+				setBase_DirectedRelationship((DirectedRelationship)null);
+				return;
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT:
+				setSourceContext((Classifier)null);
+				return;
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH:
+				getSourcePropertyPath().clear();
+				return;
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT:
+				setTargetContext((Classifier)null);
+				return;
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH:
+				getTargetPropertyPath().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP:
+				return base_DirectedRelationship != null;
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT:
+				return sourceContext != null;
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH:
+				return sourcePropertyPath != null && !sourcePropertyPath.isEmpty();
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT:
+				return targetContext != null;
+			case BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH:
+				return targetPropertyPath != null && !targetPropertyPath.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //DirectedRelationshipPropertyPathImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/DistributedPropertyImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/DistributedPropertyImpl.java
new file mode 100644
index 0000000..3381eda
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/DistributedPropertyImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.DistributedPropertyImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.DISTRIBUTED_PROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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));
+	}
+
+	/**
+	 * <!-- 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 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
+	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
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.DISTRIBUTED_PROPERTY__BASE_PROPERTY:
+				return base_Property != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //DistributedPropertyImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ElementPropertyPathImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ElementPropertyPathImpl.java
new file mode 100644
index 0000000..3bf402e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ElementPropertyPathImpl.java
@@ -0,0 +1,242 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element Property Path</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ElementPropertyPathImpl#getBase_Element <em>Base Element</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ElementPropertyPathImpl#getPropertyPath <em>Property Path</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ElementPropertyPathImpl extends MinimalEObjectImpl.Container implements ElementPropertyPath {
+	/**
+	 * The cached value of the '{@link #getBase_Element() <em>Base Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Element()
+	 * @generated
+	 * @ordered
+	 */
+	protected Element base_Element;
+
+	/**
+	 * The cached value of the '{@link #getPropertyPath() <em>Property Path</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Property> propertyPath;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ElementPropertyPathImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.ELEMENT_PROPERTY_PATH;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Element getBase_Element() {
+		if (base_Element != null && base_Element.eIsProxy()) {
+			InternalEObject oldBase_Element = (InternalEObject)base_Element;
+			base_Element = (Element)eResolveProxy(oldBase_Element);
+			if (base_Element != oldBase_Element) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.ELEMENT_PROPERTY_PATH__BASE_ELEMENT, oldBase_Element, base_Element));
+			}
+		}
+		return base_Element;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Element basicGetBase_Element() {
+		return base_Element;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Element(Element newBase_Element) {
+		Element oldBase_Element = base_Element;
+		base_Element = newBase_Element;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.ELEMENT_PROPERTY_PATH__BASE_ELEMENT, oldBase_Element, base_Element));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Property> getPropertyPath() {
+		if (propertyPath == null) {
+			propertyPath = new EObjectResolvingEList<Property>(Property.class, this, BlocksPackage.ELEMENT_PROPERTY_PATH__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
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case BlocksPackage.ELEMENT_PROPERTY_PATH__BASE_ELEMENT:
+				if (resolve) return getBase_Element();
+				return basicGetBase_Element();
+			case BlocksPackage.ELEMENT_PROPERTY_PATH__PROPERTY_PATH:
+				return getPropertyPath();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case BlocksPackage.ELEMENT_PROPERTY_PATH__BASE_ELEMENT:
+				setBase_Element((Element)newValue);
+				return;
+			case BlocksPackage.ELEMENT_PROPERTY_PATH__PROPERTY_PATH:
+				getPropertyPath().clear();
+				getPropertyPath().addAll((Collection<? extends Property>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.ELEMENT_PROPERTY_PATH__BASE_ELEMENT:
+				setBase_Element((Element)null);
+				return;
+			case BlocksPackage.ELEMENT_PROPERTY_PATH__PROPERTY_PATH:
+				getPropertyPath().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.ELEMENT_PROPERTY_PATH__BASE_ELEMENT:
+				return base_Element != null;
+			case BlocksPackage.ELEMENT_PROPERTY_PATH__PROPERTY_PATH:
+				return propertyPath != null && !propertyPath.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ElementPropertyPathImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/EndPathMultiplicityImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/EndPathMultiplicityImpl.java
new file mode 100644
index 0000000..c59263b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/EndPathMultiplicityImpl.java
@@ -0,0 +1,297 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>End Path Multiplicity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.EndPathMultiplicityImpl#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.EndPathMultiplicityImpl#getLower <em>Lower</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.EndPathMultiplicityImpl#getUpper <em>Upper</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EndPathMultiplicityImpl extends MinimalEObjectImpl.Container implements EndPathMultiplicity {
+	/**
+	 * 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 #getLower() <em>Lower</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLower()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int LOWER_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getLower() <em>Lower</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLower()
+	 * @generated
+	 * @ordered
+	 */
+	protected int lower = LOWER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUpper()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int UPPER_EDEFAULT = -1;
+
+	/**
+	 * The cached value of the '{@link #getUpper() <em>Upper</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUpper()
+	 * @generated
+	 * @ordered
+	 */
+	protected int upper = UPPER_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EndPathMultiplicityImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.END_PATH_MULTIPLICITY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.END_PATH_MULTIPLICITY__BASE_PROPERTY, oldBase_Property, base_Property));
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.END_PATH_MULTIPLICITY__BASE_PROPERTY, oldBase_Property, base_Property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getLower() {
+		return lower;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setLower(int newLower) {
+		int oldLower = lower;
+		lower = newLower;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.END_PATH_MULTIPLICITY__LOWER, oldLower, lower));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getUpper() {
+		return upper;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setUpper(int newUpper) {
+		int oldUpper = upper;
+		upper = newUpper;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.END_PATH_MULTIPLICITY__UPPER, oldUpper, upper));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case BlocksPackage.END_PATH_MULTIPLICITY__BASE_PROPERTY:
+				if (resolve) return getBase_Property();
+				return basicGetBase_Property();
+			case BlocksPackage.END_PATH_MULTIPLICITY__LOWER:
+				return getLower();
+			case BlocksPackage.END_PATH_MULTIPLICITY__UPPER:
+				return getUpper();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case BlocksPackage.END_PATH_MULTIPLICITY__BASE_PROPERTY:
+				setBase_Property((Property)newValue);
+				return;
+			case BlocksPackage.END_PATH_MULTIPLICITY__LOWER:
+				setLower((Integer)newValue);
+				return;
+			case BlocksPackage.END_PATH_MULTIPLICITY__UPPER:
+				setUpper((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.END_PATH_MULTIPLICITY__BASE_PROPERTY:
+				setBase_Property((Property)null);
+				return;
+			case BlocksPackage.END_PATH_MULTIPLICITY__LOWER:
+				setLower(LOWER_EDEFAULT);
+				return;
+			case BlocksPackage.END_PATH_MULTIPLICITY__UPPER:
+				setUpper(UPPER_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.END_PATH_MULTIPLICITY__BASE_PROPERTY:
+				return base_Property != null;
+			case BlocksPackage.END_PATH_MULTIPLICITY__LOWER:
+				return lower != LOWER_EDEFAULT;
+			case BlocksPackage.END_PATH_MULTIPLICITY__UPPER:
+				return upper != UPPER_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (lower: "); //$NON-NLS-1$
+		result.append(lower);
+		result.append(", upper: "); //$NON-NLS-1$
+		result.append(upper);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EndPathMultiplicityImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/NestedConnectorEndImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/NestedConnectorEndImpl.java
new file mode 100644
index 0000000..8e9863a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/NestedConnectorEndImpl.java
@@ -0,0 +1,170 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+
+import org.eclipse.uml2.uml.ConnectorEnd;
+
+/**
+ * <!-- 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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.NestedConnectorEndImpl#getBase_ConnectorEnd <em>Base Connector End</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NestedConnectorEndImpl extends ElementPropertyPathImpl implements NestedConnectorEnd {
+	/**
+	 * 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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.NESTED_CONNECTOR_END;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 ConnectorEnd basicGetBase_ConnectorEnd() {
+		return base_ConnectorEnd;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			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 void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			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
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.NESTED_CONNECTOR_END__BASE_CONNECTOR_END:
+				setBase_ConnectorEnd((ConnectorEnd)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.NESTED_CONNECTOR_END__BASE_CONNECTOR_END:
+				return base_ConnectorEnd != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //NestedConnectorEndImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ParticipantPropertyImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ParticipantPropertyImpl.java
new file mode 100644
index 0000000..a94e7eb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ParticipantPropertyImpl.java
@@ -0,0 +1,233 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ParticipantPropertyImpl#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ParticipantPropertyImpl#getEnd <em>End</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.PARTICIPANT_PROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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
+	 */
+	@Override
+	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 Property basicGetEnd() {
+		return end;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setEnd(Property newEnd) {
+		Property oldEnd = end;
+		end = newEnd;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.PARTICIPANT_PROPERTY__END, oldEnd, 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 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
+	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
+	 */
+	@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);
+	}
+
+} //ParticipantPropertyImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/PropertySpecificTypeImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/PropertySpecificTypeImpl.java
new file mode 100644
index 0000000..3c41ba6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/PropertySpecificTypeImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.PropertySpecificTypeImpl#getBase_Classifier <em>Base Classifier</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.PROPERTY_SPECIFIC_TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 Classifier basicGetBase_Classifier() {
+		return base_Classifier;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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));
+	}
+
+	/**
+	 * <!-- 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 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
+	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
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case BlocksPackage.PROPERTY_SPECIFIC_TYPE__BASE_CLASSIFIER:
+				return base_Classifier != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //PropertySpecificTypeImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ValueTypeImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ValueTypeImpl.java
new file mode 100644
index 0000000..c1059bb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/internal/impl/ValueTypeImpl.java
@@ -0,0 +1,296 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.InstanceSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Value Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ValueTypeImpl#getBase_DataType <em>Base Data Type</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ValueTypeImpl#getQuantityKind <em>Quantity Kind</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.ValueTypeImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ *
+ * @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 #getQuantityKind() <em>Quantity Kind</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getQuantityKind()
+	 * @generated
+	 * @ordered
+	 */
+	protected InstanceSpecification quantityKind;
+
+	/**
+	 * The cached value of the '{@link #getUnit() <em>Unit</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUnit()
+	 * @generated
+	 * @ordered
+	 */
+	protected InstanceSpecification unit;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ValueTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- 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 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 DataType basicGetBase_DataType() {
+		return base_DataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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
+	 */
+	@Override
+	public InstanceSpecification getQuantityKind() {
+		if (quantityKind != null && quantityKind.eIsProxy()) {
+			InternalEObject oldQuantityKind = (InternalEObject)quantityKind;
+			quantityKind = (InstanceSpecification)eResolveProxy(oldQuantityKind);
+			if (quantityKind != oldQuantityKind) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.VALUE_TYPE__QUANTITY_KIND, oldQuantityKind, quantityKind));
+			}
+		}
+		return quantityKind;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceSpecification basicGetQuantityKind() {
+		return quantityKind;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setQuantityKind(InstanceSpecification newQuantityKind) {
+		InstanceSpecification oldQuantityKind = quantityKind;
+		quantityKind = newQuantityKind;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.VALUE_TYPE__QUANTITY_KIND, oldQuantityKind, quantityKind));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public InstanceSpecification getUnit() {
+		if (unit != null && unit.eIsProxy()) {
+			InternalEObject oldUnit = (InternalEObject)unit;
+			unit = (InstanceSpecification)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 InstanceSpecification basicGetUnit() {
+		return unit;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setUnit(InstanceSpecification newUnit) {
+		InstanceSpecification oldUnit = unit;
+		unit = newUnit;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.VALUE_TYPE__UNIT, oldUnit, 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__QUANTITY_KIND:
+				if (resolve) return getQuantityKind();
+				return basicGetQuantityKind();
+			case BlocksPackage.VALUE_TYPE__UNIT:
+				if (resolve) return getUnit();
+				return basicGetUnit();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- 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__QUANTITY_KIND:
+				setQuantityKind((InstanceSpecification)newValue);
+				return;
+			case BlocksPackage.VALUE_TYPE__UNIT:
+				setUnit((InstanceSpecification)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- 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__QUANTITY_KIND:
+				setQuantityKind((InstanceSpecification)null);
+				return;
+			case BlocksPackage.VALUE_TYPE__UNIT:
+				setUnit((InstanceSpecification)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- 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__QUANTITY_KIND:
+				return quantityKind != null;
+			case BlocksPackage.VALUE_TYPE__UNIT:
+				return unit != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ValueTypeImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/util/BlocksAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/util/BlocksAdapterFactory.java
new file mode 100644
index 0000000..7bd62b9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/util/BlocksAdapterFactory.java
@@ -0,0 +1,365 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.*;
+
+/**
+ * <!-- 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.sysml16.blocks.BlocksPackage
+ * @generated
+ */
+public class BlocksAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static BlocksPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BlocksAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = BlocksPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BlocksSwitch<Adapter> modelSwitch =
+		new BlocksSwitch<Adapter>() {
+			@Override
+			public Adapter caseAdjunctProperty(AdjunctProperty object) {
+				return createAdjunctPropertyAdapter();
+			}
+			@Override
+			public Adapter caseBindingConnector(BindingConnector object) {
+				return createBindingConnectorAdapter();
+			}
+			@Override
+			public Adapter caseBlock(Block object) {
+				return createBlockAdapter();
+			}
+			@Override
+			public Adapter caseBoundReference(BoundReference object) {
+				return createBoundReferenceAdapter();
+			}
+			@Override
+			public Adapter caseEndPathMultiplicity(EndPathMultiplicity object) {
+				return createEndPathMultiplicityAdapter();
+			}
+			@Override
+			public Adapter caseClassifierBehaviorProperty(ClassifierBehaviorProperty object) {
+				return createClassifierBehaviorPropertyAdapter();
+			}
+			@Override
+			public Adapter caseConnectorProperty(ConnectorProperty object) {
+				return createConnectorPropertyAdapter();
+			}
+			@Override
+			public Adapter caseDistributedProperty(DistributedProperty object) {
+				return createDistributedPropertyAdapter();
+			}
+			@Override
+			public Adapter caseElementPropertyPath(ElementPropertyPath object) {
+				return createElementPropertyPathAdapter();
+			}
+			@Override
+			public Adapter caseNestedConnectorEnd(NestedConnectorEnd object) {
+				return createNestedConnectorEndAdapter();
+			}
+			@Override
+			public Adapter caseParticipantProperty(ParticipantProperty object) {
+				return createParticipantPropertyAdapter();
+			}
+			@Override
+			public Adapter casePropertySpecificType(PropertySpecificType object) {
+				return createPropertySpecificTypeAdapter();
+			}
+			@Override
+			public Adapter caseValueType(ValueType object) {
+				return createValueTypeAdapter();
+			}
+			@Override
+			public Adapter caseDirectedRelationshipPropertyPath(DirectedRelationshipPropertyPath object) {
+				return createDirectedRelationshipPropertyPathAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty <em>Adjunct 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.sysml16.blocks.AdjunctProperty
+	 * @generated
+	 */
+	public Adapter createAdjunctPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.BindingConnector
+	 * @generated
+	 */
+	public Adapter createBindingConnectorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.Block
+	 * @generated
+	 */
+	public Adapter createBlockAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.blocks.BoundReference <em>Bound Reference</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.sysml16.blocks.BoundReference
+	 * @generated
+	 */
+	public Adapter createBoundReferenceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity <em>End Path Multiplicity</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.sysml16.blocks.EndPathMultiplicity
+	 * @generated
+	 */
+	public Adapter createEndPathMultiplicityAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty <em>Classifier Behavior 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.sysml16.blocks.ClassifierBehaviorProperty
+	 * @generated
+	 */
+	public Adapter createClassifierBehaviorPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.ConnectorProperty
+	 * @generated
+	 */
+	public Adapter createConnectorPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.DistributedProperty
+	 * @generated
+	 */
+	public Adapter createDistributedPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath <em>Element Property Path</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.sysml16.blocks.ElementPropertyPath
+	 * @generated
+	 */
+	public Adapter createElementPropertyPathAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.NestedConnectorEnd
+	 * @generated
+	 */
+	public Adapter createNestedConnectorEndAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.ParticipantProperty
+	 * @generated
+	 */
+	public Adapter createParticipantPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.PropertySpecificType
+	 * @generated
+	 */
+	public Adapter createPropertySpecificTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.ValueType
+	 * @generated
+	 */
+	public Adapter createValueTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath <em>Directed Relationship Property Path</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.sysml16.blocks.DirectedRelationshipPropertyPath
+	 * @generated
+	 */
+	public Adapter createDirectedRelationshipPropertyPathAdapter() {
+		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;
+	}
+
+} //BlocksAdapterFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/util/BlocksSwitch.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/util/BlocksSwitch.java
new file mode 100644
index 0000000..1603e77
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/util/BlocksSwitch.java
@@ -0,0 +1,396 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.*;
+
+/**
+ * <!-- 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.sysml16.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 -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case BlocksPackage.ADJUNCT_PROPERTY: {
+				AdjunctProperty adjunctProperty = (AdjunctProperty)theEObject;
+				T result = caseAdjunctProperty(adjunctProperty);
+				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.BLOCK: {
+				Block block = (Block)theEObject;
+				T result = caseBlock(block);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case BlocksPackage.BOUND_REFERENCE: {
+				BoundReference boundReference = (BoundReference)theEObject;
+				T result = caseBoundReference(boundReference);
+				if (result == null) result = caseEndPathMultiplicity(boundReference);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case BlocksPackage.END_PATH_MULTIPLICITY: {
+				EndPathMultiplicity endPathMultiplicity = (EndPathMultiplicity)theEObject;
+				T result = caseEndPathMultiplicity(endPathMultiplicity);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case BlocksPackage.CLASSIFIER_BEHAVIOR_PROPERTY: {
+				ClassifierBehaviorProperty classifierBehaviorProperty = (ClassifierBehaviorProperty)theEObject;
+				T result = caseClassifierBehaviorProperty(classifierBehaviorProperty);
+				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.DISTRIBUTED_PROPERTY: {
+				DistributedProperty distributedProperty = (DistributedProperty)theEObject;
+				T result = caseDistributedProperty(distributedProperty);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case BlocksPackage.ELEMENT_PROPERTY_PATH: {
+				ElementPropertyPath elementPropertyPath = (ElementPropertyPath)theEObject;
+				T result = caseElementPropertyPath(elementPropertyPath);
+				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 = caseElementPropertyPath(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.PROPERTY_SPECIFIC_TYPE: {
+				PropertySpecificType propertySpecificType = (PropertySpecificType)theEObject;
+				T result = casePropertySpecificType(propertySpecificType);
+				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.DIRECTED_RELATIONSHIP_PROPERTY_PATH: {
+				DirectedRelationshipPropertyPath directedRelationshipPropertyPath = (DirectedRelationshipPropertyPath)theEObject;
+				T result = caseDirectedRelationshipPropertyPath(directedRelationshipPropertyPath);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Adjunct 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>Adjunct Property</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAdjunctProperty(AdjunctProperty object) {
+		return null;
+	}
+
+	/**
+	 * 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>Bound Reference</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>Bound Reference</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseBoundReference(BoundReference object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>End Path Multiplicity</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>End Path Multiplicity</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEndPathMultiplicity(EndPathMultiplicity object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Classifier Behavior 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>Classifier Behavior Property</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseClassifierBehaviorProperty(ClassifierBehaviorProperty 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>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>Element Property Path</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Element Property Path</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseElementPropertyPath(ElementPropertyPath 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>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>Directed Relationship Property Path</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>Directed Relationship Property Path</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDirectedRelationshipPropertyPath(DirectedRelationshipPropertyPath 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;
+	}
+
+} //BlocksSwitch
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlock.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlock.java
new file mode 100644
index 0000000..d461e44
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlock.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.constraintblocks;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.sysml16.blocks.Block;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Constraint Block</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             A constraint block is a block that packages the statement of a constraint so it may be applied in a reusable way to constrain properties of other blocks. A constraint block typically defines one or more constraint parameters, which are bound to properties of other blocks in a surrounding context where the constraint is used. Binding connectors, as defined in Chapter 8: Blocks, are used to bind each parameter of the constraint block to a property in the surrounding context. All properties of a constraint block are constraint parameters, with the exception of constraint properties that hold internally nested usages of other constraint blocks.
+ *           
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage#getConstraintBlock()
+ * @model
+ * @generated
+ */
+public interface ConstraintBlock extends Block {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation" ordered="false"
+	 * @generated
+	 */
+	EList<Property> getParameters();
+
+} // ConstraintBlock
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlocksFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlocksFactory.java
new file mode 100644
index 0000000..501d6f5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlocksFactory.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.constraintblocks;
+
+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.sysml16.constraintblocks.ConstraintBlocksPackage
+ * @generated
+ */
+public interface ConstraintBlocksFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ConstraintBlocksFactory eINSTANCE = org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksFactoryImpl.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 the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	ConstraintBlocksPackage getConstraintBlocksPackage();
+
+} //ConstraintBlocksFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlocksPackage.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlocksPackage.java
new file mode 100644
index 0000000..84ae230
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlocksPackage.java
@@ -0,0 +1,218 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.constraintblocks;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.papyrus.sysml16.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 operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ConstraintBlocks'"
+ * @generated
+ */
+public interface ConstraintBlocksPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "constraintblocks"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "ConstraintBlocks"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ConstraintBlocksPackage eINSTANCE = org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlockImpl <em>Constraint Block</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlockImpl
+	 * @see org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksPackageImpl#getConstraintBlock()
+	 * @generated
+	 */
+	int CONSTRAINT_BLOCK = 0;
+
+	/**
+	 * 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 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 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 operation id for the '<em>Get References</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT_BLOCK___GET_REFERENCES = BlocksPackage.BLOCK___GET_REFERENCES;
+
+	/**
+	 * The operation id for the '<em>Get Parts</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT_BLOCK___GET_PARTS = BlocksPackage.BLOCK___GET_PARTS;
+
+	/**
+	 * The operation id for the '<em>Get Flow Properties</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT_BLOCK___GET_FLOW_PROPERTIES = BlocksPackage.BLOCK___GET_FLOW_PROPERTIES;
+
+	/**
+	 * The operation id for the '<em>Get Parameters</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT_BLOCK___GET_PARAMETERS = BlocksPackage.BLOCK_OPERATION_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 + 1;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.constraintblocks.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.sysml16.constraintblocks.ConstraintBlock
+	 * @generated
+	 */
+	EClass getConstraintBlock();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock#getParameters() <em>Get Parameters</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Parameters</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock#getParameters()
+	 * @generated
+	 */
+	EOperation getConstraintBlock__GetParameters();
+
+	/**
+	 * 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
+	 */
+	ConstraintBlocksFactory getConstraintBlocksFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlockImpl <em>Constraint Block</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlockImpl
+		 * @see org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksPackageImpl#getConstraintBlock()
+		 * @generated
+		 */
+		EClass CONSTRAINT_BLOCK = eINSTANCE.getConstraintBlock();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Parameters</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation CONSTRAINT_BLOCK___GET_PARAMETERS = eINSTANCE.getConstraintBlock__GetParameters();
+
+	}
+
+} //ConstraintBlocksPackage
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/internal/impl/ConstraintBlockImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/internal/impl/ConstraintBlockImpl.java
new file mode 100644
index 0000000..af4030d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/internal/impl/ConstraintBlockImpl.java
@@ -0,0 +1,81 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.constraintblocks.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlockImpl;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Constraint Block</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @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 ConstraintBlocksPackage.Literals.CONSTRAINT_BLOCK;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Property> getParameters() {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+			case ConstraintBlocksPackage.CONSTRAINT_BLOCK___GET_PARAMETERS:
+				return getParameters();
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+} //ConstraintBlockImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/internal/impl/ConstraintBlocksFactoryImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/internal/impl/ConstraintBlocksFactoryImpl.java
new file mode 100644
index 0000000..bafcc32
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/internal/impl/ConstraintBlocksFactoryImpl.java
@@ -0,0 +1,108 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.constraintblocks.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.sysml16.constraintblocks.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConstraintBlocksFactoryImpl extends EFactoryImpl implements ConstraintBlocksFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static ConstraintBlocksFactory init() {
+		try {
+			ConstraintBlocksFactory theConstraintBlocksFactory = (ConstraintBlocksFactory)EPackage.Registry.INSTANCE.getEFactory(ConstraintBlocksPackage.eNS_URI);
+			if (theConstraintBlocksFactory != null) {
+				return theConstraintBlocksFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new ConstraintBlocksFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ConstraintBlocksFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case ConstraintBlocksPackage.CONSTRAINT_BLOCK: return createConstraintBlock();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ConstraintBlock createConstraintBlock() {
+		ConstraintBlockImpl constraintBlock = new ConstraintBlockImpl();
+		return constraintBlock;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ConstraintBlocksPackage getConstraintBlocksPackage() {
+		return (ConstraintBlocksPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static ConstraintBlocksPackage getPackage() {
+		return ConstraintBlocksPackage.eINSTANCE;
+	}
+
+} //ConstraintBlocksFactoryImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/internal/impl/ConstraintBlocksPackageImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/internal/impl/ConstraintBlocksPackageImpl.java
new file mode 100644
index 0000000..11b9663
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/internal/impl/ConstraintBlocksPackageImpl.java
@@ -0,0 +1,293 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.constraintblocks.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksFactory;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+import org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
+
+import org.eclipse.papyrus.sysml16.sysml.internal.impl.SysMLPackageImpl;
+
+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 ConstraintBlocksPackageImpl extends EPackageImpl implements ConstraintBlocksPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass constraintBlockEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private ConstraintBlocksPackageImpl() {
+		super(eNS_URI, ConstraintBlocksFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link ConstraintBlocksPackage#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 ConstraintBlocksPackage init() {
+		if (isInited) return (ConstraintBlocksPackage)EPackage.Registry.INSTANCE.getEPackage(ConstraintBlocksPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredConstraintBlocksPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		ConstraintBlocksPackageImpl theConstraintBlocksPackage = registeredConstraintBlocksPackage instanceof ConstraintBlocksPackageImpl ? (ConstraintBlocksPackageImpl)registeredConstraintBlocksPackage : new ConstraintBlocksPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		StandardPackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SysMLPackage.eNS_URI);
+		SysMLPackageImpl theSysMLPackage = (SysMLPackageImpl)(registeredPackage instanceof SysMLPackageImpl ? registeredPackage : SysMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl)(registeredPackage instanceof ActivitiesPackageImpl ? registeredPackage : ActivitiesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl)(registeredPackage instanceof AllocationsPackageImpl ? registeredPackage : AllocationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl)(registeredPackage instanceof BlocksPackageImpl ? registeredPackage : BlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DeprecatedElementsPackage.eNS_URI);
+		DeprecatedElementsPackageImpl theDeprecatedElementsPackage = (DeprecatedElementsPackageImpl)(registeredPackage instanceof DeprecatedElementsPackageImpl ? registeredPackage : DeprecatedElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(PortsAndFlowsPackage.eNS_URI);
+		PortsAndFlowsPackageImpl thePortsAndFlowsPackage = (PortsAndFlowsPackageImpl)(registeredPackage instanceof PortsAndFlowsPackageImpl ? registeredPackage : PortsAndFlowsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModelElementsPackage.eNS_URI);
+		ModelElementsPackageImpl theModelElementsPackage = (ModelElementsPackageImpl)(registeredPackage instanceof ModelElementsPackageImpl ? registeredPackage : ModelElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(registeredPackage instanceof RequirementsPackageImpl ? registeredPackage : RequirementsPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theConstraintBlocksPackage.createPackageContents();
+		theSysMLPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		theDeprecatedElementsPackage.createPackageContents();
+		thePortsAndFlowsPackage.createPackageContents();
+		theModelElementsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theConstraintBlocksPackage.initializePackageContents();
+		theSysMLPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		theDeprecatedElementsPackage.initializePackageContents();
+		thePortsAndFlowsPackage.initializePackageContents();
+		theModelElementsPackage.initializePackageContents();
+		theRequirementsPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theConstraintBlocksPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(ConstraintBlocksPackage.eNS_URI, theConstraintBlocksPackage);
+		return theConstraintBlocksPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getConstraintBlock() {
+		return constraintBlockEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getConstraintBlock__GetParameters() {
+		return constraintBlockEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ConstraintBlocksFactory getConstraintBlocksFactory() {
+		return (ConstraintBlocksFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		constraintBlockEClass = createEClass(CONSTRAINT_BLOCK);
+		createEOperation(constraintBlockEClass, CONSTRAINT_BLOCK___GET_PARAMETERS);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		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); //$NON-NLS-1$
+
+		initEOperation(getConstraintBlock__GetParameters(), theUMLPackage.getProperty(), "getParameters", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		// Create annotations
+		// http://www.eclipse.org/uml2/2.0.0/UML
+		createUMLAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createUMLAnnotations() {
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$
+		addAnnotation
+		  (this,
+		   source,
+		   new String[] {
+			   "originalName", "ConstraintBlocks" //$NON-NLS-1$ //$NON-NLS-2$
+		   });
+	}
+
+} //ConstraintBlocksPackageImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/util/ConstraintBlocksAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/util/ConstraintBlocksAdapterFactory.java
new file mode 100644
index 0000000..8bcdd6c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/util/ConstraintBlocksAdapterFactory.java
@@ -0,0 +1,151 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.constraintblocks.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.sysml16.blocks.Block;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.*;
+
+/**
+ * <!-- 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.sysml16.constraintblocks.ConstraintBlocksPackage
+ * @generated
+ */
+public class ConstraintBlocksAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ConstraintBlocksPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ConstraintBlocksAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = ConstraintBlocksPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ConstraintBlocksSwitch<Adapter> modelSwitch =
+		new ConstraintBlocksSwitch<Adapter>() {
+			@Override
+			public Adapter caseConstraintBlock(ConstraintBlock object) {
+				return createConstraintBlockAdapter();
+			}
+			@Override
+			public Adapter caseBlock(Block object) {
+				return createBlockAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.constraintblocks.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.sysml16.constraintblocks.ConstraintBlock
+	 * @generated
+	 */
+	public Adapter createConstraintBlockAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.Block
+	 * @generated
+	 */
+	public Adapter createBlockAdapter() {
+		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;
+	}
+
+} //ConstraintBlocksAdapterFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/util/ConstraintBlocksSwitch.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/util/ConstraintBlocksSwitch.java
new file mode 100644
index 0000000..98ac8c4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/util/ConstraintBlocksSwitch.java
@@ -0,0 +1,139 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.constraintblocks.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.sysml16.blocks.Block;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.*;
+
+/**
+ * <!-- 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.sysml16.constraintblocks.ConstraintBlocksPackage
+ * @generated
+ */
+public class ConstraintBlocksSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ConstraintBlocksPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ConstraintBlocksSwitch() {
+		if (modelPackage == null) {
+			modelPackage = ConstraintBlocksPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case ConstraintBlocksPackage.CONSTRAINT_BLOCK: {
+				ConstraintBlock constraintBlock = (ConstraintBlock)theEObject;
+				T result = caseConstraintBlock(constraintBlock);
+				if (result == null) result = caseBlock(constraintBlock);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * 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>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>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;
+	}
+
+} //ConstraintBlocksSwitch
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/DeprecatedElementsFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/DeprecatedElementsFactory.java
new file mode 100644
index 0000000..4ca0282
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/DeprecatedElementsFactory.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements;
+
+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.sysml16.deprecatedelements.DeprecatedElementsPackage
+ * @generated
+ */
+public interface DeprecatedElementsFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DeprecatedElementsFactory eINSTANCE = org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsFactoryImpl.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 Specification</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Flow Specification</em>'.
+	 * @generated
+	 */
+	FlowSpecification createFlowSpecification();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	DeprecatedElementsPackage getDeprecatedElementsPackage();
+
+} //DeprecatedElementsFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/DeprecatedElementsPackage.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/DeprecatedElementsPackage.java
new file mode 100644
index 0000000..d8a1158
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/DeprecatedElementsPackage.java
@@ -0,0 +1,360 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+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 operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='DeprecatedElements'"
+ * @generated
+ */
+public interface DeprecatedElementsPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "deprecatedelements"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "DeprecatedElements"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DeprecatedElementsPackage eINSTANCE = org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowPortImpl <em>Flow Port</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowPortImpl
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl#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>Direction</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_PORT__DIRECTION = 1;
+
+	/**
+	 * 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 = 2;
+
+	/**
+	 * 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 = 3;
+
+	/**
+	 * 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.sysml16.deprecatedelements.internal.impl.FlowSpecificationImpl <em>Flow Specification</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowSpecificationImpl
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl#getFlowSpecification()
+	 * @generated
+	 */
+	int FLOW_SPECIFICATION = 1;
+
+	/**
+	 * 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 operation id for the '<em>Get Flow Properties</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_SPECIFICATION___GET_FLOW_PROPERTIES = 0;
+
+	/**
+	 * The number of operations of the '<em>Flow Specification</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_SPECIFICATION_OPERATION_COUNT = 1;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.deprecatedelements.FlowPort
+	 * @generated
+	 */
+	EClass getFlowPort();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.deprecatedelements.FlowPort#getBase_Port()
+	 * @see #getFlowPort()
+	 * @generated
+	 */
+	EReference getFlowPort_Base_Port();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.deprecatedelements.FlowPort#getDirection()
+	 * @see #getFlowPort()
+	 * @generated
+	 */
+	EAttribute getFlowPort_Direction();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.deprecatedelements.FlowPort#isAtomic()
+	 * @see #getFlowPort()
+	 * @generated
+	 */
+	EAttribute getFlowPort_IsAtomic();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.deprecatedelements.FlowPort#getIcon()
+	 * @generated
+	 */
+	EOperation getFlowPort__GetIcon();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.deprecatedelements.FlowSpecification
+	 * @generated
+	 */
+	EClass getFlowSpecification();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.deprecatedelements.FlowSpecification#getBase_Interface()
+	 * @see #getFlowSpecification()
+	 * @generated
+	 */
+	EReference getFlowSpecification_Base_Interface();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification#getFlowProperties() <em>Get Flow Properties</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Flow Properties</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification#getFlowProperties()
+	 * @generated
+	 */
+	EOperation getFlowSpecification__GetFlowProperties();
+
+	/**
+	 * 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
+	 */
+	DeprecatedElementsFactory getDeprecatedElementsFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowPortImpl <em>Flow Port</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowPortImpl
+		 * @see org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl#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>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>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>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.sysml16.deprecatedelements.internal.impl.FlowSpecificationImpl <em>Flow Specification</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowSpecificationImpl
+		 * @see org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl#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 '<em><b>Get Flow Properties</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation FLOW_SPECIFICATION___GET_FLOW_PROPERTIES = eINSTANCE.getFlowSpecification__GetFlowProperties();
+
+	}
+
+} //DeprecatedElementsPackage
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/FlowPort.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/FlowPort.java
new file mode 100644
index 0000000..8431d0a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/FlowPort.java
@@ -0,0 +1,127 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+
+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 -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             A FlowPort is an interaction point through which input and/or output of items such as data, material, or energy may flow. This enables the owning block to declare which items it may exchange with its environment and the interaction points through which the exchange is made. We distinguish between atomic flow port and a nonatomic flow port. Atomic flow ports relay items that are classified by a single Block, ValueType, DataType, or Signal classifier. A nonatomic flow port relays items of several types as specified by a FlowSpecification. Flow ports and associated flow specifications define “what can flow” between the block and its environment, whereas item flows specify “what does flow” in a specific usage context. Flow ports relay items to their owning block or to a connector that connects them with their owner’s internal parts (internal connector).
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort#getBase_Port <em>Base Port</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort#getDirection <em>Direction</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort#isAtomic <em>Is Atomic</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage#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.sysml16.deprecatedelements.DeprecatedElementsPackage#getFlowPort_Base_Port()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Port getBase_Port();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.deprecatedelements.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>Direction</b></em>' attribute.
+	 * The default value is <code>"inout"</code>.
+	 * The literals are from the enumeration {@link org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 *               Indicates the direction in which an atomic flow port relays its items. If the direction is set to “in,” then the items are relayed from an external connector via the flow port into the flow port’s owner (or one of its parts). If the direction is set to “out,” then the items are relayed from the flow port’s owner, via the flow port, through an external connector attached to the flow port. If the direction is set to “inout,” then items can flow both ways. By default, the value is inout.
+	 *             
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Direction</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind
+	 * @see #setDirection(FlowDirectionKind)
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage#getFlowPort_Direction()
+	 * @model default="inout" required="true" ordered="false"
+	 * @generated
+	 */
+	FlowDirectionKind getDirection();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.portsandflows.FlowDirectionKind
+	 * @see #getDirection()
+	 * @generated
+	 */
+	void setDirection(FlowDirectionKind value);
+
+	/**
+	 * Returns the value of the '<em><b>Is Atomic</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * This is a derived attribute (derived from the flow port’s type). For a flow port typed by a flow specification the value of this attribute is False, otherwise the value is True.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Is Atomic</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage#getFlowPort_IsAtomic()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	boolean isAtomic();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation" required="true" ordered="false"
+	 * @generated
+	 */
+	Image getIcon();
+
+} // FlowPort
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/FlowSpecification.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/FlowSpecification.java
new file mode 100644
index 0000000..005844b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/FlowSpecification.java
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Flow Specification</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A FlowSpecification specifies inputs and outputs as a set of flow properties. A flow specification is used by flow ports to specify what items can flow via the port.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification#getBase_Interface <em>Base Interface</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage#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.sysml16.deprecatedelements.DeprecatedElementsPackage#getFlowSpecification_Base_Interface()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Interface getBase_Interface();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.deprecatedelements.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);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation" ordered="false"
+	 * @generated
+	 */
+	EList<Property> getFlowProperties();
+
+} // FlowSpecification
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/internal/impl/DeprecatedElementsFactoryImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/internal/impl/DeprecatedElementsFactoryImpl.java
new file mode 100644
index 0000000..0a35404
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/internal/impl/DeprecatedElementsFactoryImpl.java
@@ -0,0 +1,120 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.deprecatedelements.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeprecatedElementsFactoryImpl extends EFactoryImpl implements DeprecatedElementsFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static DeprecatedElementsFactory init() {
+		try {
+			DeprecatedElementsFactory theDeprecatedElementsFactory = (DeprecatedElementsFactory)EPackage.Registry.INSTANCE.getEFactory(DeprecatedElementsPackage.eNS_URI);
+			if (theDeprecatedElementsFactory != null) {
+				return theDeprecatedElementsFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new DeprecatedElementsFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeprecatedElementsFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case DeprecatedElementsPackage.FLOW_PORT: return createFlowPort();
+			case DeprecatedElementsPackage.FLOW_SPECIFICATION: return createFlowSpecification();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public FlowPort createFlowPort() {
+		FlowPortImpl flowPort = new FlowPortImpl();
+		return flowPort;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public FlowSpecification createFlowSpecification() {
+		FlowSpecificationImpl flowSpecification = new FlowSpecificationImpl();
+		return flowSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public DeprecatedElementsPackage getDeprecatedElementsPackage() {
+		return (DeprecatedElementsPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static DeprecatedElementsPackage getPackage() {
+		return DeprecatedElementsPackage.eINSTANCE;
+	}
+
+} //DeprecatedElementsFactoryImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/internal/impl/DeprecatedElementsPackageImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/internal/impl/DeprecatedElementsPackageImpl.java
new file mode 100644
index 0000000..d76151b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/internal/impl/DeprecatedElementsPackageImpl.java
@@ -0,0 +1,378 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsFactory;
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+import org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
+
+import org.eclipse.papyrus.sysml16.sysml.internal.impl.SysMLPackageImpl;
+
+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 DeprecatedElementsPackageImpl extends EPackageImpl implements DeprecatedElementsPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass flowPortEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass flowSpecificationEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private DeprecatedElementsPackageImpl() {
+		super(eNS_URI, DeprecatedElementsFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link DeprecatedElementsPackage#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 DeprecatedElementsPackage init() {
+		if (isInited) return (DeprecatedElementsPackage)EPackage.Registry.INSTANCE.getEPackage(DeprecatedElementsPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredDeprecatedElementsPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		DeprecatedElementsPackageImpl theDeprecatedElementsPackage = registeredDeprecatedElementsPackage instanceof DeprecatedElementsPackageImpl ? (DeprecatedElementsPackageImpl)registeredDeprecatedElementsPackage : new DeprecatedElementsPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		StandardPackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SysMLPackage.eNS_URI);
+		SysMLPackageImpl theSysMLPackage = (SysMLPackageImpl)(registeredPackage instanceof SysMLPackageImpl ? registeredPackage : SysMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl)(registeredPackage instanceof ActivitiesPackageImpl ? registeredPackage : ActivitiesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl)(registeredPackage instanceof AllocationsPackageImpl ? registeredPackage : AllocationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl)(registeredPackage instanceof BlocksPackageImpl ? registeredPackage : BlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConstraintBlocksPackage.eNS_URI);
+		ConstraintBlocksPackageImpl theConstraintBlocksPackage = (ConstraintBlocksPackageImpl)(registeredPackage instanceof ConstraintBlocksPackageImpl ? registeredPackage : ConstraintBlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(PortsAndFlowsPackage.eNS_URI);
+		PortsAndFlowsPackageImpl thePortsAndFlowsPackage = (PortsAndFlowsPackageImpl)(registeredPackage instanceof PortsAndFlowsPackageImpl ? registeredPackage : PortsAndFlowsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModelElementsPackage.eNS_URI);
+		ModelElementsPackageImpl theModelElementsPackage = (ModelElementsPackageImpl)(registeredPackage instanceof ModelElementsPackageImpl ? registeredPackage : ModelElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(registeredPackage instanceof RequirementsPackageImpl ? registeredPackage : RequirementsPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theDeprecatedElementsPackage.createPackageContents();
+		theSysMLPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		theConstraintBlocksPackage.createPackageContents();
+		thePortsAndFlowsPackage.createPackageContents();
+		theModelElementsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theDeprecatedElementsPackage.initializePackageContents();
+		theSysMLPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		theConstraintBlocksPackage.initializePackageContents();
+		thePortsAndFlowsPackage.initializePackageContents();
+		theModelElementsPackage.initializePackageContents();
+		theRequirementsPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theDeprecatedElementsPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(DeprecatedElementsPackage.eNS_URI, theDeprecatedElementsPackage);
+		return theDeprecatedElementsPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getFlowPort() {
+		return flowPortEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getFlowPort_Base_Port() {
+		return (EReference)flowPortEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getFlowPort_Direction() {
+		return (EAttribute)flowPortEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getFlowPort_IsAtomic() {
+		return (EAttribute)flowPortEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getFlowPort__GetIcon() {
+		return flowPortEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getFlowSpecification() {
+		return flowSpecificationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getFlowSpecification_Base_Interface() {
+		return (EReference)flowSpecificationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getFlowSpecification__GetFlowProperties() {
+		return flowSpecificationEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public DeprecatedElementsFactory getDeprecatedElementsFactory() {
+		return (DeprecatedElementsFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		flowPortEClass = createEClass(FLOW_PORT);
+		createEReference(flowPortEClass, FLOW_PORT__BASE_PORT);
+		createEAttribute(flowPortEClass, FLOW_PORT__DIRECTION);
+		createEAttribute(flowPortEClass, FLOW_PORT__IS_ATOMIC);
+		createEOperation(flowPortEClass, FLOW_PORT___GET_ICON);
+
+		flowSpecificationEClass = createEClass(FLOW_SPECIFICATION);
+		createEReference(flowSpecificationEClass, FLOW_SPECIFICATION__BASE_INTERFACE);
+		createEOperation(flowSpecificationEClass, FLOW_SPECIFICATION___GET_FLOW_PROPERTIES);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		PortsAndFlowsPackage thePortsAndFlowsPackage = (PortsAndFlowsPackage)EPackage.Registry.INSTANCE.getEPackage(PortsAndFlowsPackage.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); //$NON-NLS-1$
+		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); //$NON-NLS-1$
+		initEAttribute(getFlowPort_Direction(), thePortsAndFlowsPackage.getFlowDirectionKind(), "direction", "inout", 1, 1, FlowPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEAttribute(getFlowPort_IsAtomic(), theTypesPackage.getBoolean(), "isAtomic", null, 1, 1, FlowPort.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEOperation(getFlowPort__GetIcon(), theUMLPackage.getImage(), "getIcon", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(flowSpecificationEClass, FlowSpecification.class, "FlowSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		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); //$NON-NLS-1$
+
+		initEOperation(getFlowSpecification__GetFlowProperties(), theUMLPackage.getProperty(), "getFlowProperties", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		// Create annotations
+		// http://www.eclipse.org/uml2/2.0.0/UML
+		createUMLAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createUMLAnnotations() {
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$
+		addAnnotation
+		  (this,
+		   source,
+		   new String[] {
+			   "originalName", "DeprecatedElements" //$NON-NLS-1$ //$NON-NLS-2$
+		   });
+	}
+
+} //DeprecatedElementsPackageImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/internal/impl/FlowPortImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/internal/impl/FlowPortImpl.java
new file mode 100644
index 0000000..bf0071d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/internal/impl/FlowPortImpl.java
@@ -0,0 +1,300 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.deprecatedelements.DeprecatedElementsPackage;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Flow Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowPortImpl#getBase_Port <em>Base Port</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowPortImpl#getDirection <em>Direction</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowPortImpl#isAtomic <em>Is Atomic</em>}</li>
+ * </ul>
+ *
+ * @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 #getDirection() <em>Direction</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDirection()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final FlowDirectionKind DIRECTION_EDEFAULT = FlowDirectionKind.INOUT;
+
+	/**
+	 * The cached value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDirection()
+	 * @generated
+	 * @ordered
+	 */
+	protected FlowDirectionKind direction = DIRECTION_EDEFAULT;
+
+	/**
+	 * 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;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FlowPortImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeprecatedElementsPackage.Literals.FLOW_PORT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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, DeprecatedElementsPackage.FLOW_PORT__BASE_PORT, oldBase_Port, base_Port));
+			}
+		}
+		return base_Port;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port basicGetBase_Port() {
+		return base_Port;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Port(Port newBase_Port) {
+		Port oldBase_Port = base_Port;
+		base_Port = newBase_Port;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeprecatedElementsPackage.FLOW_PORT__BASE_PORT, oldBase_Port, base_Port));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public FlowDirectionKind getDirection() {
+		return direction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDirection(FlowDirectionKind newDirection) {
+		FlowDirectionKind oldDirection = direction;
+		direction = newDirection == null ? DIRECTION_EDEFAULT : newDirection;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeprecatedElementsPackage.FLOW_PORT__DIRECTION, oldDirection, direction));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isAtomic() {
+		// TODO: implement this method to return 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 Image getIcon() {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeprecatedElementsPackage.FLOW_PORT__BASE_PORT:
+				if (resolve) return getBase_Port();
+				return basicGetBase_Port();
+			case DeprecatedElementsPackage.FLOW_PORT__DIRECTION:
+				return getDirection();
+			case DeprecatedElementsPackage.FLOW_PORT__IS_ATOMIC:
+				return isAtomic();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeprecatedElementsPackage.FLOW_PORT__BASE_PORT:
+				setBase_Port((Port)newValue);
+				return;
+			case DeprecatedElementsPackage.FLOW_PORT__DIRECTION:
+				setDirection((FlowDirectionKind)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeprecatedElementsPackage.FLOW_PORT__BASE_PORT:
+				setBase_Port((Port)null);
+				return;
+			case DeprecatedElementsPackage.FLOW_PORT__DIRECTION:
+				setDirection(DIRECTION_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeprecatedElementsPackage.FLOW_PORT__BASE_PORT:
+				return base_Port != null;
+			case DeprecatedElementsPackage.FLOW_PORT__DIRECTION:
+				return direction != DIRECTION_EDEFAULT;
+			case DeprecatedElementsPackage.FLOW_PORT__IS_ATOMIC:
+				return isAtomic() != IS_ATOMIC_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 DeprecatedElementsPackage.FLOW_PORT___GET_ICON:
+				return getIcon();
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (direction: "); //$NON-NLS-1$
+		result.append(direction);
+		result.append(')');
+		return result.toString();
+	}
+
+} //FlowPortImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/internal/impl/FlowSpecificationImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/internal/impl/FlowSpecificationImpl.java
new file mode 100644
index 0000000..a0af226
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/internal/impl/FlowSpecificationImpl.java
@@ -0,0 +1,201 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.deprecatedelements.DeprecatedElementsPackage;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification;
+
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Flow Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowSpecificationImpl#getBase_Interface <em>Base Interface</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeprecatedElementsPackage.Literals.FLOW_SPECIFICATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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, DeprecatedElementsPackage.FLOW_SPECIFICATION__BASE_INTERFACE, oldBase_Interface, base_Interface));
+			}
+		}
+		return base_Interface;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Interface basicGetBase_Interface() {
+		return base_Interface;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Interface(Interface newBase_Interface) {
+		Interface oldBase_Interface = base_Interface;
+		base_Interface = newBase_Interface;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeprecatedElementsPackage.FLOW_SPECIFICATION__BASE_INTERFACE, oldBase_Interface, base_Interface));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Property> getFlowProperties() {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeprecatedElementsPackage.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 void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeprecatedElementsPackage.FLOW_SPECIFICATION__BASE_INTERFACE:
+				setBase_Interface((Interface)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeprecatedElementsPackage.FLOW_SPECIFICATION__BASE_INTERFACE:
+				setBase_Interface((Interface)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeprecatedElementsPackage.FLOW_SPECIFICATION__BASE_INTERFACE:
+				return base_Interface != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+			case DeprecatedElementsPackage.FLOW_SPECIFICATION___GET_FLOW_PROPERTIES:
+				return getFlowProperties();
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+} //FlowSpecificationImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/util/DeprecatedElementsAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/util/DeprecatedElementsAdapterFactory.java
new file mode 100644
index 0000000..6d8cbfe
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/util/DeprecatedElementsAdapterFactory.java
@@ -0,0 +1,149 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.deprecatedelements.*;
+
+/**
+ * <!-- 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.sysml16.deprecatedelements.DeprecatedElementsPackage
+ * @generated
+ */
+public class DeprecatedElementsAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DeprecatedElementsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeprecatedElementsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = DeprecatedElementsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DeprecatedElementsSwitch<Adapter> modelSwitch =
+		new DeprecatedElementsSwitch<Adapter>() {
+			@Override
+			public Adapter caseFlowPort(FlowPort object) {
+				return createFlowPortAdapter();
+			}
+			@Override
+			public Adapter caseFlowSpecification(FlowSpecification object) {
+				return createFlowSpecificationAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.deprecatedelements.FlowPort
+	 * @generated
+	 */
+	public Adapter createFlowPortAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.deprecatedelements.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.sysml16.deprecatedelements.FlowSpecification
+	 * @generated
+	 */
+	public Adapter createFlowSpecificationAdapter() {
+		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;
+	}
+
+} //DeprecatedElementsAdapterFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/util/DeprecatedElementsSwitch.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/util/DeprecatedElementsSwitch.java
new file mode 100644
index 0000000..308977f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/util/DeprecatedElementsSwitch.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.*;
+
+/**
+ * <!-- 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.sysml16.deprecatedelements.DeprecatedElementsPackage
+ * @generated
+ */
+public class DeprecatedElementsSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DeprecatedElementsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeprecatedElementsSwitch() {
+		if (modelPackage == null) {
+			modelPackage = DeprecatedElementsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case DeprecatedElementsPackage.FLOW_PORT: {
+				FlowPort flowPort = (FlowPort)theEObject;
+				T result = caseFlowPort(flowPort);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeprecatedElementsPackage.FLOW_SPECIFICATION: {
+				FlowSpecification flowSpecification = (FlowSpecification)theEObject;
+				T result = caseFlowSpecification(flowSpecification);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * 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 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>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;
+	}
+
+} //DeprecatedElementsSwitch
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Conform.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Conform.java
new file mode 100644
index 0000000..f565767
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Conform.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Generalization;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conform</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             A Conform relationship is a dependency between a view and a viewpoint. The view conforms to the specified rules and conventions detailed in the viewpoint. Conform is a specialization of the UML dependency, and as with other dependencies the arrow direction points from the (client/source) to the (supplier/target).
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Conform#getBase_Generalization <em>Base Generalization</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getConform()
+ * @model
+ * @generated
+ */
+public interface Conform extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Generalization</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Generalization</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 Generalization</em>' reference.
+	 * @see #setBase_Generalization(Generalization)
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getConform_Base_Generalization()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Generalization getBase_Generalization();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.modelelements.Conform#getBase_Generalization <em>Base Generalization</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Generalization</em>' reference.
+	 * @see #getBase_Generalization()
+	 * @generated
+	 */
+	void setBase_Generalization(Generalization value);
+
+} // Conform
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/ElementGroup.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/ElementGroup.java
new file mode 100644
index 0000000..b549b12
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/ElementGroup.java
@@ -0,0 +1,191 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getCriterion <em>Criterion</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getMember <em>Member</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getOrderedMember <em>Ordered Member</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getSize <em>Size</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getElementGroup()
+ * @model
+ * @generated
+ */
+public interface ElementGroup 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.sysml16.modelelements.ModelElementsPackage#getElementGroup_Base_Comment()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#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);
+
+	/**
+	 * Returns the value of the '<em><b>Criterion</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Criterion</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Criterion</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getElementGroup_Criterion()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	String getCriterion();
+
+	/**
+	 * Returns the value of the '<em><b>Member</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Element}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Member</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>Member</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getElementGroup_Member()
+	 * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	EList<Element> getMember();
+
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getElementGroup_Name()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Ordered Member</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Element}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Ordered Member</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>Ordered Member</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getElementGroup_OrderedMember()
+	 * @model
+	 * @generated
+	 */
+	EList<Element> getOrderedMember();
+
+	/**
+	 * Returns the value of the '<em><b>Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Size</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Size</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getElementGroup_Size()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	int getSize();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model eRequired="true" eOrdered="false" resultMany="true" resultOrdered="false"
+	 * @generated
+	 */
+	void allGroups(Element e, EList<ElementGroup> result);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model resultDataType="org.eclipse.uml2.types.String" resultOrdered="false"
+	 * @generated
+	 */
+	void criterion(String result);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model resultMany="true" resultOrdered="false"
+	 * @generated
+	 */
+	void member(EList<Element> result);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model resultDataType="org.eclipse.uml2.types.Integer" resultRequired="true" resultOrdered="false"
+	 * @generated
+	 */
+	void size(int result);
+
+} // ElementGroup
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Expose.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Expose.java
new file mode 100644
index 0000000..f998dd0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Expose.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Expose</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Expose#getBase_Dependency <em>Base Dependency</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getExpose()
+ * @model
+ * @generated
+ */
+public interface Expose 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.sysml16.modelelements.ModelElementsPackage#getExpose_Base_Dependency()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Dependency getBase_Dependency();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.modelelements.Expose#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);
+
+} // Expose
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/ModelElementsFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/ModelElementsFactory.java
new file mode 100644
index 0000000..37a6212
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/ModelElementsFactory.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.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.sysml16.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>Element Group</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Element Group</em>'.
+	 * @generated
+	 */
+	ElementGroup createElementGroup();
+
+	/**
+	 * Returns a new object of class '<em>Expose</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Expose</em>'.
+	 * @generated
+	 */
+	Expose createExpose();
+
+	/**
+	 * 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>Stakeholder</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Stakeholder</em>'.
+	 * @generated
+	 */
+	Stakeholder createStakeholder();
+
+	/**
+	 * 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>Viewpoint</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Viewpoint</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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/ModelElementsPackage.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/ModelElementsPackage.java
new file mode 100644
index 0000000..02ee552
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/ModelElementsPackage.java
@@ -0,0 +1,1262 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+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 operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ModelElements'"
+ * @generated
+ */
+public interface ModelElementsPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "modelelements"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "ModelElements"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ModelElementsPackage eINSTANCE = org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ConformImpl <em>Conform</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ConformImpl
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getConform()
+	 * @generated
+	 */
+	int CONFORM = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Generalization</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONFORM__BASE_GENERALIZATION = 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.sysml16.modelelements.internal.impl.ElementGroupImpl <em>Element Group</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getElementGroup()
+	 * @generated
+	 */
+	int ELEMENT_GROUP = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Comment</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_GROUP__BASE_COMMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Criterion</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_GROUP__CRITERION = 1;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_GROUP__MEMBER = 2;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_GROUP__NAME = 3;
+
+	/**
+	 * The feature id for the '<em><b>Ordered Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_GROUP__ORDERED_MEMBER = 4;
+
+	/**
+	 * The feature id for the '<em><b>Size</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_GROUP__SIZE = 5;
+
+	/**
+	 * The number of structural features of the '<em>Element Group</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_GROUP_FEATURE_COUNT = 6;
+
+	/**
+	 * The operation id for the '<em>All Groups</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_GROUP___ALL_GROUPS__ELEMENT_ELIST = 0;
+
+	/**
+	 * The operation id for the '<em>Criterion</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_GROUP___CRITERION__STRING = 1;
+
+	/**
+	 * The operation id for the '<em>Member</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_GROUP___MEMBER__ELIST = 2;
+
+	/**
+	 * The operation id for the '<em>Size</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_GROUP___SIZE__INT = 3;
+
+	/**
+	 * The number of operations of the '<em>Element Group</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_GROUP_OPERATION_COUNT = 4;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ExposeImpl <em>Expose</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ExposeImpl
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getExpose()
+	 * @generated
+	 */
+	int EXPOSE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXPOSE__BASE_DEPENDENCY = 0;
+
+	/**
+	 * The number of structural features of the '<em>Expose</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXPOSE_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Expose</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXPOSE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ProblemImpl <em>Problem</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ProblemImpl
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getProblem()
+	 * @generated
+	 */
+	int PROBLEM = 3;
+
+	/**
+	 * 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;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.RationaleImpl <em>Rationale</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.RationaleImpl
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getRationale()
+	 * @generated
+	 */
+	int RATIONALE = 4;
+
+	/**
+	 * 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.sysml16.modelelements.internal.impl.StakeholderImpl <em>Stakeholder</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.StakeholderImpl
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getStakeholder()
+	 * @generated
+	 */
+	int STAKEHOLDER = 5;
+
+	/**
+	 * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STAKEHOLDER__BASE_CLASSIFIER = 0;
+
+	/**
+	 * The feature id for the '<em><b>Concern List</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STAKEHOLDER__CONCERN_LIST = 1;
+
+	/**
+	 * The feature id for the '<em><b>Concern</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STAKEHOLDER__CONCERN = 2;
+
+	/**
+	 * The number of structural features of the '<em>Stakeholder</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STAKEHOLDER_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Stakeholder</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STAKEHOLDER_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewImpl <em>View</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewImpl
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getView()
+	 * @generated
+	 */
+	int VIEW = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW__BASE_CLASS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Stakeholder</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW__STAKEHOLDER = 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 = 2;
+
+	/**
+	 * The number of structural features of the '<em>View</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW_FEATURE_COUNT = 3;
+
+	/**
+	 * 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.sysml16.modelelements.internal.impl.ViewpointImpl <em>Viewpoint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getViewpoint()
+	 * @generated
+	 */
+	int VIEWPOINT = 7;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VIEWPOINT__BASE_CLASS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Concern</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VIEWPOINT__CONCERN = 1;
+
+	/**
+	 * The feature id for the '<em><b>Concern List</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VIEWPOINT__CONCERN_LIST = 2;
+
+	/**
+	 * The feature id for the '<em><b>Language</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VIEWPOINT__LANGUAGE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Method</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VIEWPOINT__METHOD = 4;
+
+	/**
+	 * The feature id for the '<em><b>Presentation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VIEWPOINT__PRESENTATION = 5;
+
+	/**
+	 * The feature id for the '<em><b>Purpose</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VIEWPOINT__PURPOSE = 6;
+
+	/**
+	 * The feature id for the '<em><b>Stakeholder</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VIEWPOINT__STAKEHOLDER = 7;
+
+	/**
+	 * The number of structural features of the '<em>Viewpoint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VIEWPOINT_FEATURE_COUNT = 8;
+
+	/**
+	 * The number of operations of the '<em>Viewpoint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VIEWPOINT_OPERATION_COUNT = 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.modelelements.Conform <em>Conform</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Conform</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Conform
+	 * @generated
+	 */
+	EClass getConform();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.modelelements.Conform#getBase_Generalization <em>Base Generalization</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Generalization</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Conform#getBase_Generalization()
+	 * @see #getConform()
+	 * @generated
+	 */
+	EReference getConform_Base_Generalization();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup <em>Element Group</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Element Group</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ElementGroup
+	 * @generated
+	 */
+	EClass getElementGroup();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#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.sysml16.modelelements.ElementGroup#getBase_Comment()
+	 * @see #getElementGroup()
+	 * @generated
+	 */
+	EReference getElementGroup_Base_Comment();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getCriterion <em>Criterion</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Criterion</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getCriterion()
+	 * @see #getElementGroup()
+	 * @generated
+	 */
+	EAttribute getElementGroup_Criterion();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getMember <em>Member</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Member</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getMember()
+	 * @see #getElementGroup()
+	 * @generated
+	 */
+	EReference getElementGroup_Member();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getName()
+	 * @see #getElementGroup()
+	 * @generated
+	 */
+	EAttribute getElementGroup_Name();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getOrderedMember <em>Ordered Member</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Ordered Member</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getOrderedMember()
+	 * @see #getElementGroup()
+	 * @generated
+	 */
+	EReference getElementGroup_OrderedMember();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getSize <em>Size</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Size</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getSize()
+	 * @see #getElementGroup()
+	 * @generated
+	 */
+	EAttribute getElementGroup_Size();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#allGroups(org.eclipse.uml2.uml.Element, org.eclipse.emf.common.util.EList) <em>All Groups</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>All Groups</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ElementGroup#allGroups(org.eclipse.uml2.uml.Element, org.eclipse.emf.common.util.EList)
+	 * @generated
+	 */
+	EOperation getElementGroup__AllGroups__Element_EList();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#criterion(java.lang.String) <em>Criterion</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Criterion</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ElementGroup#criterion(java.lang.String)
+	 * @generated
+	 */
+	EOperation getElementGroup__Criterion__String();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#member(org.eclipse.emf.common.util.EList) <em>Member</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Member</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ElementGroup#member(org.eclipse.emf.common.util.EList)
+	 * @generated
+	 */
+	EOperation getElementGroup__Member__EList();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#size(int) <em>Size</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Size</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ElementGroup#size(int)
+	 * @generated
+	 */
+	EOperation getElementGroup__Size__int();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.modelelements.Expose <em>Expose</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Expose</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Expose
+	 * @generated
+	 */
+	EClass getExpose();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.modelelements.Expose#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.sysml16.modelelements.Expose#getBase_Dependency()
+	 * @see #getExpose()
+	 * @generated
+	 */
+	EReference getExpose_Base_Dependency();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.modelelements.Problem <em>Problem</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Problem</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Problem
+	 * @generated
+	 */
+	EClass getProblem();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.modelelements.Problem#getBase_Comment()
+	 * @see #getProblem()
+	 * @generated
+	 */
+	EReference getProblem_Base_Comment();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.modelelements.Rationale <em>Rationale</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Rationale</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Rationale
+	 * @generated
+	 */
+	EClass getRationale();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.modelelements.Rationale#getBase_Comment()
+	 * @see #getRationale()
+	 * @generated
+	 */
+	EReference getRationale_Base_Comment();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder <em>Stakeholder</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Stakeholder</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Stakeholder
+	 * @generated
+	 */
+	EClass getStakeholder();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder#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.sysml16.modelelements.Stakeholder#getBase_Classifier()
+	 * @see #getStakeholder()
+	 * @generated
+	 */
+	EReference getStakeholder_Base_Classifier();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder#getConcernList <em>Concern List</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Concern List</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Stakeholder#getConcernList()
+	 * @see #getStakeholder()
+	 * @generated
+	 */
+	EReference getStakeholder_ConcernList();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder#getConcern <em>Concern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Concern</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Stakeholder#getConcern()
+	 * @see #getStakeholder()
+	 * @generated
+	 */
+	EAttribute getStakeholder_Concern();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.modelelements.View <em>View</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>View</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.View
+	 * @generated
+	 */
+	EClass getView();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.modelelements.View#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.sysml16.modelelements.View#getBase_Class()
+	 * @see #getView()
+	 * @generated
+	 */
+	EReference getView_Base_Class();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.modelelements.View#getStakeholder <em>Stakeholder</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Stakeholder</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.View#getStakeholder()
+	 * @see #getView()
+	 * @generated
+	 */
+	EReference getView_Stakeholder();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.modelelements.View#getViewPoint()
+	 * @see #getView()
+	 * @generated
+	 */
+	EReference getView_ViewPoint();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint <em>Viewpoint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Viewpoint</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Viewpoint
+	 * @generated
+	 */
+	EClass getViewpoint();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.modelelements.Viewpoint#getBase_Class()
+	 * @see #getViewpoint()
+	 * @generated
+	 */
+	EReference getViewpoint_Base_Class();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getConcern <em>Concern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Concern</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getConcern()
+	 * @see #getViewpoint()
+	 * @generated
+	 */
+	EAttribute getViewpoint_Concern();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getConcernList <em>Concern List</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Concern List</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getConcernList()
+	 * @see #getViewpoint()
+	 * @generated
+	 */
+	EReference getViewpoint_ConcernList();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getLanguage <em>Language</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Language</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getLanguage()
+	 * @see #getViewpoint()
+	 * @generated
+	 */
+	EAttribute getViewpoint_Language();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getMethod <em>Method</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Method</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getMethod()
+	 * @see #getViewpoint()
+	 * @generated
+	 */
+	EReference getViewpoint_Method();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getPresentation <em>Presentation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Presentation</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getPresentation()
+	 * @see #getViewpoint()
+	 * @generated
+	 */
+	EAttribute getViewpoint_Presentation();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.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.sysml16.modelelements.Viewpoint#getPurpose()
+	 * @see #getViewpoint()
+	 * @generated
+	 */
+	EAttribute getViewpoint_Purpose();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getStakeholder <em>Stakeholder</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Stakeholder</em>'.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getStakeholder()
+	 * @see #getViewpoint()
+	 * @generated
+	 */
+	EReference getViewpoint_Stakeholder();
+
+	/**
+	 * 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();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ConformImpl <em>Conform</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ConformImpl
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getConform()
+		 * @generated
+		 */
+		EClass CONFORM = eINSTANCE.getConform();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Generalization</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CONFORM__BASE_GENERALIZATION = eINSTANCE.getConform_Base_Generalization();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl <em>Element Group</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getElementGroup()
+		 * @generated
+		 */
+		EClass ELEMENT_GROUP = eINSTANCE.getElementGroup();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ELEMENT_GROUP__BASE_COMMENT = eINSTANCE.getElementGroup_Base_Comment();
+
+		/**
+		 * The meta object literal for the '<em><b>Criterion</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ELEMENT_GROUP__CRITERION = eINSTANCE.getElementGroup_Criterion();
+
+		/**
+		 * The meta object literal for the '<em><b>Member</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ELEMENT_GROUP__MEMBER = eINSTANCE.getElementGroup_Member();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ELEMENT_GROUP__NAME = eINSTANCE.getElementGroup_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>Ordered Member</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ELEMENT_GROUP__ORDERED_MEMBER = eINSTANCE.getElementGroup_OrderedMember();
+
+		/**
+		 * The meta object literal for the '<em><b>Size</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ELEMENT_GROUP__SIZE = eINSTANCE.getElementGroup_Size();
+
+		/**
+		 * The meta object literal for the '<em><b>All Groups</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ELEMENT_GROUP___ALL_GROUPS__ELEMENT_ELIST = eINSTANCE.getElementGroup__AllGroups__Element_EList();
+
+		/**
+		 * The meta object literal for the '<em><b>Criterion</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ELEMENT_GROUP___CRITERION__STRING = eINSTANCE.getElementGroup__Criterion__String();
+
+		/**
+		 * The meta object literal for the '<em><b>Member</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ELEMENT_GROUP___MEMBER__ELIST = eINSTANCE.getElementGroup__Member__EList();
+
+		/**
+		 * The meta object literal for the '<em><b>Size</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ELEMENT_GROUP___SIZE__INT = eINSTANCE.getElementGroup__Size__int();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ExposeImpl <em>Expose</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ExposeImpl
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getExpose()
+		 * @generated
+		 */
+		EClass EXPOSE = eINSTANCE.getExpose();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Dependency</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference EXPOSE__BASE_DEPENDENCY = eINSTANCE.getExpose_Base_Dependency();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ProblemImpl <em>Problem</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ProblemImpl
+		 * @see org.eclipse.papyrus.sysml16.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 meta object literal for the '{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.RationaleImpl <em>Rationale</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.RationaleImpl
+		 * @see org.eclipse.papyrus.sysml16.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.sysml16.modelelements.internal.impl.StakeholderImpl <em>Stakeholder</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.StakeholderImpl
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getStakeholder()
+		 * @generated
+		 */
+		EClass STAKEHOLDER = eINSTANCE.getStakeholder();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Classifier</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STAKEHOLDER__BASE_CLASSIFIER = eINSTANCE.getStakeholder_Base_Classifier();
+
+		/**
+		 * The meta object literal for the '<em><b>Concern List</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STAKEHOLDER__CONCERN_LIST = eINSTANCE.getStakeholder_ConcernList();
+
+		/**
+		 * The meta object literal for the '<em><b>Concern</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STAKEHOLDER__CONCERN = eINSTANCE.getStakeholder_Concern();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewImpl <em>View</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewImpl
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getView()
+		 * @generated
+		 */
+		EClass VIEW = eINSTANCE.getView();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference VIEW__BASE_CLASS = eINSTANCE.getView_Base_Class();
+
+		/**
+		 * The meta object literal for the '<em><b>Stakeholder</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference VIEW__STAKEHOLDER = eINSTANCE.getView_Stakeholder();
+
+		/**
+		 * 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 '{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl <em>Viewpoint</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl
+		 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl#getViewpoint()
+		 * @generated
+		 */
+		EClass VIEWPOINT = eINSTANCE.getViewpoint();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference VIEWPOINT__BASE_CLASS = eINSTANCE.getViewpoint_Base_Class();
+
+		/**
+		 * The meta object literal for the '<em><b>Concern</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute VIEWPOINT__CONCERN = eINSTANCE.getViewpoint_Concern();
+
+		/**
+		 * The meta object literal for the '<em><b>Concern List</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference VIEWPOINT__CONCERN_LIST = eINSTANCE.getViewpoint_ConcernList();
+
+		/**
+		 * The meta object literal for the '<em><b>Language</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute VIEWPOINT__LANGUAGE = eINSTANCE.getViewpoint_Language();
+
+		/**
+		 * The meta object literal for the '<em><b>Method</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference VIEWPOINT__METHOD = eINSTANCE.getViewpoint_Method();
+
+		/**
+		 * The meta object literal for the '<em><b>Presentation</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute VIEWPOINT__PRESENTATION = eINSTANCE.getViewpoint_Presentation();
+
+		/**
+		 * The meta object literal for the '<em><b>Purpose</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute VIEWPOINT__PURPOSE = eINSTANCE.getViewpoint_Purpose();
+
+		/**
+		 * The meta object literal for the '<em><b>Stakeholder</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference VIEWPOINT__STAKEHOLDER = eINSTANCE.getViewpoint_Stakeholder();
+
+	}
+
+} //ModelElementsPackage
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Problem.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Problem.java
new file mode 100644
index 0000000..e78f1a1
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Problem.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             A Problem documents a deficiency, limitation, or failure of one or more model elements to satisfy a requirement or need, or other undesired outcome. It may be used to capture problems identified during analysis, design, verification, or manufacture and associate the problem with the relevant model elements. Problem is a stereotype of comment and may be attached to any other model element in the same manner as a comment.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Problem#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.modelelements.ModelElementsPackage#getProblem_Base_Comment()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Rationale.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Rationale.java
new file mode 100644
index 0000000..c2c3773
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Rationale.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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 -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             A Rationale documents the justification for decisions and the requirements, design, and other decisions. A Rationale can be attached to any model element including relationships. It allows the user, for example, to specify a rationale that may reference more detailed documentation such as a trade study or analysis report. Rationale is a stereotype of comment and may be attached to any other model element in the same manner as a comment.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Rationale#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.modelelements.ModelElementsPackage#getRationale_Base_Comment()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Stakeholder.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Stakeholder.java
new file mode 100644
index 0000000..281e57e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Stakeholder.java
@@ -0,0 +1,100 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stakeholder</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder#getBase_Classifier <em>Base Classifier</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder#getConcernList <em>Concern List</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder#getConcern <em>Concern</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getStakeholder()
+ * @model
+ * @generated
+ */
+public interface Stakeholder 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.sysml16.modelelements.ModelElementsPackage#getStakeholder_Base_Classifier()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Classifier getBase_Classifier();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder#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);
+
+	/**
+	 * Returns the value of the '<em><b>Concern List</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Comment}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Concern List</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>Concern List</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getStakeholder_ConcernList()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Comment> getConcernList();
+
+	/**
+	 * Returns the value of the '<em><b>Concern</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Concern</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>Concern</em>' attribute list.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getStakeholder_Concern()
+	 * @model dataType="org.eclipse.uml2.types.String" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	EList<String> getConcern();
+
+} // Stakeholder
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/View.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/View.java
new file mode 100644
index 0000000..fa04db7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/View.java
@@ -0,0 +1,99 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A View is a representation of a whole system or subsystem from the perspective of a single viewpoint. Views are allowed to import other elements including other packages and other views that conform to the viewpoint.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.View#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.View#getStakeholder <em>Stakeholder</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.View#getViewPoint <em>View Point</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getView()
+ * @model
+ * @generated
+ */
+public interface View 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.sysml16.modelelements.ModelElementsPackage#getView_Base_Class()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.modelelements.View#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+	/**
+	 * Returns the value of the '<em><b>Stakeholder</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Stakeholder</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>Stakeholder</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getView_Stakeholder()
+	 * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	EList<Stakeholder> getStakeholder();
+
+	/**
+	 * Returns the value of the '<em><b>View Point</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * The viewpoint for this View, derived from the supplier of the «conform» dependency whose client is this View.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>View Point</em>' reference.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getView_ViewPoint()
+	 * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	Viewpoint getViewPoint();
+
+} // View
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Viewpoint.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Viewpoint.java
new file mode 100644
index 0000000..2543422
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/Viewpoint.java
@@ -0,0 +1,219 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Viewpoint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A Viewpoint is a specification of the conventions and rules for constructing and using a view for the purpose of addressing a set of stakeholder concerns. The languages and methods for specifying a view may reference languages and methods in another viewpoint. They specify the elements expected to be represented in the view, and may be formally or informally defined. For example, the security viewpoint may require the security requirements, security functional and physical architecture, and security test cases.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getConcern <em>Concern</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getConcernList <em>Concern List</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getLanguage <em>Language</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getMethod <em>Method</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getPresentation <em>Presentation</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getPurpose <em>Purpose</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getStakeholder <em>Stakeholder</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.modelelements.ModelElementsPackage#getViewpoint_Base_Class()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * Returns the value of the '<em><b>Concern</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Concern</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>Concern</em>' attribute list.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getViewpoint_Concern()
+	 * @model dataType="org.eclipse.uml2.types.String" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	EList<String> getConcern();
+
+	/**
+	 * Returns the value of the '<em><b>Concern List</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Comment}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * The interest of the stakeholders.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Concern List</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getViewpoint_ConcernList()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Comment> getConcernList();
+
+	/**
+	 * Returns the value of the '<em><b>Language</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * The languages used to construct the viewpoint.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Language</em>' attribute list.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getViewpoint_Language()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	EList<String> getLanguage();
+
+	/**
+	 * Returns the value of the '<em><b>Method</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Behavior}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * The methods used to construct the views for this viewpoint.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Method</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getViewpoint_Method()
+	 * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	EList<Behavior> getMethod();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Behavior} with the specified '<em><b>Name</b></em>' from the '<em><b>Method</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.Behavior} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Behavior} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getMethod()
+	 * @generated
+	 */
+	Behavior getMethod(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Behavior} with the specified '<em><b>Name</b></em>' from the '<em><b>Method</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.Behavior} 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.Behavior} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Behavior} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getMethod()
+	 * @generated
+	 */
+	Behavior getMethod(String name, boolean ignoreCase, EClass eClass);
+
+	/**
+	 * Returns the value of the '<em><b>Presentation</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Presentation</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>Presentation</em>' attribute list.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getViewpoint_Presentation()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	EList<String> getPresentation();
+
+	/**
+	 * Returns the value of the '<em><b>Purpose</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * The purpose addresses the stakeholder concerns.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Purpose</em>' attribute.
+	 * @see #setPurpose(String)
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getViewpoint_Purpose()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getPurpose();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * Returns the value of the '<em><b>Stakeholder</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Set of stakeholders.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Stakeholder</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#getViewpoint_Stakeholder()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Stakeholder> getStakeholder();
+
+} // Viewpoint
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ConformImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ConformImpl.java
new file mode 100644
index 0000000..ec54e61
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ConformImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.modelelements.Conform;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.uml2.uml.Generalization;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conform</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ConformImpl#getBase_Generalization <em>Base Generalization</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConformImpl extends MinimalEObjectImpl.Container implements Conform {
+	/**
+	 * The cached value of the '{@link #getBase_Generalization() <em>Base Generalization</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Generalization()
+	 * @generated
+	 * @ordered
+	 */
+	protected Generalization base_Generalization;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ConformImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ModelElementsPackage.Literals.CONFORM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Generalization getBase_Generalization() {
+		if (base_Generalization != null && base_Generalization.eIsProxy()) {
+			InternalEObject oldBase_Generalization = (InternalEObject)base_Generalization;
+			base_Generalization = (Generalization)eResolveProxy(oldBase_Generalization);
+			if (base_Generalization != oldBase_Generalization) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ModelElementsPackage.CONFORM__BASE_GENERALIZATION, oldBase_Generalization, base_Generalization));
+			}
+		}
+		return base_Generalization;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Generalization basicGetBase_Generalization() {
+		return base_Generalization;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Generalization(Generalization newBase_Generalization) {
+		Generalization oldBase_Generalization = base_Generalization;
+		base_Generalization = newBase_Generalization;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ModelElementsPackage.CONFORM__BASE_GENERALIZATION, oldBase_Generalization, base_Generalization));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ModelElementsPackage.CONFORM__BASE_GENERALIZATION:
+				if (resolve) return getBase_Generalization();
+				return basicGetBase_Generalization();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ModelElementsPackage.CONFORM__BASE_GENERALIZATION:
+				setBase_Generalization((Generalization)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.CONFORM__BASE_GENERALIZATION:
+				setBase_Generalization((Generalization)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.CONFORM__BASE_GENERALIZATION:
+				return base_Generalization != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ConformImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ElementGroupImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ElementGroupImpl.java
new file mode 100644
index 0000000..99349eb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ElementGroupImpl.java
@@ -0,0 +1,426 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+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.sysml16.modelelements.ElementGroup;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl#getBase_Comment <em>Base Comment</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl#getCriterion <em>Criterion</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl#getMember <em>Member</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl#getOrderedMember <em>Ordered Member</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl#getSize <em>Size</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ElementGroupImpl extends MinimalEObjectImpl.Container implements ElementGroup {
+	/**
+	 * 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;
+
+	/**
+	 * The default value of the '{@link #getCriterion() <em>Criterion</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCriterion()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CRITERION_EDEFAULT = null;
+
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getOrderedMember() <em>Ordered Member</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOrderedMember()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Element> orderedMember;
+
+	/**
+	 * The default value of the '{@link #getSize() <em>Size</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSize()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int SIZE_EDEFAULT = 0;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ElementGroupImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ModelElementsPackage.Literals.ELEMENT_GROUP;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.ELEMENT_GROUP__BASE_COMMENT, oldBase_Comment, base_Comment));
+			}
+		}
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.ELEMENT_GROUP__BASE_COMMENT, oldBase_Comment, base_Comment));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCriterion() {
+		// TODO: implement this method to return the 'Criterion' attribute
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Element> getMember() {
+		// TODO: implement this method to return the 'Member' reference list
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ModelElementsPackage.ELEMENT_GROUP__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Element> getOrderedMember() {
+		if (orderedMember == null) {
+			orderedMember = new EObjectResolvingEList<Element>(Element.class, this, ModelElementsPackage.ELEMENT_GROUP__ORDERED_MEMBER);
+		}
+		return orderedMember;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getSize() {
+		// TODO: implement this method to return the 'Size' attribute
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void allGroups(Element e, EList<ElementGroup> result) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void criterion(String result) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void member(EList<Element> result) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void size(int result) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ModelElementsPackage.ELEMENT_GROUP__BASE_COMMENT:
+				if (resolve) return getBase_Comment();
+				return basicGetBase_Comment();
+			case ModelElementsPackage.ELEMENT_GROUP__CRITERION:
+				return getCriterion();
+			case ModelElementsPackage.ELEMENT_GROUP__MEMBER:
+				return getMember();
+			case ModelElementsPackage.ELEMENT_GROUP__NAME:
+				return getName();
+			case ModelElementsPackage.ELEMENT_GROUP__ORDERED_MEMBER:
+				return getOrderedMember();
+			case ModelElementsPackage.ELEMENT_GROUP__SIZE:
+				return getSize();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ModelElementsPackage.ELEMENT_GROUP__BASE_COMMENT:
+				setBase_Comment((Comment)newValue);
+				return;
+			case ModelElementsPackage.ELEMENT_GROUP__NAME:
+				setName((String)newValue);
+				return;
+			case ModelElementsPackage.ELEMENT_GROUP__ORDERED_MEMBER:
+				getOrderedMember().clear();
+				getOrderedMember().addAll((Collection<? extends Element>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.ELEMENT_GROUP__BASE_COMMENT:
+				setBase_Comment((Comment)null);
+				return;
+			case ModelElementsPackage.ELEMENT_GROUP__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case ModelElementsPackage.ELEMENT_GROUP__ORDERED_MEMBER:
+				getOrderedMember().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.ELEMENT_GROUP__BASE_COMMENT:
+				return base_Comment != null;
+			case ModelElementsPackage.ELEMENT_GROUP__CRITERION:
+				return CRITERION_EDEFAULT == null ? getCriterion() != null : !CRITERION_EDEFAULT.equals(getCriterion());
+			case ModelElementsPackage.ELEMENT_GROUP__MEMBER:
+				return !getMember().isEmpty();
+			case ModelElementsPackage.ELEMENT_GROUP__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case ModelElementsPackage.ELEMENT_GROUP__ORDERED_MEMBER:
+				return orderedMember != null && !orderedMember.isEmpty();
+			case ModelElementsPackage.ELEMENT_GROUP__SIZE:
+				return getSize() != SIZE_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	@SuppressWarnings("unchecked")
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+			case ModelElementsPackage.ELEMENT_GROUP___ALL_GROUPS__ELEMENT_ELIST:
+				allGroups((Element)arguments.get(0), (EList<ElementGroup>)arguments.get(1));
+				return null;
+			case ModelElementsPackage.ELEMENT_GROUP___CRITERION__STRING:
+				criterion((String)arguments.get(0));
+				return null;
+			case ModelElementsPackage.ELEMENT_GROUP___MEMBER__ELIST:
+				member((EList<Element>)arguments.get(0));
+				return null;
+			case ModelElementsPackage.ELEMENT_GROUP___SIZE__INT:
+				size((Integer)arguments.get(0));
+				return null;
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (name: "); //$NON-NLS-1$
+		result.append(name);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ElementGroupImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ExposeImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ExposeImpl.java
new file mode 100644
index 0000000..ba17566
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ExposeImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.modelelements.Expose;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Expose</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ExposeImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExposeImpl extends MinimalEObjectImpl.Container implements Expose {
+	/**
+	 * 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 ExposeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ModelElementsPackage.Literals.EXPOSE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.EXPOSE__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+			}
+		}
+		return base_Dependency;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Dependency basicGetBase_Dependency() {
+		return base_Dependency;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.EXPOSE__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ModelElementsPackage.EXPOSE__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 void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ModelElementsPackage.EXPOSE__BASE_DEPENDENCY:
+				setBase_Dependency((Dependency)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.EXPOSE__BASE_DEPENDENCY:
+				setBase_Dependency((Dependency)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.EXPOSE__BASE_DEPENDENCY:
+				return base_Dependency != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ExposeImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ModelElementsFactoryImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ModelElementsFactoryImpl.java
new file mode 100644
index 0000000..49dacbf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ModelElementsFactoryImpl.java
@@ -0,0 +1,192 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.modelelements.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModelElementsFactoryImpl extends EFactoryImpl implements ModelElementsFactory {
+	/**
+	 * 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.ELEMENT_GROUP: return createElementGroup();
+			case ModelElementsPackage.EXPOSE: return createExpose();
+			case ModelElementsPackage.PROBLEM: return createProblem();
+			case ModelElementsPackage.RATIONALE: return createRationale();
+			case ModelElementsPackage.STAKEHOLDER: return createStakeholder();
+			case ModelElementsPackage.VIEW: return createView();
+			case ModelElementsPackage.VIEWPOINT: return createViewpoint();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Conform createConform() {
+		ConformImpl conform = new ConformImpl();
+		return conform;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ElementGroup createElementGroup() {
+		ElementGroupImpl elementGroup = new ElementGroupImpl();
+		return elementGroup;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Expose createExpose() {
+		ExposeImpl expose = new ExposeImpl();
+		return expose;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Problem createProblem() {
+		ProblemImpl problem = new ProblemImpl();
+		return problem;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Rationale createRationale() {
+		RationaleImpl rationale = new RationaleImpl();
+		return rationale;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Stakeholder createStakeholder() {
+		StakeholderImpl stakeholder = new StakeholderImpl();
+		return stakeholder;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public View createView() {
+		ViewImpl view = new ViewImpl();
+		return view;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Viewpoint createViewpoint() {
+		ViewpointImpl viewpoint = new ViewpointImpl();
+		return viewpoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ModelElementsPackage getModelElementsPackage() {
+		return (ModelElementsPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static ModelElementsPackage getPackage() {
+		return ModelElementsPackage.eINSTANCE;
+	}
+
+} //ModelElementsFactoryImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ModelElementsPackageImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ModelElementsPackageImpl.java
new file mode 100644
index 0000000..9a84ec8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ModelElementsPackageImpl.java
@@ -0,0 +1,780 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.internal.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.modelelements.Conform;
+import org.eclipse.papyrus.sysml16.modelelements.ElementGroup;
+import org.eclipse.papyrus.sysml16.modelelements.Expose;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsFactory;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.modelelements.Problem;
+import org.eclipse.papyrus.sysml16.modelelements.Rationale;
+import org.eclipse.papyrus.sysml16.modelelements.Stakeholder;
+import org.eclipse.papyrus.sysml16.modelelements.View;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+import org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
+
+import org.eclipse.papyrus.sysml16.sysml.internal.impl.SysMLPackageImpl;
+
+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 EClass conformEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass elementGroupEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass exposeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass problemEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass rationaleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass stakeholderEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass viewEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass viewpointEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private ModelElementsPackageImpl() {
+		super(eNS_URI, ModelElementsFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link 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
+		Object registeredModelElementsPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		ModelElementsPackageImpl theModelElementsPackage = registeredModelElementsPackage instanceof ModelElementsPackageImpl ? (ModelElementsPackageImpl)registeredModelElementsPackage : new ModelElementsPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		StandardPackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SysMLPackage.eNS_URI);
+		SysMLPackageImpl theSysMLPackage = (SysMLPackageImpl)(registeredPackage instanceof SysMLPackageImpl ? registeredPackage : SysMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl)(registeredPackage instanceof ActivitiesPackageImpl ? registeredPackage : ActivitiesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl)(registeredPackage instanceof AllocationsPackageImpl ? registeredPackage : AllocationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl)(registeredPackage instanceof BlocksPackageImpl ? registeredPackage : BlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConstraintBlocksPackage.eNS_URI);
+		ConstraintBlocksPackageImpl theConstraintBlocksPackage = (ConstraintBlocksPackageImpl)(registeredPackage instanceof ConstraintBlocksPackageImpl ? registeredPackage : ConstraintBlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DeprecatedElementsPackage.eNS_URI);
+		DeprecatedElementsPackageImpl theDeprecatedElementsPackage = (DeprecatedElementsPackageImpl)(registeredPackage instanceof DeprecatedElementsPackageImpl ? registeredPackage : DeprecatedElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(PortsAndFlowsPackage.eNS_URI);
+		PortsAndFlowsPackageImpl thePortsAndFlowsPackage = (PortsAndFlowsPackageImpl)(registeredPackage instanceof PortsAndFlowsPackageImpl ? registeredPackage : PortsAndFlowsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(registeredPackage instanceof RequirementsPackageImpl ? registeredPackage : RequirementsPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theModelElementsPackage.createPackageContents();
+		theSysMLPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		theConstraintBlocksPackage.createPackageContents();
+		theDeprecatedElementsPackage.createPackageContents();
+		thePortsAndFlowsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theModelElementsPackage.initializePackageContents();
+		theSysMLPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		theConstraintBlocksPackage.initializePackageContents();
+		theDeprecatedElementsPackage.initializePackageContents();
+		thePortsAndFlowsPackage.initializePackageContents();
+		theRequirementsPackage.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
+	 */
+	@Override
+	public EClass getConform() {
+		return conformEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getConform_Base_Generalization() {
+		return (EReference)conformEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getElementGroup() {
+		return elementGroupEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getElementGroup_Base_Comment() {
+		return (EReference)elementGroupEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getElementGroup_Criterion() {
+		return (EAttribute)elementGroupEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getElementGroup_Member() {
+		return (EReference)elementGroupEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getElementGroup_Name() {
+		return (EAttribute)elementGroupEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getElementGroup_OrderedMember() {
+		return (EReference)elementGroupEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getElementGroup_Size() {
+		return (EAttribute)elementGroupEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getElementGroup__AllGroups__Element_EList() {
+		return elementGroupEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getElementGroup__Criterion__String() {
+		return elementGroupEClass.getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getElementGroup__Member__EList() {
+		return elementGroupEClass.getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getElementGroup__Size__int() {
+		return elementGroupEClass.getEOperations().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getExpose() {
+		return exposeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getExpose_Base_Dependency() {
+		return (EReference)exposeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getProblem() {
+		return problemEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getProblem_Base_Comment() {
+		return (EReference)problemEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getRationale() {
+		return rationaleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getRationale_Base_Comment() {
+		return (EReference)rationaleEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getStakeholder() {
+		return stakeholderEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getStakeholder_Base_Classifier() {
+		return (EReference)stakeholderEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getStakeholder_ConcernList() {
+		return (EReference)stakeholderEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getStakeholder_Concern() {
+		return (EAttribute)stakeholderEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getView() {
+		return viewEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getView_Base_Class() {
+		return (EReference)viewEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getView_Stakeholder() {
+		return (EReference)viewEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getView_ViewPoint() {
+		return (EReference)viewEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getViewpoint() {
+		return viewpointEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getViewpoint_Base_Class() {
+		return (EReference)viewpointEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getViewpoint_Concern() {
+		return (EAttribute)viewpointEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getViewpoint_ConcernList() {
+		return (EReference)viewpointEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getViewpoint_Language() {
+		return (EAttribute)viewpointEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getViewpoint_Method() {
+		return (EReference)viewpointEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getViewpoint_Presentation() {
+		return (EAttribute)viewpointEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getViewpoint_Purpose() {
+		return (EAttribute)viewpointEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getViewpoint_Stakeholder() {
+		return (EReference)viewpointEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ModelElementsFactory getModelElementsFactory() {
+		return (ModelElementsFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		conformEClass = createEClass(CONFORM);
+		createEReference(conformEClass, CONFORM__BASE_GENERALIZATION);
+
+		elementGroupEClass = createEClass(ELEMENT_GROUP);
+		createEReference(elementGroupEClass, ELEMENT_GROUP__BASE_COMMENT);
+		createEAttribute(elementGroupEClass, ELEMENT_GROUP__CRITERION);
+		createEReference(elementGroupEClass, ELEMENT_GROUP__MEMBER);
+		createEAttribute(elementGroupEClass, ELEMENT_GROUP__NAME);
+		createEReference(elementGroupEClass, ELEMENT_GROUP__ORDERED_MEMBER);
+		createEAttribute(elementGroupEClass, ELEMENT_GROUP__SIZE);
+		createEOperation(elementGroupEClass, ELEMENT_GROUP___ALL_GROUPS__ELEMENT_ELIST);
+		createEOperation(elementGroupEClass, ELEMENT_GROUP___CRITERION__STRING);
+		createEOperation(elementGroupEClass, ELEMENT_GROUP___MEMBER__ELIST);
+		createEOperation(elementGroupEClass, ELEMENT_GROUP___SIZE__INT);
+
+		exposeEClass = createEClass(EXPOSE);
+		createEReference(exposeEClass, EXPOSE__BASE_DEPENDENCY);
+
+		problemEClass = createEClass(PROBLEM);
+		createEReference(problemEClass, PROBLEM__BASE_COMMENT);
+
+		rationaleEClass = createEClass(RATIONALE);
+		createEReference(rationaleEClass, RATIONALE__BASE_COMMENT);
+
+		stakeholderEClass = createEClass(STAKEHOLDER);
+		createEReference(stakeholderEClass, STAKEHOLDER__BASE_CLASSIFIER);
+		createEReference(stakeholderEClass, STAKEHOLDER__CONCERN_LIST);
+		createEAttribute(stakeholderEClass, STAKEHOLDER__CONCERN);
+
+		viewEClass = createEClass(VIEW);
+		createEReference(viewEClass, VIEW__BASE_CLASS);
+		createEReference(viewEClass, VIEW__STAKEHOLDER);
+		createEReference(viewEClass, VIEW__VIEW_POINT);
+
+		viewpointEClass = createEClass(VIEWPOINT);
+		createEReference(viewpointEClass, VIEWPOINT__BASE_CLASS);
+		createEAttribute(viewpointEClass, VIEWPOINT__CONCERN);
+		createEReference(viewpointEClass, VIEWPOINT__CONCERN_LIST);
+		createEAttribute(viewpointEClass, VIEWPOINT__LANGUAGE);
+		createEReference(viewpointEClass, VIEWPOINT__METHOD);
+		createEAttribute(viewpointEClass, VIEWPOINT__PRESENTATION);
+		createEAttribute(viewpointEClass, VIEWPOINT__PURPOSE);
+		createEReference(viewpointEClass, VIEWPOINT__STAKEHOLDER);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// 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); //$NON-NLS-1$
+		initEReference(getConform_Base_Generalization(), theUMLPackage.getGeneralization(), null, "base_Generalization", null, 0, 1, Conform.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(elementGroupEClass, ElementGroup.class, "ElementGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getElementGroup_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 0, 1, ElementGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getElementGroup_Criterion(), theTypesPackage.getString(), "criterion", null, 1, 1, ElementGroup.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getElementGroup_Member(), theUMLPackage.getElement(), null, "member", null, 0, -1, ElementGroup.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getElementGroup_Name(), theTypesPackage.getString(), "name", null, 1, 1, ElementGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getElementGroup_OrderedMember(), theUMLPackage.getElement(), null, "orderedMember", null, 0, -1, ElementGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getElementGroup_Size(), theTypesPackage.getInteger(), "size", null, 1, 1, ElementGroup.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		EOperation op = initEOperation(getElementGroup__AllGroups__Element_EList(), null, "allGroups", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getElement(), "e", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, this.getElementGroup(), "result", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		op = initEOperation(getElementGroup__Criterion__String(), null, "criterion", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theTypesPackage.getString(), "result", 0, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		op = initEOperation(getElementGroup__Member__EList(), null, "member", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getElement(), "result", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		op = initEOperation(getElementGroup__Size__int(), null, "size", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theTypesPackage.getInteger(), "result", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(exposeEClass, Expose.class, "Expose", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getExpose_Base_Dependency(), theUMLPackage.getDependency(), null, "base_Dependency", null, 0, 1, Expose.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getProblem_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 0, 1, Problem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(rationaleEClass, Rationale.class, "Rationale", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getRationale_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 0, 1, Rationale.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(stakeholderEClass, Stakeholder.class, "Stakeholder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getStakeholder_Base_Classifier(), theUMLPackage.getClassifier(), null, "base_Classifier", null, 0, 1, Stakeholder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getStakeholder_ConcernList(), theUMLPackage.getComment(), null, "concernList", null, 0, -1, Stakeholder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getStakeholder_Concern(), theTypesPackage.getString(), "concern", null, 0, -1, Stakeholder.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(viewEClass, View.class, "View", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getView_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, View.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getView_Stakeholder(), this.getStakeholder(), null, "stakeholder", null, 0, -1, View.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		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); //$NON-NLS-1$
+
+		initEClass(viewpointEClass, Viewpoint.class, "Viewpoint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getViewpoint_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, Viewpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getViewpoint_Concern(), theTypesPackage.getString(), "concern", null, 0, -1, Viewpoint.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getViewpoint_ConcernList(), theUMLPackage.getComment(), null, "concernList", null, 0, -1, Viewpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getViewpoint_Language(), theTypesPackage.getString(), "language", null, 0, -1, Viewpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getViewpoint_Method(), theUMLPackage.getBehavior(), null, "method", null, 0, -1, Viewpoint.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getViewpoint_Presentation(), theTypesPackage.getString(), "presentation", null, 0, -1, Viewpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getViewpoint_Purpose(), theTypesPackage.getString(), "purpose", null, 1, 1, Viewpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getViewpoint_Stakeholder(), this.getStakeholder(), null, "stakeholder", null, 0, -1, Viewpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		// Create annotations
+		// http://www.eclipse.org/uml2/2.0.0/UML
+		createUMLAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createUMLAnnotations() {
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$
+		addAnnotation
+		  (this,
+		   source,
+		   new String[] {
+			   "originalName", "ModelElements" //$NON-NLS-1$ //$NON-NLS-2$
+		   });
+	}
+
+} //ModelElementsPackageImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ProblemImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ProblemImpl.java
new file mode 100644
index 0000000..fa51846
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ProblemImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ProblemImpl#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ModelElementsPackage.Literals.PROBLEM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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));
+	}
+
+	/**
+	 * <!-- 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 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
+	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
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.PROBLEM__BASE_COMMENT:
+				return base_Comment != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ProblemImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/RationaleImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/RationaleImpl.java
new file mode 100644
index 0000000..cf9ad14
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/RationaleImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.RationaleImpl#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ModelElementsPackage.Literals.RATIONALE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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));
+	}
+
+	/**
+	 * <!-- 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 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
+	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
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.RATIONALE__BASE_COMMENT:
+				return base_Comment != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //RationaleImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/StakeholderImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/StakeholderImpl.java
new file mode 100644
index 0000000..8fddb06
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/StakeholderImpl.java
@@ -0,0 +1,231 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.EObjectResolvingEList;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.modelelements.Stakeholder;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stakeholder</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.StakeholderImpl#getBase_Classifier <em>Base Classifier</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.StakeholderImpl#getConcernList <em>Concern List</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.StakeholderImpl#getConcern <em>Concern</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StakeholderImpl extends MinimalEObjectImpl.Container implements Stakeholder {
+	/**
+	 * 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;
+
+	/**
+	 * The cached value of the '{@link #getConcernList() <em>Concern List</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getConcernList()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Comment> concernList;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StakeholderImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ModelElementsPackage.Literals.STAKEHOLDER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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, ModelElementsPackage.STAKEHOLDER__BASE_CLASSIFIER, oldBase_Classifier, base_Classifier));
+			}
+		}
+		return base_Classifier;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Classifier basicGetBase_Classifier() {
+		return base_Classifier;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Classifier(Classifier newBase_Classifier) {
+		Classifier oldBase_Classifier = base_Classifier;
+		base_Classifier = newBase_Classifier;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ModelElementsPackage.STAKEHOLDER__BASE_CLASSIFIER, oldBase_Classifier, base_Classifier));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Comment> getConcernList() {
+		if (concernList == null) {
+			concernList = new EObjectResolvingEList<Comment>(Comment.class, this, ModelElementsPackage.STAKEHOLDER__CONCERN_LIST);
+		}
+		return concernList;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<String> getConcern() {
+		// TODO: implement this method to return the 'Concern' attribute list
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ModelElementsPackage.STAKEHOLDER__BASE_CLASSIFIER:
+				if (resolve) return getBase_Classifier();
+				return basicGetBase_Classifier();
+			case ModelElementsPackage.STAKEHOLDER__CONCERN_LIST:
+				return getConcernList();
+			case ModelElementsPackage.STAKEHOLDER__CONCERN:
+				return getConcern();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ModelElementsPackage.STAKEHOLDER__BASE_CLASSIFIER:
+				setBase_Classifier((Classifier)newValue);
+				return;
+			case ModelElementsPackage.STAKEHOLDER__CONCERN_LIST:
+				getConcernList().clear();
+				getConcernList().addAll((Collection<? extends Comment>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.STAKEHOLDER__BASE_CLASSIFIER:
+				setBase_Classifier((Classifier)null);
+				return;
+			case ModelElementsPackage.STAKEHOLDER__CONCERN_LIST:
+				getConcernList().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.STAKEHOLDER__BASE_CLASSIFIER:
+				return base_Classifier != null;
+			case ModelElementsPackage.STAKEHOLDER__CONCERN_LIST:
+				return concernList != null && !concernList.isEmpty();
+			case ModelElementsPackage.STAKEHOLDER__CONCERN:
+				return !getConcern().isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //StakeholderImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ViewImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ViewImpl.java
new file mode 100644
index 0000000..06d7a8f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ViewImpl.java
@@ -0,0 +1,219 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.internal.impl;
+
+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.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.modelelements.Stakeholder;
+import org.eclipse.papyrus.sysml16.modelelements.View;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>View</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewImpl#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewImpl#getStakeholder <em>Stakeholder</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewImpl#getViewPoint <em>View Point</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ViewImpl extends MinimalEObjectImpl.Container implements View {
+	/**
+	 * 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 ViewImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ModelElementsPackage.Literals.VIEW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Stakeholder> getStakeholder() {
+		// TODO: implement this method to return the 'Stakeholder' reference list
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Viewpoint getViewPoint() {
+		Viewpoint viewPoint = basicGetViewPoint();
+		return viewPoint != null && viewPoint.eIsProxy() ? (Viewpoint)eResolveProxy((InternalEObject)viewPoint) : viewPoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Viewpoint basicGetViewPoint() {
+		// TODO: implement this method to return the 'View Point' reference
+		// -> do not perform proxy resolution
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ModelElementsPackage.VIEW__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+			case ModelElementsPackage.VIEW__STAKEHOLDER:
+				return getStakeholder();
+			case ModelElementsPackage.VIEW__VIEW_POINT:
+				if (resolve) return getViewPoint();
+				return basicGetViewPoint();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ModelElementsPackage.VIEW__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.VIEW__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.VIEW__BASE_CLASS:
+				return base_Class != null;
+			case ModelElementsPackage.VIEW__STAKEHOLDER:
+				return !getStakeholder().isEmpty();
+			case ModelElementsPackage.VIEW__VIEW_POINT:
+				return basicGetViewPoint() != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ViewImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ViewpointImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ViewpointImpl.java
new file mode 100644
index 0000000..3e057c5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/internal/impl/ViewpointImpl.java
@@ -0,0 +1,454 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.modelelements.Stakeholder;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Viewpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl#getConcern <em>Concern</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl#getConcernList <em>Concern List</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl#getLanguage <em>Language</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl#getMethod <em>Method</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl#getPresentation <em>Presentation</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl#getPurpose <em>Purpose</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl#getStakeholder <em>Stakeholder</em>}</li>
+ * </ul>
+ *
+ * @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 #getConcernList() <em>Concern List</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getConcernList()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Comment> concernList;
+
+	/**
+	 * The cached value of the '{@link #getLanguage() <em>Language</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLanguage()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> language;
+
+	/**
+	 * The cached value of the '{@link #getPresentation() <em>Presentation</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPresentation()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> presentation;
+
+	/**
+	 * 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 #getStakeholder() <em>Stakeholder</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStakeholder()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Stakeholder> stakeholder;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ViewpointImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ModelElementsPackage.Literals.VIEWPOINT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.VIEWPOINT__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.VIEWPOINT__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<String> getConcern() {
+		// TODO: implement this method to return the 'Concern' attribute list
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Comment> getConcernList() {
+		if (concernList == null) {
+			concernList = new EObjectResolvingEList<Comment>(Comment.class, this, ModelElementsPackage.VIEWPOINT__CONCERN_LIST);
+		}
+		return concernList;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<String> getLanguage() {
+		if (language == null) {
+			language = new EDataTypeUniqueEList<String>(String.class, this, ModelElementsPackage.VIEWPOINT__LANGUAGE);
+		}
+		return language;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Behavior> getMethod() {
+		// TODO: implement this method to return the 'Method' reference list
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Behavior getMethod(String name) {
+		return getMethod(name, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Behavior getMethod(String name, boolean ignoreCase, EClass eClass) {
+		methodLoop: for (Behavior method : getMethod()) {
+			if (eClass != null && !eClass.isInstance(method))
+				continue methodLoop;
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(method.getName()) : name.equals(method.getName())))
+				continue methodLoop;
+			return method;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<String> getPresentation() {
+		if (presentation == null) {
+			presentation = new EDataTypeUniqueEList<String>(String.class, this, ModelElementsPackage.VIEWPOINT__PRESENTATION);
+		}
+		return presentation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getPurpose() {
+		return purpose;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setPurpose(String newPurpose) {
+		String oldPurpose = purpose;
+		purpose = newPurpose;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ModelElementsPackage.VIEWPOINT__PURPOSE, oldPurpose, purpose));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Stakeholder> getStakeholder() {
+		if (stakeholder == null) {
+			stakeholder = new EObjectResolvingEList<Stakeholder>(Stakeholder.class, this, ModelElementsPackage.VIEWPOINT__STAKEHOLDER);
+		}
+		return stakeholder;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ModelElementsPackage.VIEWPOINT__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+			case ModelElementsPackage.VIEWPOINT__CONCERN:
+				return getConcern();
+			case ModelElementsPackage.VIEWPOINT__CONCERN_LIST:
+				return getConcernList();
+			case ModelElementsPackage.VIEWPOINT__LANGUAGE:
+				return getLanguage();
+			case ModelElementsPackage.VIEWPOINT__METHOD:
+				return getMethod();
+			case ModelElementsPackage.VIEWPOINT__PRESENTATION:
+				return getPresentation();
+			case ModelElementsPackage.VIEWPOINT__PURPOSE:
+				return getPurpose();
+			case ModelElementsPackage.VIEWPOINT__STAKEHOLDER:
+				return getStakeholder();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ModelElementsPackage.VIEWPOINT__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+			case ModelElementsPackage.VIEWPOINT__CONCERN_LIST:
+				getConcernList().clear();
+				getConcernList().addAll((Collection<? extends Comment>)newValue);
+				return;
+			case ModelElementsPackage.VIEWPOINT__LANGUAGE:
+				getLanguage().clear();
+				getLanguage().addAll((Collection<? extends String>)newValue);
+				return;
+			case ModelElementsPackage.VIEWPOINT__PRESENTATION:
+				getPresentation().clear();
+				getPresentation().addAll((Collection<? extends String>)newValue);
+				return;
+			case ModelElementsPackage.VIEWPOINT__PURPOSE:
+				setPurpose((String)newValue);
+				return;
+			case ModelElementsPackage.VIEWPOINT__STAKEHOLDER:
+				getStakeholder().clear();
+				getStakeholder().addAll((Collection<? extends Stakeholder>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.VIEWPOINT__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+			case ModelElementsPackage.VIEWPOINT__CONCERN_LIST:
+				getConcernList().clear();
+				return;
+			case ModelElementsPackage.VIEWPOINT__LANGUAGE:
+				getLanguage().clear();
+				return;
+			case ModelElementsPackage.VIEWPOINT__PRESENTATION:
+				getPresentation().clear();
+				return;
+			case ModelElementsPackage.VIEWPOINT__PURPOSE:
+				setPurpose(PURPOSE_EDEFAULT);
+				return;
+			case ModelElementsPackage.VIEWPOINT__STAKEHOLDER:
+				getStakeholder().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ModelElementsPackage.VIEWPOINT__BASE_CLASS:
+				return base_Class != null;
+			case ModelElementsPackage.VIEWPOINT__CONCERN:
+				return !getConcern().isEmpty();
+			case ModelElementsPackage.VIEWPOINT__CONCERN_LIST:
+				return concernList != null && !concernList.isEmpty();
+			case ModelElementsPackage.VIEWPOINT__LANGUAGE:
+				return language != null && !language.isEmpty();
+			case ModelElementsPackage.VIEWPOINT__METHOD:
+				return !getMethod().isEmpty();
+			case ModelElementsPackage.VIEWPOINT__PRESENTATION:
+				return presentation != null && !presentation.isEmpty();
+			case ModelElementsPackage.VIEWPOINT__PURPOSE:
+				return PURPOSE_EDEFAULT == null ? purpose != null : !PURPOSE_EDEFAULT.equals(purpose);
+			case ModelElementsPackage.VIEWPOINT__STAKEHOLDER:
+				return stakeholder != null && !stakeholder.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (language: "); //$NON-NLS-1$
+		result.append(language);
+		result.append(", presentation: "); //$NON-NLS-1$
+		result.append(presentation);
+		result.append(", purpose: "); //$NON-NLS-1$
+		result.append(purpose);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ViewpointImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/util/ModelElementsAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/util/ModelElementsAdapterFactory.java
new file mode 100644
index 0000000..e3f3d47
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/util/ModelElementsAdapterFactory.java
@@ -0,0 +1,257 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.modelelements.*;
+
+/**
+ * <!-- 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.sysml16.modelelements.ModelElementsPackage
+ * @generated
+ */
+public class ModelElementsAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ModelElementsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ModelElementsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = ModelElementsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ModelElementsSwitch<Adapter> modelSwitch =
+		new ModelElementsSwitch<Adapter>() {
+			@Override
+			public Adapter caseConform(Conform object) {
+				return createConformAdapter();
+			}
+			@Override
+			public Adapter caseElementGroup(ElementGroup object) {
+				return createElementGroupAdapter();
+			}
+			@Override
+			public Adapter caseExpose(Expose object) {
+				return createExposeAdapter();
+			}
+			@Override
+			public Adapter caseProblem(Problem object) {
+				return createProblemAdapter();
+			}
+			@Override
+			public Adapter caseRationale(Rationale object) {
+				return createRationaleAdapter();
+			}
+			@Override
+			public Adapter caseStakeholder(Stakeholder object) {
+				return createStakeholderAdapter();
+			}
+			@Override
+			public Adapter caseView(View object) {
+				return createViewAdapter();
+			}
+			@Override
+			public Adapter caseViewpoint(Viewpoint object) {
+				return createViewpointAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.modelelements.Conform
+	 * @generated
+	 */
+	public Adapter createConformAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup <em>Element Group</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.sysml16.modelelements.ElementGroup
+	 * @generated
+	 */
+	public Adapter createElementGroupAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.modelelements.Expose <em>Expose</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.sysml16.modelelements.Expose
+	 * @generated
+	 */
+	public Adapter createExposeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.modelelements.Problem
+	 * @generated
+	 */
+	public Adapter createProblemAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.modelelements.Rationale
+	 * @generated
+	 */
+	public Adapter createRationaleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder <em>Stakeholder</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.sysml16.modelelements.Stakeholder
+	 * @generated
+	 */
+	public Adapter createStakeholderAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.modelelements.View
+	 * @generated
+	 */
+	public Adapter createViewAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint <em>Viewpoint</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.sysml16.modelelements.Viewpoint
+	 * @generated
+	 */
+	public Adapter createViewpointAdapter() {
+		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;
+	}
+
+} //ModelElementsAdapterFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/util/ModelElementsSwitch.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/util/ModelElementsSwitch.java
new file mode 100644
index 0000000..396f200
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/modelelements/util/ModelElementsSwitch.java
@@ -0,0 +1,268 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.modelelements.*;
+
+/**
+ * <!-- 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.sysml16.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 -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case ModelElementsPackage.CONFORM: {
+				Conform conform = (Conform)theEObject;
+				T result = caseConform(conform);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ModelElementsPackage.ELEMENT_GROUP: {
+				ElementGroup elementGroup = (ElementGroup)theEObject;
+				T result = caseElementGroup(elementGroup);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ModelElementsPackage.EXPOSE: {
+				Expose expose = (Expose)theEObject;
+				T result = caseExpose(expose);
+				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;
+			}
+			case ModelElementsPackage.RATIONALE: {
+				Rationale rationale = (Rationale)theEObject;
+				T result = caseRationale(rationale);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ModelElementsPackage.STAKEHOLDER: {
+				Stakeholder stakeholder = (Stakeholder)theEObject;
+				T result = caseStakeholder(stakeholder);
+				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.VIEWPOINT: {
+				Viewpoint viewpoint = (Viewpoint)theEObject;
+				T result = caseViewpoint(viewpoint);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * 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>Element Group</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Element Group</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseElementGroup(ElementGroup object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Expose</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>Expose</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseExpose(Expose 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>Stakeholder</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>Stakeholder</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStakeholder(Stakeholder 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>Viewpoint</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>Viewpoint</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;
+	}
+
+} //ModelElementsSwitch
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/AcceptChangeStructuralFeatureEventAction.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/AcceptChangeStructuralFeatureEventAction.java
new file mode 100644
index 0000000..8e7f79c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/AcceptChangeStructuralFeatureEventAction.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.AcceptEventAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Accept Change Structural Feature Event Action</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction#getBase_AcceptEventAction <em>Base Accept Event Action</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getAcceptChangeStructuralFeatureEventAction()
+ * @model
+ * @generated
+ */
+public interface AcceptChangeStructuralFeatureEventAction extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Accept Event Action</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Accept Event Action</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 Accept Event Action</em>' reference.
+	 * @see #setBase_AcceptEventAction(AcceptEventAction)
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getAcceptChangeStructuralFeatureEventAction_Base_AcceptEventAction()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	AcceptEventAction getBase_AcceptEventAction();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction#getBase_AcceptEventAction <em>Base Accept Event Action</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Accept Event Action</em>' reference.
+	 * @see #getBase_AcceptEventAction()
+	 * @generated
+	 */
+	void setBase_AcceptEventAction(AcceptEventAction value);
+
+} // AcceptChangeStructuralFeatureEventAction
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/AddFlowPropertyValueOnNestedPortAction.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/AddFlowPropertyValueOnNestedPortAction.java
new file mode 100644
index 0000000..74ff73e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/AddFlowPropertyValueOnNestedPortAction.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath;
+
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Add Flow Property Value On Nested Port Action</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction#getOnNestedPort <em>On Nested Port</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction#getBase_AddStructuralFeatureValueAction <em>Base Add Structural Feature Value Action</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getAddFlowPropertyValueOnNestedPortAction()
+ * @model
+ * @generated
+ */
+public interface AddFlowPropertyValueOnNestedPortAction extends ElementPropertyPath {
+	/**
+	 * Returns the value of the '<em><b>On Nested Port</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Port}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>On Nested Port</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>On Nested Port</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getAddFlowPropertyValueOnNestedPortAction_OnNestedPort()
+	 * @model required="true"
+	 * @generated
+	 */
+	EList<Port> getOnNestedPort();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>On Nested Port</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.Port} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getOnNestedPort()
+	 * @generated
+	 */
+	Port getOnNestedPort(String name, Type type);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>On Nested Port</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.Port} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @return The first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getOnNestedPort()
+	 * @generated
+	 */
+	Port getOnNestedPort(String name, Type type, boolean ignoreCase);
+
+	/**
+	 * Returns the value of the '<em><b>Base Add Structural Feature Value Action</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Add Structural Feature Value Action</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 Add Structural Feature Value Action</em>' reference.
+	 * @see #setBase_AddStructuralFeatureValueAction(AddStructuralFeatureValueAction)
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getAddFlowPropertyValueOnNestedPortAction_Base_AddStructuralFeatureValueAction()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	AddStructuralFeatureValueAction getBase_AddStructuralFeatureValueAction();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction#getBase_AddStructuralFeatureValueAction <em>Base Add Structural Feature Value Action</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Add Structural Feature Value Action</em>' reference.
+	 * @see #getBase_AddStructuralFeatureValueAction()
+	 * @generated
+	 */
+	void setBase_AddStructuralFeatureValueAction(AddStructuralFeatureValueAction value);
+
+} // AddFlowPropertyValueOnNestedPortAction
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/ChangeStructuralFeatureEvent.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/ChangeStructuralFeatureEvent.java
new file mode 100644
index 0000000..550e40b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/ChangeStructuralFeatureEvent.java
@@ -0,0 +1,91 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.StructuralFeature;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Change Structural Feature Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent#getBase_ChangeEvent <em>Base Change Event</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent#getStructuralFeature <em>Structural Feature</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getChangeStructuralFeatureEvent()
+ * @model
+ * @generated
+ */
+public interface ChangeStructuralFeatureEvent extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Change Event</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Change Event</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 Change Event</em>' reference.
+	 * @see #setBase_ChangeEvent(ChangeEvent)
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getChangeStructuralFeatureEvent_Base_ChangeEvent()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	ChangeEvent getBase_ChangeEvent();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent#getBase_ChangeEvent <em>Base Change Event</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Change Event</em>' reference.
+	 * @see #getBase_ChangeEvent()
+	 * @generated
+	 */
+	void setBase_ChangeEvent(ChangeEvent value);
+
+	/**
+	 * Returns the value of the '<em><b>Structural Feature</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Structural Feature</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Structural Feature</em>' reference.
+	 * @see #setStructuralFeature(StructuralFeature)
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getChangeStructuralFeatureEvent_StructuralFeature()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	StructuralFeature getStructuralFeature();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent#getStructuralFeature <em>Structural Feature</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Structural Feature</em>' reference.
+	 * @see #getStructuralFeature()
+	 * @generated
+	 */
+	void setStructuralFeature(StructuralFeature value);
+
+} // ChangeStructuralFeatureEvent
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/ConjugatedInterfaceBlock.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/ConjugatedInterfaceBlock.java
new file mode 100644
index 0000000..37a482c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/ConjugatedInterfaceBlock.java
@@ -0,0 +1,130 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Reception;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conjugated Interface Block</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#getOriginal <em>Original</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getConjugatedInterfaceBlock()
+ * @model
+ * @generated
+ */
+public interface ConjugatedInterfaceBlock extends InterfaceBlock {
+	/**
+	 * Returns the value of the '<em><b>Original</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Original</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Original</em>' reference.
+	 * @see #setOriginal(InterfaceBlock)
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getConjugatedInterfaceBlock_Original()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	InterfaceBlock getOriginal();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#getOriginal <em>Original</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Original</em>' reference.
+	 * @see #getOriginal()
+	 * @generated
+	 */
+	void setOriginal(InterfaceBlock value);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" df1Required="true" df1Ordered="false" df2Required="true" df2Ordered="false"
+	 * @generated
+	 */
+	boolean areConjugated(DirectedFeature df1, DirectedFeature df2);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" fp1Required="true" fp1Ordered="false" fp2Required="true" fp2Ordered="false"
+	 * @generated
+	 */
+	boolean areConjugated(FlowProperty fp1, FlowProperty fp2);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" r1Required="true" r1Ordered="false" r2Required="true" r2Ordered="false"
+	 * @generated
+	 */
+	boolean areConjugated(Reception r1, Reception r2);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" o1Required="true" o1Ordered="false" o2Required="true" o2Ordered="false"
+	 * @generated
+	 */
+	boolean areConjugated(Operation o1, Operation o2);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" p1Required="true" p1Ordered="false" p2Required="true" p2Ordered="false"
+	 * @generated
+	 */
+	boolean areConjugated(Property p1, Property p2);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" cs1Required="true" cs1Ordered="false" cs2Required="true" cs2Ordered="false"
+	 * @generated
+	 */
+	boolean areSameConstraintSets(Constraint cs1, Constraint cs2);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" ps1Required="true" ps1Ordered="false" ps2Required="true" ps2Ordered="false"
+	 * @generated
+	 */
+	boolean areSameParameterSets(ParameterSet ps1, ParameterSet ps2);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" bf1Required="true" bf1Ordered="false" bf2Required="true" bf2Ordered="false"
+	 * @generated
+	 */
+	boolean haveSameSignatures(BehavioralFeature bf1, BehavioralFeature bf2);
+
+} // ConjugatedInterfaceBlock
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/DirectedFeature.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/DirectedFeature.java
new file mode 100644
index 0000000..e183b7e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/DirectedFeature.java
@@ -0,0 +1,93 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Feature;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Directed Feature</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature#getBase_Feature <em>Base Feature</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature#getFeatureDirection <em>Feature Direction</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getDirectedFeature()
+ * @model
+ * @generated
+ */
+public interface DirectedFeature extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Feature</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Feature</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 Feature</em>' reference.
+	 * @see #setBase_Feature(Feature)
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getDirectedFeature_Base_Feature()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Feature getBase_Feature();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature#getBase_Feature <em>Base Feature</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Feature</em>' reference.
+	 * @see #getBase_Feature()
+	 * @generated
+	 */
+	void setBase_Feature(Feature value);
+
+	/**
+	 * Returns the value of the '<em><b>Feature Direction</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.papyrus.sysml16.portsandflows.FeatureDirectionKind}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Feature 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>Feature Direction</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.FeatureDirectionKind
+	 * @see #setFeatureDirection(FeatureDirectionKind)
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getDirectedFeature_FeatureDirection()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	FeatureDirectionKind getFeatureDirection();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature#getFeatureDirection <em>Feature Direction</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Feature Direction</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.FeatureDirectionKind
+	 * @see #getFeatureDirection()
+	 * @generated
+	 */
+	void setFeatureDirection(FeatureDirectionKind value);
+
+} // DirectedFeature
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/FeatureDirectionKind.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/FeatureDirectionKind.java
new file mode 100644
index 0000000..193cb34
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/FeatureDirectionKind.java
@@ -0,0 +1,243 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+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>Feature Direction Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getFeatureDirectionKind()
+ * @model
+ * @generated
+ */
+public enum FeatureDirectionKind implements Enumerator {
+	/**
+	 * The '<em><b>Provided</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PROVIDED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	PROVIDED(0, "provided", "provided"), //$NON-NLS-1$ //$NON-NLS-2$
+
+	/**
+	 * The '<em><b>Provided Required</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PROVIDED_REQUIRED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	PROVIDED_REQUIRED(1, "providedRequired", "providedRequired"), //$NON-NLS-1$ //$NON-NLS-2$
+
+	/**
+	 * The '<em><b>Required</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #REQUIRED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	REQUIRED(2, "required", "required"); //$NON-NLS-1$ //$NON-NLS-2$
+
+	/**
+	 * The '<em><b>Provided</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PROVIDED
+	 * @model name="provided"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int PROVIDED_VALUE = 0;
+
+	/**
+	 * The '<em><b>Provided Required</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PROVIDED_REQUIRED
+	 * @model name="providedRequired"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int PROVIDED_REQUIRED_VALUE = 1;
+
+	/**
+	 * The '<em><b>Required</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #REQUIRED
+	 * @model name="required"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int REQUIRED_VALUE = 2;
+
+	/**
+	 * An array of all the '<em><b>Feature Direction Kind</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final FeatureDirectionKind[] VALUES_ARRAY =
+		new FeatureDirectionKind[] {
+			PROVIDED,
+			PROVIDED_REQUIRED,
+			REQUIRED,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Feature Direction Kind</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<FeatureDirectionKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Feature Direction Kind</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static FeatureDirectionKind get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			FeatureDirectionKind result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Feature Direction Kind</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static FeatureDirectionKind getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			FeatureDirectionKind result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Feature Direction Kind</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static FeatureDirectionKind get(int value) {
+		switch (value) {
+			case PROVIDED_VALUE: return PROVIDED;
+			case PROVIDED_REQUIRED_VALUE: return PROVIDED_REQUIRED;
+			case REQUIRED_VALUE: return REQUIRED;
+		}
+		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 FeatureDirectionKind(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * 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;
+	}
+	
+} //FeatureDirectionKind
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/FlowDirectionKind.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/FlowDirectionKind.java
new file mode 100644
index 0000000..48c63fd
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/FlowDirectionKind.java
@@ -0,0 +1,264 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+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 Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * FlowDirectionKind is an enumeration type that defines literals used for specifying the direction that items can flow to or from a block. FlowDirectionKind is used by flow properties to indicate the direction that its items can flow to or from its owner.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getFlowDirectionKind()
+ * @model
+ * @generated
+ */
+public enum FlowDirectionKind implements Enumerator {
+	/**
+	 * The '<em><b>In</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Indicates that the flow property is input to the owning block.
+	 * <!-- end-model-doc -->
+	 * @see #IN_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	IN(0, "in", "in"), //$NON-NLS-1$ //$NON-NLS-2$
+
+	/**
+	 * The '<em><b>Inout</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Indicates that the flow property is both an input and an output of the owning block.
+	 * <!-- end-model-doc -->
+	 * @see #INOUT_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	INOUT(1, "inout", "inout"), //$NON-NLS-1$ //$NON-NLS-2$
+
+	/**
+	 * The '<em><b>Out</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Indicates that the flow property is an output of the owning block.
+	 * <!-- end-model-doc -->
+	 * @see #OUT_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	OUT(2, "out", "out"); //$NON-NLS-1$ //$NON-NLS-2$
+
+	/**
+	 * The '<em><b>In</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Indicates that the flow property is input to the owning block.
+	 * <!-- end-model-doc -->
+	 * @see #IN
+	 * @model name="in"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int IN_VALUE = 0;
+
+	/**
+	 * The '<em><b>Inout</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Indicates that the flow property is both an input and an output of the owning block.
+	 * <!-- end-model-doc -->
+	 * @see #INOUT
+	 * @model name="inout"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int INOUT_VALUE = 1;
+
+	/**
+	 * The '<em><b>Out</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Indicates that the flow property is an output of the owning block.
+	 * <!-- end-model-doc -->
+	 * @see #OUT
+	 * @model name="out"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int OUT_VALUE = 2;
+
+	/**
+	 * An array of all the '<em><b>Flow Direction Kind</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final FlowDirectionKind[] VALUES_ARRAY =
+		new FlowDirectionKind[] {
+			IN,
+			INOUT,
+			OUT,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Flow Direction Kind</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<FlowDirectionKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Flow Direction Kind</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static FlowDirectionKind get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			FlowDirectionKind result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Flow Direction Kind</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static FlowDirectionKind getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			FlowDirectionKind result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Flow Direction Kind</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static FlowDirectionKind get(int value) {
+		switch (value) {
+			case IN_VALUE: return IN;
+			case INOUT_VALUE: return INOUT;
+			case OUT_VALUE: return OUT;
+		}
+		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 FlowDirectionKind(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * 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;
+	}
+	
+} //FlowDirectionKind
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/FlowProperty.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/FlowProperty.java
new file mode 100644
index 0000000..a864262
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/FlowProperty.java
@@ -0,0 +1,108 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+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 -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             A FlowProperty signifies a single flow element that can flow to/from a block. A flow property’s values are either received from or transmitted to an external block. Flow properties are defined directly on blocks or flow specifications that are those specifications which type the flow ports. Flow properties enable item flows across connectors connecting parts of the corresponding block types, either directly (in case of the property is defined on the block) or via flowPorts. For Block, Data Type, and Value Type properties, setting an “out” FlowProperty value of a block usage on one end of a connector will result in assigning the same value of an “in” FlowProperty of a block usage at the other end of the connector, provided the flow properties are matched. Flow properties of type Signal imply sending and/or receiving of a signal usage. An “out” FlowProperty of type Signal means that the owning Block may broadcast the signal via connectors and an “in” FlowProperty means that the owning block is able to receive the Signal.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.FlowProperty#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.FlowProperty#getDirection <em>Direction</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#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.sysml16.portsandflows.PortsAndFlowsPackage#getFlowProperty_Base_Property()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.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);
+
+	/**
+	 * 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.sysml16.portsandflows.FlowDirectionKind}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Specifies if the property value is received from an external block (direction=“in”), transmitted to an external Block (direction=“out”) or both (direction=“inout”).
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Direction</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind
+	 * @see #setDirection(FlowDirectionKind)
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getFlowProperty_Direction()
+	 * @model default="inout" required="true" ordered="false"
+	 * @generated
+	 */
+	FlowDirectionKind getDirection();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.FlowDirectionKind
+	 * @see #getDirection()
+	 * @generated
+	 */
+	void setDirection(FlowDirectionKind value);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation" required="true" ordered="false"
+	 * @generated
+	 */
+	Image getIcon();
+
+} // FlowProperty
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/FullPort.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/FullPort.java
new file mode 100644
index 0000000..c1d063a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/FullPort.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Full Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.FullPort#getBase_Port <em>Base Port</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getFullPort()
+ * @model
+ * @generated
+ */
+public interface FullPort 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.sysml16.portsandflows.PortsAndFlowsPackage#getFullPort_Base_Port()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Port getBase_Port();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.FullPort#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);
+
+} // FullPort
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/InterfaceBlock.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/InterfaceBlock.java
new file mode 100644
index 0000000..b2d136c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/InterfaceBlock.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Interface Block</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getInterfaceBlock()
+ * @model
+ * @generated
+ */
+public interface InterfaceBlock extends Block {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation" ordered="false"
+	 * @generated
+	 */
+	EList<InterfaceBlock> getConjugated();
+
+} // InterfaceBlock
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/InvocationOnNestedPortAction.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/InvocationOnNestedPortAction.java
new file mode 100644
index 0000000..e9aefda
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/InvocationOnNestedPortAction.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath;
+
+import org.eclipse.uml2.uml.InvocationAction;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Invocation On Nested Port Action</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction#getBase_InvocationAction <em>Base Invocation Action</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction#getOnNestedPort <em>On Nested Port</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getInvocationOnNestedPortAction()
+ * @model
+ * @generated
+ */
+public interface InvocationOnNestedPortAction extends ElementPropertyPath {
+	/**
+	 * Returns the value of the '<em><b>Base Invocation Action</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Invocation Action</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 Invocation Action</em>' reference.
+	 * @see #setBase_InvocationAction(InvocationAction)
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getInvocationOnNestedPortAction_Base_InvocationAction()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	InvocationAction getBase_InvocationAction();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction#getBase_InvocationAction <em>Base Invocation Action</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Invocation Action</em>' reference.
+	 * @see #getBase_InvocationAction()
+	 * @generated
+	 */
+	void setBase_InvocationAction(InvocationAction value);
+
+	/**
+	 * Returns the value of the '<em><b>On Nested Port</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Port}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>On Nested Port</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>On Nested Port</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getInvocationOnNestedPortAction_OnNestedPort()
+	 * @model required="true"
+	 * @generated
+	 */
+	EList<Port> getOnNestedPort();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>On Nested Port</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.Port} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getOnNestedPort()
+	 * @generated
+	 */
+	Port getOnNestedPort(String name, Type type);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>On Nested Port</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.Port} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @return The first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getOnNestedPort()
+	 * @generated
+	 */
+	Port getOnNestedPort(String name, Type type, boolean ignoreCase);
+
+} // InvocationOnNestedPortAction
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/ItemFlow.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/ItemFlow.java
new file mode 100644
index 0000000..7db88de
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/ItemFlow.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+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 -->
+ *
+ * <!-- begin-model-doc -->
+ * An ItemFlow describes the flow of items across a connector or an association. It may constrain the item exchange between blocks, block usages, or flow ports as specified by their flow properties. For example, a pump connected to a tank: the pump has an “out” flow property of type Liquid and the tank has an “in” FlowProperty of type Liquid. To signify that only water flows between the pump and the tank, we can specify an ItemFlow of type Water on the connector.
+ *           
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.ItemFlow#getBase_InformationFlow <em>Base Information Flow</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.ItemFlow#getItemProperty <em>Item Property</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#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.sysml16.portsandflows.PortsAndFlowsPackage#getItemFlow_Base_InformationFlow()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	InformationFlow getBase_InformationFlow();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.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);
+
+	/**
+	 * Returns the value of the '<em><b>Item Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * An optional property that relates the flowing item to the instances of the connector’s enclosing block. This property is applicable only for item flows assigned to connectors. The multiplicity is zero if the item flow is assigned to an Association.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Item Property</em>' reference.
+	 * @see #setItemProperty(Property)
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getItemFlow_ItemProperty()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Property getItemProperty();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/PortsAndFlowsFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/PortsAndFlowsFactory.java
new file mode 100644
index 0000000..e3636ff
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/PortsAndFlowsFactory.java
@@ -0,0 +1,152 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+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.sysml16.portsandflows.PortsAndFlowsPackage
+ * @generated
+ */
+public interface PortsAndFlowsFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	PortsAndFlowsFactory eINSTANCE = org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Accept Change Structural Feature Event Action</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Accept Change Structural Feature Event Action</em>'.
+	 * @generated
+	 */
+	AcceptChangeStructuralFeatureEventAction createAcceptChangeStructuralFeatureEventAction();
+
+	/**
+	 * Returns a new object of class '<em>Change Structural Feature Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Change Structural Feature Event</em>'.
+	 * @generated
+	 */
+	ChangeStructuralFeatureEvent createChangeStructuralFeatureEvent();
+
+	/**
+	 * Returns a new object of class '<em>Directed Feature</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Directed Feature</em>'.
+	 * @generated
+	 */
+	DirectedFeature createDirectedFeature();
+
+	/**
+	 * 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>Full Port</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Full Port</em>'.
+	 * @generated
+	 */
+	FullPort createFullPort();
+
+	/**
+	 * Returns a new object of class '<em>Interface Block</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Interface Block</em>'.
+	 * @generated
+	 */
+	InterfaceBlock createInterfaceBlock();
+
+	/**
+	 * Returns a new object of class '<em>Invocation On Nested Port Action</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Invocation On Nested Port Action</em>'.
+	 * @generated
+	 */
+	InvocationOnNestedPortAction createInvocationOnNestedPortAction();
+
+	/**
+	 * 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 a new object of class '<em>Proxy Port</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Proxy Port</em>'.
+	 * @generated
+	 */
+	ProxyPort createProxyPort();
+
+	/**
+	 * Returns a new object of class '<em>Trigger On Nested Port</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Trigger On Nested Port</em>'.
+	 * @generated
+	 */
+	TriggerOnNestedPort createTriggerOnNestedPort();
+
+	/**
+	 * Returns a new object of class '<em>Conjugated Interface Block</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Conjugated Interface Block</em>'.
+	 * @generated
+	 */
+	ConjugatedInterfaceBlock createConjugatedInterfaceBlock();
+
+	/**
+	 * Returns a new object of class '<em>Add Flow Property Value On Nested Port Action</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Add Flow Property Value On Nested Port Action</em>'.
+	 * @generated
+	 */
+	AddFlowPropertyValueOnNestedPortAction createAddFlowPropertyValueOnNestedPortAction();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	PortsAndFlowsPackage getPortsAndFlowsPackage();
+
+} //PortsAndFlowsFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/PortsAndFlowsPackage.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/PortsAndFlowsPackage.java
new file mode 100644
index 0000000..ccff286
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/PortsAndFlowsPackage.java
@@ -0,0 +1,1664 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+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.papyrus.sysml16.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 operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='PortsAndFlows'"
+ * @generated
+ */
+public interface PortsAndFlowsPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "portsandflows"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "PortsAndFlows"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	PortsAndFlowsPackage eINSTANCE = org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.AcceptChangeStructuralFeatureEventActionImpl <em>Accept Change Structural Feature Event Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.AcceptChangeStructuralFeatureEventActionImpl
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getAcceptChangeStructuralFeatureEventAction()
+	 * @generated
+	 */
+	int ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Accept Event Action</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION__BASE_ACCEPT_EVENT_ACTION = 0;
+
+	/**
+	 * The number of structural features of the '<em>Accept Change Structural Feature Event Action</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Accept Change Structural Feature Event Action</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ChangeStructuralFeatureEventImpl <em>Change Structural Feature Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ChangeStructuralFeatureEventImpl
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getChangeStructuralFeatureEvent()
+	 * @generated
+	 */
+	int CHANGE_STRUCTURAL_FEATURE_EVENT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Change Event</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHANGE_STRUCTURAL_FEATURE_EVENT__BASE_CHANGE_EVENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Structural Feature</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHANGE_STRUCTURAL_FEATURE_EVENT__STRUCTURAL_FEATURE = 1;
+
+	/**
+	 * The number of structural features of the '<em>Change Structural Feature Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHANGE_STRUCTURAL_FEATURE_EVENT_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Change Structural Feature Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHANGE_STRUCTURAL_FEATURE_EVENT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.DirectedFeatureImpl <em>Directed Feature</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.DirectedFeatureImpl
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getDirectedFeature()
+	 * @generated
+	 */
+	int DIRECTED_FEATURE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Feature</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_FEATURE__BASE_FEATURE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Feature Direction</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_FEATURE__FEATURE_DIRECTION = 1;
+
+	/**
+	 * The number of structural features of the '<em>Directed Feature</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_FEATURE_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Directed Feature</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_FEATURE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.FlowPropertyImpl <em>Flow Property</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.FlowPropertyImpl
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getFlowProperty()
+	 * @generated
+	 */
+	int FLOW_PROPERTY = 3;
+
+	/**
+	 * 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.sysml16.portsandflows.internal.impl.FullPortImpl <em>Full Port</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.FullPortImpl
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getFullPort()
+	 * @generated
+	 */
+	int FULL_PORT = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Port</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FULL_PORT__BASE_PORT = 0;
+
+	/**
+	 * The number of structural features of the '<em>Full Port</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FULL_PORT_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Full Port</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FULL_PORT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.InterfaceBlockImpl <em>Interface Block</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.InterfaceBlockImpl
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getInterfaceBlock()
+	 * @generated
+	 */
+	int INTERFACE_BLOCK = 5;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_BLOCK__BASE_CLASS = BlocksPackage.BLOCK__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Is Encapsulated</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_BLOCK__IS_ENCAPSULATED = BlocksPackage.BLOCK__IS_ENCAPSULATED;
+
+	/**
+	 * The number of structural features of the '<em>Interface Block</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_BLOCK_FEATURE_COUNT = BlocksPackage.BLOCK_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Get References</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_BLOCK___GET_REFERENCES = BlocksPackage.BLOCK___GET_REFERENCES;
+
+	/**
+	 * The operation id for the '<em>Get Parts</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_BLOCK___GET_PARTS = BlocksPackage.BLOCK___GET_PARTS;
+
+	/**
+	 * The operation id for the '<em>Get Flow Properties</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_BLOCK___GET_FLOW_PROPERTIES = BlocksPackage.BLOCK___GET_FLOW_PROPERTIES;
+
+	/**
+	 * The operation id for the '<em>Get Conjugated</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_BLOCK___GET_CONJUGATED = BlocksPackage.BLOCK_OPERATION_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Interface Block</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_BLOCK_OPERATION_COUNT = BlocksPackage.BLOCK_OPERATION_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.InvocationOnNestedPortActionImpl <em>Invocation On Nested Port Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.InvocationOnNestedPortActionImpl
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getInvocationOnNestedPortAction()
+	 * @generated
+	 */
+	int INVOCATION_ON_NESTED_PORT_ACTION = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVOCATION_ON_NESTED_PORT_ACTION__BASE_ELEMENT = BlocksPackage.ELEMENT_PROPERTY_PATH__BASE_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVOCATION_ON_NESTED_PORT_ACTION__PROPERTY_PATH = BlocksPackage.ELEMENT_PROPERTY_PATH__PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Base Invocation Action</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVOCATION_ON_NESTED_PORT_ACTION__BASE_INVOCATION_ACTION = BlocksPackage.ELEMENT_PROPERTY_PATH_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>On Nested Port</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVOCATION_ON_NESTED_PORT_ACTION__ON_NESTED_PORT = BlocksPackage.ELEMENT_PROPERTY_PATH_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Invocation On Nested Port Action</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVOCATION_ON_NESTED_PORT_ACTION_FEATURE_COUNT = BlocksPackage.ELEMENT_PROPERTY_PATH_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Invocation On Nested Port Action</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVOCATION_ON_NESTED_PORT_ACTION_OPERATION_COUNT = BlocksPackage.ELEMENT_PROPERTY_PATH_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ItemFlowImpl <em>Item Flow</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ItemFlowImpl
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getItemFlow()
+	 * @generated
+	 */
+	int ITEM_FLOW = 7;
+
+	/**
+	 * 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.sysml16.portsandflows.internal.impl.ProxyPortImpl <em>Proxy Port</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ProxyPortImpl
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getProxyPort()
+	 * @generated
+	 */
+	int PROXY_PORT = 8;
+
+	/**
+	 * The feature id for the '<em><b>Base Port</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROXY_PORT__BASE_PORT = 0;
+
+	/**
+	 * The number of structural features of the '<em>Proxy Port</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROXY_PORT_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Proxy Port</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROXY_PORT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.TriggerOnNestedPortImpl <em>Trigger On Nested Port</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.TriggerOnNestedPortImpl
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getTriggerOnNestedPort()
+	 * @generated
+	 */
+	int TRIGGER_ON_NESTED_PORT = 9;
+
+	/**
+	 * The feature id for the '<em><b>Base Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRIGGER_ON_NESTED_PORT__BASE_ELEMENT = BlocksPackage.ELEMENT_PROPERTY_PATH__BASE_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRIGGER_ON_NESTED_PORT__PROPERTY_PATH = BlocksPackage.ELEMENT_PROPERTY_PATH__PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Base Trigger</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRIGGER_ON_NESTED_PORT__BASE_TRIGGER = BlocksPackage.ELEMENT_PROPERTY_PATH_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>On Nested Port</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRIGGER_ON_NESTED_PORT__ON_NESTED_PORT = BlocksPackage.ELEMENT_PROPERTY_PATH_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Trigger On Nested Port</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRIGGER_ON_NESTED_PORT_FEATURE_COUNT = BlocksPackage.ELEMENT_PROPERTY_PATH_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Trigger On Nested Port</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRIGGER_ON_NESTED_PORT_OPERATION_COUNT = BlocksPackage.ELEMENT_PROPERTY_PATH_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ConjugatedInterfaceBlockImpl <em>Conjugated Interface Block</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ConjugatedInterfaceBlockImpl
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getConjugatedInterfaceBlock()
+	 * @generated
+	 */
+	int CONJUGATED_INTERFACE_BLOCK = 10;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK__BASE_CLASS = INTERFACE_BLOCK__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Is Encapsulated</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK__IS_ENCAPSULATED = INTERFACE_BLOCK__IS_ENCAPSULATED;
+
+	/**
+	 * The feature id for the '<em><b>Original</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK__ORIGINAL = INTERFACE_BLOCK_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Conjugated Interface Block</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK_FEATURE_COUNT = INTERFACE_BLOCK_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Get References</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK___GET_REFERENCES = INTERFACE_BLOCK___GET_REFERENCES;
+
+	/**
+	 * The operation id for the '<em>Get Parts</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK___GET_PARTS = INTERFACE_BLOCK___GET_PARTS;
+
+	/**
+	 * The operation id for the '<em>Get Flow Properties</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK___GET_FLOW_PROPERTIES = INTERFACE_BLOCK___GET_FLOW_PROPERTIES;
+
+	/**
+	 * The operation id for the '<em>Get Conjugated</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK___GET_CONJUGATED = INTERFACE_BLOCK___GET_CONJUGATED;
+
+	/**
+	 * The operation id for the '<em>Are Conjugated</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__DIRECTEDFEATURE_DIRECTEDFEATURE = INTERFACE_BLOCK_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Are Conjugated</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__FLOWPROPERTY_FLOWPROPERTY = INTERFACE_BLOCK_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Are Conjugated</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__RECEPTION_RECEPTION = INTERFACE_BLOCK_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Are Conjugated</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__OPERATION_OPERATION = INTERFACE_BLOCK_OPERATION_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Are Conjugated</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__PROPERTY_PROPERTY = INTERFACE_BLOCK_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Are Same Constraint Sets</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK___ARE_SAME_CONSTRAINT_SETS__CONSTRAINT_CONSTRAINT = INTERFACE_BLOCK_OPERATION_COUNT + 5;
+
+	/**
+	 * The operation id for the '<em>Are Same Parameter Sets</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK___ARE_SAME_PARAMETER_SETS__PARAMETERSET_PARAMETERSET = INTERFACE_BLOCK_OPERATION_COUNT + 6;
+
+	/**
+	 * The operation id for the '<em>Have Same Signatures</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK___HAVE_SAME_SIGNATURES__BEHAVIORALFEATURE_BEHAVIORALFEATURE = INTERFACE_BLOCK_OPERATION_COUNT + 7;
+
+	/**
+	 * The number of operations of the '<em>Conjugated Interface Block</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONJUGATED_INTERFACE_BLOCK_OPERATION_COUNT = INTERFACE_BLOCK_OPERATION_COUNT + 8;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.AddFlowPropertyValueOnNestedPortActionImpl <em>Add Flow Property Value On Nested Port Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.AddFlowPropertyValueOnNestedPortActionImpl
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getAddFlowPropertyValueOnNestedPortAction()
+	 * @generated
+	 */
+	int ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION = 11;
+
+	/**
+	 * The feature id for the '<em><b>Base Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__BASE_ELEMENT = BlocksPackage.ELEMENT_PROPERTY_PATH__BASE_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__PROPERTY_PATH = BlocksPackage.ELEMENT_PROPERTY_PATH__PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>On Nested Port</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__ON_NESTED_PORT = BlocksPackage.ELEMENT_PROPERTY_PATH_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Add Structural Feature Value Action</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__BASE_ADD_STRUCTURAL_FEATURE_VALUE_ACTION = BlocksPackage.ELEMENT_PROPERTY_PATH_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Add Flow Property Value On Nested Port Action</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION_FEATURE_COUNT = BlocksPackage.ELEMENT_PROPERTY_PATH_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Add Flow Property Value On Nested Port Action</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION_OPERATION_COUNT = BlocksPackage.ELEMENT_PROPERTY_PATH_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.portsandflows.FeatureDirectionKind <em>Feature Direction Kind</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.FeatureDirectionKind
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getFeatureDirectionKind()
+	 * @generated
+	 */
+	int FEATURE_DIRECTION_KIND = 12;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind <em>Flow Direction Kind</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getFlowDirectionKind()
+	 * @generated
+	 */
+	int FLOW_DIRECTION_KIND = 13;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction <em>Accept Change Structural Feature Event Action</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Accept Change Structural Feature Event Action</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction
+	 * @generated
+	 */
+	EClass getAcceptChangeStructuralFeatureEventAction();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction#getBase_AcceptEventAction <em>Base Accept Event Action</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Accept Event Action</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction#getBase_AcceptEventAction()
+	 * @see #getAcceptChangeStructuralFeatureEventAction()
+	 * @generated
+	 */
+	EReference getAcceptChangeStructuralFeatureEventAction_Base_AcceptEventAction();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent <em>Change Structural Feature Event</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Change Structural Feature Event</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent
+	 * @generated
+	 */
+	EClass getChangeStructuralFeatureEvent();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent#getBase_ChangeEvent <em>Base Change Event</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Change Event</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent#getBase_ChangeEvent()
+	 * @see #getChangeStructuralFeatureEvent()
+	 * @generated
+	 */
+	EReference getChangeStructuralFeatureEvent_Base_ChangeEvent();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent#getStructuralFeature <em>Structural Feature</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Structural Feature</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent#getStructuralFeature()
+	 * @see #getChangeStructuralFeatureEvent()
+	 * @generated
+	 */
+	EReference getChangeStructuralFeatureEvent_StructuralFeature();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature <em>Directed Feature</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Directed Feature</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature
+	 * @generated
+	 */
+	EClass getDirectedFeature();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature#getBase_Feature <em>Base Feature</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Feature</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature#getBase_Feature()
+	 * @see #getDirectedFeature()
+	 * @generated
+	 */
+	EReference getDirectedFeature_Base_Feature();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature#getFeatureDirection <em>Feature Direction</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Feature Direction</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature#getFeatureDirection()
+	 * @see #getDirectedFeature()
+	 * @generated
+	 */
+	EAttribute getDirectedFeature_FeatureDirection();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.FlowProperty
+	 * @generated
+	 */
+	EClass getFlowProperty();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.FlowProperty#getBase_Property()
+	 * @see #getFlowProperty()
+	 * @generated
+	 */
+	EReference getFlowProperty_Base_Property();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.FlowProperty#getDirection()
+	 * @see #getFlowProperty()
+	 * @generated
+	 */
+	EAttribute getFlowProperty_Direction();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.FlowProperty#getIcon()
+	 * @generated
+	 */
+	EOperation getFlowProperty__GetIcon();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.portsandflows.FullPort <em>Full Port</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Full Port</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.FullPort
+	 * @generated
+	 */
+	EClass getFullPort();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.portsandflows.FullPort#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.sysml16.portsandflows.FullPort#getBase_Port()
+	 * @see #getFullPort()
+	 * @generated
+	 */
+	EReference getFullPort_Base_Port();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock <em>Interface Block</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Interface Block</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock
+	 * @generated
+	 */
+	EClass getInterfaceBlock();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock#getConjugated() <em>Get Conjugated</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Conjugated</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock#getConjugated()
+	 * @generated
+	 */
+	EOperation getInterfaceBlock__GetConjugated();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction <em>Invocation On Nested Port Action</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Invocation On Nested Port Action</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction
+	 * @generated
+	 */
+	EClass getInvocationOnNestedPortAction();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction#getBase_InvocationAction <em>Base Invocation Action</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Invocation Action</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction#getBase_InvocationAction()
+	 * @see #getInvocationOnNestedPortAction()
+	 * @generated
+	 */
+	EReference getInvocationOnNestedPortAction_Base_InvocationAction();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction#getOnNestedPort <em>On Nested Port</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>On Nested Port</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction#getOnNestedPort()
+	 * @see #getInvocationOnNestedPortAction()
+	 * @generated
+	 */
+	EReference getInvocationOnNestedPortAction_OnNestedPort();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.ItemFlow
+	 * @generated
+	 */
+	EClass getItemFlow();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.ItemFlow#getBase_InformationFlow()
+	 * @see #getItemFlow()
+	 * @generated
+	 */
+	EReference getItemFlow_Base_InformationFlow();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.ItemFlow#getItemProperty()
+	 * @see #getItemFlow()
+	 * @generated
+	 */
+	EReference getItemFlow_ItemProperty();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.portsandflows.ProxyPort <em>Proxy Port</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Proxy Port</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ProxyPort
+	 * @generated
+	 */
+	EClass getProxyPort();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.portsandflows.ProxyPort#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.sysml16.portsandflows.ProxyPort#getBase_Port()
+	 * @see #getProxyPort()
+	 * @generated
+	 */
+	EReference getProxyPort_Base_Port();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort <em>Trigger On Nested Port</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Trigger On Nested Port</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort
+	 * @generated
+	 */
+	EClass getTriggerOnNestedPort();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort#getBase_Trigger <em>Base Trigger</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Trigger</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort#getBase_Trigger()
+	 * @see #getTriggerOnNestedPort()
+	 * @generated
+	 */
+	EReference getTriggerOnNestedPort_Base_Trigger();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort#getOnNestedPort <em>On Nested Port</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>On Nested Port</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort#getOnNestedPort()
+	 * @see #getTriggerOnNestedPort()
+	 * @generated
+	 */
+	EReference getTriggerOnNestedPort_OnNestedPort();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock <em>Conjugated Interface Block</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Conjugated Interface Block</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock
+	 * @generated
+	 */
+	EClass getConjugatedInterfaceBlock();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#getOriginal <em>Original</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Original</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#getOriginal()
+	 * @see #getConjugatedInterfaceBlock()
+	 * @generated
+	 */
+	EReference getConjugatedInterfaceBlock_Original();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areConjugated(org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature, org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature) <em>Are Conjugated</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Are Conjugated</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areConjugated(org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature, org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature)
+	 * @generated
+	 */
+	EOperation getConjugatedInterfaceBlock__AreConjugated__DirectedFeature_DirectedFeature();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areConjugated(org.eclipse.papyrus.sysml16.portsandflows.FlowProperty, org.eclipse.papyrus.sysml16.portsandflows.FlowProperty) <em>Are Conjugated</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Are Conjugated</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areConjugated(org.eclipse.papyrus.sysml16.portsandflows.FlowProperty, org.eclipse.papyrus.sysml16.portsandflows.FlowProperty)
+	 * @generated
+	 */
+	EOperation getConjugatedInterfaceBlock__AreConjugated__FlowProperty_FlowProperty();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areConjugated(org.eclipse.uml2.uml.Reception, org.eclipse.uml2.uml.Reception) <em>Are Conjugated</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Are Conjugated</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areConjugated(org.eclipse.uml2.uml.Reception, org.eclipse.uml2.uml.Reception)
+	 * @generated
+	 */
+	EOperation getConjugatedInterfaceBlock__AreConjugated__Reception_Reception();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areConjugated(org.eclipse.uml2.uml.Operation, org.eclipse.uml2.uml.Operation) <em>Are Conjugated</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Are Conjugated</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areConjugated(org.eclipse.uml2.uml.Operation, org.eclipse.uml2.uml.Operation)
+	 * @generated
+	 */
+	EOperation getConjugatedInterfaceBlock__AreConjugated__Operation_Operation();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areConjugated(org.eclipse.uml2.uml.Property, org.eclipse.uml2.uml.Property) <em>Are Conjugated</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Are Conjugated</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areConjugated(org.eclipse.uml2.uml.Property, org.eclipse.uml2.uml.Property)
+	 * @generated
+	 */
+	EOperation getConjugatedInterfaceBlock__AreConjugated__Property_Property();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areSameConstraintSets(org.eclipse.uml2.uml.Constraint, org.eclipse.uml2.uml.Constraint) <em>Are Same Constraint Sets</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Are Same Constraint Sets</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areSameConstraintSets(org.eclipse.uml2.uml.Constraint, org.eclipse.uml2.uml.Constraint)
+	 * @generated
+	 */
+	EOperation getConjugatedInterfaceBlock__AreSameConstraintSets__Constraint_Constraint();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areSameParameterSets(org.eclipse.uml2.uml.ParameterSet, org.eclipse.uml2.uml.ParameterSet) <em>Are Same Parameter Sets</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Are Same Parameter Sets</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#areSameParameterSets(org.eclipse.uml2.uml.ParameterSet, org.eclipse.uml2.uml.ParameterSet)
+	 * @generated
+	 */
+	EOperation getConjugatedInterfaceBlock__AreSameParameterSets__ParameterSet_ParameterSet();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#haveSameSignatures(org.eclipse.uml2.uml.BehavioralFeature, org.eclipse.uml2.uml.BehavioralFeature) <em>Have Same Signatures</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Have Same Signatures</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock#haveSameSignatures(org.eclipse.uml2.uml.BehavioralFeature, org.eclipse.uml2.uml.BehavioralFeature)
+	 * @generated
+	 */
+	EOperation getConjugatedInterfaceBlock__HaveSameSignatures__BehavioralFeature_BehavioralFeature();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction <em>Add Flow Property Value On Nested Port Action</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Add Flow Property Value On Nested Port Action</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction
+	 * @generated
+	 */
+	EClass getAddFlowPropertyValueOnNestedPortAction();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction#getOnNestedPort <em>On Nested Port</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>On Nested Port</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction#getOnNestedPort()
+	 * @see #getAddFlowPropertyValueOnNestedPortAction()
+	 * @generated
+	 */
+	EReference getAddFlowPropertyValueOnNestedPortAction_OnNestedPort();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction#getBase_AddStructuralFeatureValueAction <em>Base Add Structural Feature Value Action</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Add Structural Feature Value Action</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction#getBase_AddStructuralFeatureValueAction()
+	 * @see #getAddFlowPropertyValueOnNestedPortAction()
+	 * @generated
+	 */
+	EReference getAddFlowPropertyValueOnNestedPortAction_Base_AddStructuralFeatureValueAction();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.papyrus.sysml16.portsandflows.FeatureDirectionKind <em>Feature Direction Kind</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Feature Direction Kind</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.FeatureDirectionKind
+	 * @generated
+	 */
+	EEnum getFeatureDirectionKind();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind <em>Flow Direction Kind</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Flow Direction Kind</em>'.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind
+	 * @generated
+	 */
+	EEnum getFlowDirectionKind();
+
+	/**
+	 * 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
+	 */
+	PortsAndFlowsFactory getPortsAndFlowsFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.AcceptChangeStructuralFeatureEventActionImpl <em>Accept Change Structural Feature Event Action</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.AcceptChangeStructuralFeatureEventActionImpl
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getAcceptChangeStructuralFeatureEventAction()
+		 * @generated
+		 */
+		EClass ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION = eINSTANCE.getAcceptChangeStructuralFeatureEventAction();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Accept Event Action</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION__BASE_ACCEPT_EVENT_ACTION = eINSTANCE.getAcceptChangeStructuralFeatureEventAction_Base_AcceptEventAction();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ChangeStructuralFeatureEventImpl <em>Change Structural Feature Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ChangeStructuralFeatureEventImpl
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getChangeStructuralFeatureEvent()
+		 * @generated
+		 */
+		EClass CHANGE_STRUCTURAL_FEATURE_EVENT = eINSTANCE.getChangeStructuralFeatureEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Change Event</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CHANGE_STRUCTURAL_FEATURE_EVENT__BASE_CHANGE_EVENT = eINSTANCE.getChangeStructuralFeatureEvent_Base_ChangeEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Structural Feature</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CHANGE_STRUCTURAL_FEATURE_EVENT__STRUCTURAL_FEATURE = eINSTANCE.getChangeStructuralFeatureEvent_StructuralFeature();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.DirectedFeatureImpl <em>Directed Feature</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.DirectedFeatureImpl
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getDirectedFeature()
+		 * @generated
+		 */
+		EClass DIRECTED_FEATURE = eINSTANCE.getDirectedFeature();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Feature</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DIRECTED_FEATURE__BASE_FEATURE = eINSTANCE.getDirectedFeature_Base_Feature();
+
+		/**
+		 * The meta object literal for the '<em><b>Feature Direction</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DIRECTED_FEATURE__FEATURE_DIRECTION = eINSTANCE.getDirectedFeature_FeatureDirection();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.FlowPropertyImpl <em>Flow Property</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.FlowPropertyImpl
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#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.sysml16.portsandflows.internal.impl.FullPortImpl <em>Full Port</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.FullPortImpl
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getFullPort()
+		 * @generated
+		 */
+		EClass FULL_PORT = eINSTANCE.getFullPort();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Port</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference FULL_PORT__BASE_PORT = eINSTANCE.getFullPort_Base_Port();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.InterfaceBlockImpl <em>Interface Block</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.InterfaceBlockImpl
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getInterfaceBlock()
+		 * @generated
+		 */
+		EClass INTERFACE_BLOCK = eINSTANCE.getInterfaceBlock();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Conjugated</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation INTERFACE_BLOCK___GET_CONJUGATED = eINSTANCE.getInterfaceBlock__GetConjugated();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.InvocationOnNestedPortActionImpl <em>Invocation On Nested Port Action</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.InvocationOnNestedPortActionImpl
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getInvocationOnNestedPortAction()
+		 * @generated
+		 */
+		EClass INVOCATION_ON_NESTED_PORT_ACTION = eINSTANCE.getInvocationOnNestedPortAction();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Invocation Action</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference INVOCATION_ON_NESTED_PORT_ACTION__BASE_INVOCATION_ACTION = eINSTANCE.getInvocationOnNestedPortAction_Base_InvocationAction();
+
+		/**
+		 * The meta object literal for the '<em><b>On Nested Port</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference INVOCATION_ON_NESTED_PORT_ACTION__ON_NESTED_PORT = eINSTANCE.getInvocationOnNestedPortAction_OnNestedPort();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ItemFlowImpl <em>Item Flow</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ItemFlowImpl
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#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.sysml16.portsandflows.internal.impl.ProxyPortImpl <em>Proxy Port</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ProxyPortImpl
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getProxyPort()
+		 * @generated
+		 */
+		EClass PROXY_PORT = eINSTANCE.getProxyPort();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Port</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROXY_PORT__BASE_PORT = eINSTANCE.getProxyPort_Base_Port();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.TriggerOnNestedPortImpl <em>Trigger On Nested Port</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.TriggerOnNestedPortImpl
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getTriggerOnNestedPort()
+		 * @generated
+		 */
+		EClass TRIGGER_ON_NESTED_PORT = eINSTANCE.getTriggerOnNestedPort();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Trigger</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TRIGGER_ON_NESTED_PORT__BASE_TRIGGER = eINSTANCE.getTriggerOnNestedPort_Base_Trigger();
+
+		/**
+		 * The meta object literal for the '<em><b>On Nested Port</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TRIGGER_ON_NESTED_PORT__ON_NESTED_PORT = eINSTANCE.getTriggerOnNestedPort_OnNestedPort();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ConjugatedInterfaceBlockImpl <em>Conjugated Interface Block</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ConjugatedInterfaceBlockImpl
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getConjugatedInterfaceBlock()
+		 * @generated
+		 */
+		EClass CONJUGATED_INTERFACE_BLOCK = eINSTANCE.getConjugatedInterfaceBlock();
+
+		/**
+		 * The meta object literal for the '<em><b>Original</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CONJUGATED_INTERFACE_BLOCK__ORIGINAL = eINSTANCE.getConjugatedInterfaceBlock_Original();
+
+		/**
+		 * The meta object literal for the '<em><b>Are Conjugated</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__DIRECTEDFEATURE_DIRECTEDFEATURE = eINSTANCE.getConjugatedInterfaceBlock__AreConjugated__DirectedFeature_DirectedFeature();
+
+		/**
+		 * The meta object literal for the '<em><b>Are Conjugated</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__FLOWPROPERTY_FLOWPROPERTY = eINSTANCE.getConjugatedInterfaceBlock__AreConjugated__FlowProperty_FlowProperty();
+
+		/**
+		 * The meta object literal for the '<em><b>Are Conjugated</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__RECEPTION_RECEPTION = eINSTANCE.getConjugatedInterfaceBlock__AreConjugated__Reception_Reception();
+
+		/**
+		 * The meta object literal for the '<em><b>Are Conjugated</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__OPERATION_OPERATION = eINSTANCE.getConjugatedInterfaceBlock__AreConjugated__Operation_Operation();
+
+		/**
+		 * The meta object literal for the '<em><b>Are Conjugated</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__PROPERTY_PROPERTY = eINSTANCE.getConjugatedInterfaceBlock__AreConjugated__Property_Property();
+
+		/**
+		 * The meta object literal for the '<em><b>Are Same Constraint Sets</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation CONJUGATED_INTERFACE_BLOCK___ARE_SAME_CONSTRAINT_SETS__CONSTRAINT_CONSTRAINT = eINSTANCE.getConjugatedInterfaceBlock__AreSameConstraintSets__Constraint_Constraint();
+
+		/**
+		 * The meta object literal for the '<em><b>Are Same Parameter Sets</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation CONJUGATED_INTERFACE_BLOCK___ARE_SAME_PARAMETER_SETS__PARAMETERSET_PARAMETERSET = eINSTANCE.getConjugatedInterfaceBlock__AreSameParameterSets__ParameterSet_ParameterSet();
+
+		/**
+		 * The meta object literal for the '<em><b>Have Same Signatures</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation CONJUGATED_INTERFACE_BLOCK___HAVE_SAME_SIGNATURES__BEHAVIORALFEATURE_BEHAVIORALFEATURE = eINSTANCE.getConjugatedInterfaceBlock__HaveSameSignatures__BehavioralFeature_BehavioralFeature();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.AddFlowPropertyValueOnNestedPortActionImpl <em>Add Flow Property Value On Nested Port Action</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.AddFlowPropertyValueOnNestedPortActionImpl
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getAddFlowPropertyValueOnNestedPortAction()
+		 * @generated
+		 */
+		EClass ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION = eINSTANCE.getAddFlowPropertyValueOnNestedPortAction();
+
+		/**
+		 * The meta object literal for the '<em><b>On Nested Port</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__ON_NESTED_PORT = eINSTANCE.getAddFlowPropertyValueOnNestedPortAction_OnNestedPort();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Add Structural Feature Value Action</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__BASE_ADD_STRUCTURAL_FEATURE_VALUE_ACTION = eINSTANCE.getAddFlowPropertyValueOnNestedPortAction_Base_AddStructuralFeatureValueAction();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.portsandflows.FeatureDirectionKind <em>Feature Direction Kind</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.FeatureDirectionKind
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getFeatureDirectionKind()
+		 * @generated
+		 */
+		EEnum FEATURE_DIRECTION_KIND = eINSTANCE.getFeatureDirectionKind();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind <em>Flow Direction Kind</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind
+		 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl#getFlowDirectionKind()
+		 * @generated
+		 */
+		EEnum FLOW_DIRECTION_KIND = eINSTANCE.getFlowDirectionKind();
+
+	}
+
+} //PortsAndFlowsPackage
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/ProxyPort.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/ProxyPort.java
new file mode 100644
index 0000000..c5fa358
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/ProxyPort.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Proxy Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.ProxyPort#getBase_Port <em>Base Port</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getProxyPort()
+ * @model
+ * @generated
+ */
+public interface ProxyPort 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.sysml16.portsandflows.PortsAndFlowsPackage#getProxyPort_Base_Port()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Port getBase_Port();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.ProxyPort#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);
+
+} // ProxyPort
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/TriggerOnNestedPort.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/TriggerOnNestedPort.java
new file mode 100644
index 0000000..91f9792
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/TriggerOnNestedPort.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath;
+
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Trigger On Nested Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort#getBase_Trigger <em>Base Trigger</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort#getOnNestedPort <em>On Nested Port</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getTriggerOnNestedPort()
+ * @model
+ * @generated
+ */
+public interface TriggerOnNestedPort extends ElementPropertyPath {
+	/**
+	 * Returns the value of the '<em><b>Base Trigger</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Trigger</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 Trigger</em>' reference.
+	 * @see #setBase_Trigger(Trigger)
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getTriggerOnNestedPort_Base_Trigger()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Trigger getBase_Trigger();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort#getBase_Trigger <em>Base Trigger</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Trigger</em>' reference.
+	 * @see #getBase_Trigger()
+	 * @generated
+	 */
+	void setBase_Trigger(Trigger value);
+
+	/**
+	 * Returns the value of the '<em><b>On Nested Port</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Port}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>On Nested Port</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>On Nested Port</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#getTriggerOnNestedPort_OnNestedPort()
+	 * @model required="true"
+	 * @generated
+	 */
+	EList<Port> getOnNestedPort();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>On Nested Port</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.Port} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getOnNestedPort()
+	 * @generated
+	 */
+	Port getOnNestedPort(String name, Type type);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>On Nested Port</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.Port} to retrieve, or <code>null</code>.
+	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Port} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @return The first {@link org.eclipse.uml2.uml.Port} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getOnNestedPort()
+	 * @generated
+	 */
+	Port getOnNestedPort(String name, Type type, boolean ignoreCase);
+
+} // TriggerOnNestedPort
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/AcceptChangeStructuralFeatureEventActionImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/AcceptChangeStructuralFeatureEventActionImpl.java
new file mode 100644
index 0000000..ae31294
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/AcceptChangeStructuralFeatureEventActionImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.uml2.uml.AcceptEventAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Accept Change Structural Feature Event Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.AcceptChangeStructuralFeatureEventActionImpl#getBase_AcceptEventAction <em>Base Accept Event Action</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AcceptChangeStructuralFeatureEventActionImpl extends MinimalEObjectImpl.Container implements AcceptChangeStructuralFeatureEventAction {
+	/**
+	 * The cached value of the '{@link #getBase_AcceptEventAction() <em>Base Accept Event Action</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_AcceptEventAction()
+	 * @generated
+	 * @ordered
+	 */
+	protected AcceptEventAction base_AcceptEventAction;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AcceptChangeStructuralFeatureEventActionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortsAndFlowsPackage.Literals.ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public AcceptEventAction getBase_AcceptEventAction() {
+		if (base_AcceptEventAction != null && base_AcceptEventAction.eIsProxy()) {
+			InternalEObject oldBase_AcceptEventAction = (InternalEObject)base_AcceptEventAction;
+			base_AcceptEventAction = (AcceptEventAction)eResolveProxy(oldBase_AcceptEventAction);
+			if (base_AcceptEventAction != oldBase_AcceptEventAction) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, PortsAndFlowsPackage.ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION__BASE_ACCEPT_EVENT_ACTION, oldBase_AcceptEventAction, base_AcceptEventAction));
+			}
+		}
+		return base_AcceptEventAction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AcceptEventAction basicGetBase_AcceptEventAction() {
+		return base_AcceptEventAction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_AcceptEventAction(AcceptEventAction newBase_AcceptEventAction) {
+		AcceptEventAction oldBase_AcceptEventAction = base_AcceptEventAction;
+		base_AcceptEventAction = newBase_AcceptEventAction;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION__BASE_ACCEPT_EVENT_ACTION, oldBase_AcceptEventAction, base_AcceptEventAction));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION__BASE_ACCEPT_EVENT_ACTION:
+				if (resolve) return getBase_AcceptEventAction();
+				return basicGetBase_AcceptEventAction();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION__BASE_ACCEPT_EVENT_ACTION:
+				setBase_AcceptEventAction((AcceptEventAction)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION__BASE_ACCEPT_EVENT_ACTION:
+				setBase_AcceptEventAction((AcceptEventAction)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION__BASE_ACCEPT_EVENT_ACTION:
+				return base_AcceptEventAction != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //AcceptChangeStructuralFeatureEventActionImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/AddFlowPropertyValueOnNestedPortActionImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/AddFlowPropertyValueOnNestedPortActionImpl.java
new file mode 100644
index 0000000..b38eb19
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/AddFlowPropertyValueOnNestedPortActionImpl.java
@@ -0,0 +1,241 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.ElementPropertyPathImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Add Flow Property Value On Nested Port Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.AddFlowPropertyValueOnNestedPortActionImpl#getOnNestedPort <em>On Nested Port</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.AddFlowPropertyValueOnNestedPortActionImpl#getBase_AddStructuralFeatureValueAction <em>Base Add Structural Feature Value Action</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AddFlowPropertyValueOnNestedPortActionImpl extends ElementPropertyPathImpl implements AddFlowPropertyValueOnNestedPortAction {
+	/**
+	 * The cached value of the '{@link #getOnNestedPort() <em>On Nested Port</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOnNestedPort()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Port> onNestedPort;
+
+	/**
+	 * The cached value of the '{@link #getBase_AddStructuralFeatureValueAction() <em>Base Add Structural Feature Value Action</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_AddStructuralFeatureValueAction()
+	 * @generated
+	 * @ordered
+	 */
+	protected AddStructuralFeatureValueAction base_AddStructuralFeatureValueAction;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AddFlowPropertyValueOnNestedPortActionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortsAndFlowsPackage.Literals.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Port> getOnNestedPort() {
+		if (onNestedPort == null) {
+			onNestedPort = new EObjectResolvingEList<Port>(Port.class, this, PortsAndFlowsPackage.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__ON_NESTED_PORT);
+		}
+		return onNestedPort;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port getOnNestedPort(String name, Type type) {
+		return getOnNestedPort(name, type, false);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port getOnNestedPort(String name, Type type, boolean ignoreCase) {
+		onNestedPortLoop: for (Port onNestedPort : getOnNestedPort()) {
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(onNestedPort.getName()) : name.equals(onNestedPort.getName())))
+				continue onNestedPortLoop;
+			if (type != null && !type.equals(onNestedPort.getType()))
+				continue onNestedPortLoop;
+			return onNestedPort;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public AddStructuralFeatureValueAction getBase_AddStructuralFeatureValueAction() {
+		if (base_AddStructuralFeatureValueAction != null && base_AddStructuralFeatureValueAction.eIsProxy()) {
+			InternalEObject oldBase_AddStructuralFeatureValueAction = (InternalEObject)base_AddStructuralFeatureValueAction;
+			base_AddStructuralFeatureValueAction = (AddStructuralFeatureValueAction)eResolveProxy(oldBase_AddStructuralFeatureValueAction);
+			if (base_AddStructuralFeatureValueAction != oldBase_AddStructuralFeatureValueAction) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, PortsAndFlowsPackage.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__BASE_ADD_STRUCTURAL_FEATURE_VALUE_ACTION, oldBase_AddStructuralFeatureValueAction, base_AddStructuralFeatureValueAction));
+			}
+		}
+		return base_AddStructuralFeatureValueAction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AddStructuralFeatureValueAction basicGetBase_AddStructuralFeatureValueAction() {
+		return base_AddStructuralFeatureValueAction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_AddStructuralFeatureValueAction(AddStructuralFeatureValueAction newBase_AddStructuralFeatureValueAction) {
+		AddStructuralFeatureValueAction oldBase_AddStructuralFeatureValueAction = base_AddStructuralFeatureValueAction;
+		base_AddStructuralFeatureValueAction = newBase_AddStructuralFeatureValueAction;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__BASE_ADD_STRUCTURAL_FEATURE_VALUE_ACTION, oldBase_AddStructuralFeatureValueAction, base_AddStructuralFeatureValueAction));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__ON_NESTED_PORT:
+				return getOnNestedPort();
+			case PortsAndFlowsPackage.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__BASE_ADD_STRUCTURAL_FEATURE_VALUE_ACTION:
+				if (resolve) return getBase_AddStructuralFeatureValueAction();
+				return basicGetBase_AddStructuralFeatureValueAction();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__ON_NESTED_PORT:
+				getOnNestedPort().clear();
+				getOnNestedPort().addAll((Collection<? extends Port>)newValue);
+				return;
+			case PortsAndFlowsPackage.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__BASE_ADD_STRUCTURAL_FEATURE_VALUE_ACTION:
+				setBase_AddStructuralFeatureValueAction((AddStructuralFeatureValueAction)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__ON_NESTED_PORT:
+				getOnNestedPort().clear();
+				return;
+			case PortsAndFlowsPackage.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__BASE_ADD_STRUCTURAL_FEATURE_VALUE_ACTION:
+				setBase_AddStructuralFeatureValueAction((AddStructuralFeatureValueAction)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__ON_NESTED_PORT:
+				return onNestedPort != null && !onNestedPort.isEmpty();
+			case PortsAndFlowsPackage.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__BASE_ADD_STRUCTURAL_FEATURE_VALUE_ACTION:
+				return base_AddStructuralFeatureValueAction != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //AddFlowPropertyValueOnNestedPortActionImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/ChangeStructuralFeatureEventImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/ChangeStructuralFeatureEventImpl.java
new file mode 100644
index 0000000..5b4f9f2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/ChangeStructuralFeatureEventImpl.java
@@ -0,0 +1,234 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.ChangeStructuralFeatureEvent;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.StructuralFeature;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Change Structural Feature Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ChangeStructuralFeatureEventImpl#getBase_ChangeEvent <em>Base Change Event</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ChangeStructuralFeatureEventImpl#getStructuralFeature <em>Structural Feature</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ChangeStructuralFeatureEventImpl extends MinimalEObjectImpl.Container implements ChangeStructuralFeatureEvent {
+	/**
+	 * The cached value of the '{@link #getBase_ChangeEvent() <em>Base Change Event</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_ChangeEvent()
+	 * @generated
+	 * @ordered
+	 */
+	protected ChangeEvent base_ChangeEvent;
+
+	/**
+	 * The cached value of the '{@link #getStructuralFeature() <em>Structural Feature</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStructuralFeature()
+	 * @generated
+	 * @ordered
+	 */
+	protected StructuralFeature structuralFeature;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ChangeStructuralFeatureEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortsAndFlowsPackage.Literals.CHANGE_STRUCTURAL_FEATURE_EVENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ChangeEvent getBase_ChangeEvent() {
+		if (base_ChangeEvent != null && base_ChangeEvent.eIsProxy()) {
+			InternalEObject oldBase_ChangeEvent = (InternalEObject)base_ChangeEvent;
+			base_ChangeEvent = (ChangeEvent)eResolveProxy(oldBase_ChangeEvent);
+			if (base_ChangeEvent != oldBase_ChangeEvent) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT__BASE_CHANGE_EVENT, oldBase_ChangeEvent, base_ChangeEvent));
+			}
+		}
+		return base_ChangeEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ChangeEvent basicGetBase_ChangeEvent() {
+		return base_ChangeEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_ChangeEvent(ChangeEvent newBase_ChangeEvent) {
+		ChangeEvent oldBase_ChangeEvent = base_ChangeEvent;
+		base_ChangeEvent = newBase_ChangeEvent;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT__BASE_CHANGE_EVENT, oldBase_ChangeEvent, base_ChangeEvent));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public StructuralFeature getStructuralFeature() {
+		if (structuralFeature != null && structuralFeature.eIsProxy()) {
+			InternalEObject oldStructuralFeature = (InternalEObject)structuralFeature;
+			structuralFeature = (StructuralFeature)eResolveProxy(oldStructuralFeature);
+			if (structuralFeature != oldStructuralFeature) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT__STRUCTURAL_FEATURE, oldStructuralFeature, structuralFeature));
+			}
+		}
+		return structuralFeature;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StructuralFeature basicGetStructuralFeature() {
+		return structuralFeature;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setStructuralFeature(StructuralFeature newStructuralFeature) {
+		StructuralFeature oldStructuralFeature = structuralFeature;
+		structuralFeature = newStructuralFeature;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT__STRUCTURAL_FEATURE, oldStructuralFeature, structuralFeature));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT__BASE_CHANGE_EVENT:
+				if (resolve) return getBase_ChangeEvent();
+				return basicGetBase_ChangeEvent();
+			case PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT__STRUCTURAL_FEATURE:
+				if (resolve) return getStructuralFeature();
+				return basicGetStructuralFeature();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT__BASE_CHANGE_EVENT:
+				setBase_ChangeEvent((ChangeEvent)newValue);
+				return;
+			case PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT__STRUCTURAL_FEATURE:
+				setStructuralFeature((StructuralFeature)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT__BASE_CHANGE_EVENT:
+				setBase_ChangeEvent((ChangeEvent)null);
+				return;
+			case PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT__STRUCTURAL_FEATURE:
+				setStructuralFeature((StructuralFeature)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT__BASE_CHANGE_EVENT:
+				return base_ChangeEvent != null;
+			case PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT__STRUCTURAL_FEATURE:
+				return structuralFeature != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ChangeStructuralFeatureEventImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/ConjugatedInterfaceBlockImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/ConjugatedInterfaceBlockImpl.java
new file mode 100644
index 0000000..99043c6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/ConjugatedInterfaceBlockImpl.java
@@ -0,0 +1,298 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock;
+import org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Reception;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conjugated Interface Block</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ConjugatedInterfaceBlockImpl#getOriginal <em>Original</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConjugatedInterfaceBlockImpl extends InterfaceBlockImpl implements ConjugatedInterfaceBlock {
+	/**
+	 * The cached value of the '{@link #getOriginal() <em>Original</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOriginal()
+	 * @generated
+	 * @ordered
+	 */
+	protected InterfaceBlock original;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ConjugatedInterfaceBlockImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortsAndFlowsPackage.Literals.CONJUGATED_INTERFACE_BLOCK;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public InterfaceBlock getOriginal() {
+		if (original != null && original.eIsProxy()) {
+			InternalEObject oldOriginal = (InternalEObject)original;
+			original = (InterfaceBlock)eResolveProxy(oldOriginal);
+			if (original != oldOriginal) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK__ORIGINAL, oldOriginal, original));
+			}
+		}
+		return original;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InterfaceBlock basicGetOriginal() {
+		return original;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setOriginal(InterfaceBlock newOriginal) {
+		InterfaceBlock oldOriginal = original;
+		original = newOriginal;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK__ORIGINAL, oldOriginal, original));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean areConjugated(DirectedFeature df1, DirectedFeature df2) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean areConjugated(FlowProperty fp1, FlowProperty fp2) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean areConjugated(Reception r1, Reception r2) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean areConjugated(Operation o1, Operation o2) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean areConjugated(Property p1, Property p2) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean areSameConstraintSets(Constraint cs1, Constraint cs2) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean areSameParameterSets(ParameterSet ps1, ParameterSet ps2) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean haveSameSignatures(BehavioralFeature bf1, BehavioralFeature bf2) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK__ORIGINAL:
+				if (resolve) return getOriginal();
+				return basicGetOriginal();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK__ORIGINAL:
+				setOriginal((InterfaceBlock)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK__ORIGINAL:
+				setOriginal((InterfaceBlock)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK__ORIGINAL:
+				return original != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__DIRECTEDFEATURE_DIRECTEDFEATURE:
+				return areConjugated((DirectedFeature)arguments.get(0), (DirectedFeature)arguments.get(1));
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__FLOWPROPERTY_FLOWPROPERTY:
+				return areConjugated((FlowProperty)arguments.get(0), (FlowProperty)arguments.get(1));
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__RECEPTION_RECEPTION:
+				return areConjugated((Reception)arguments.get(0), (Reception)arguments.get(1));
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__OPERATION_OPERATION:
+				return areConjugated((Operation)arguments.get(0), (Operation)arguments.get(1));
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__PROPERTY_PROPERTY:
+				return areConjugated((Property)arguments.get(0), (Property)arguments.get(1));
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK___ARE_SAME_CONSTRAINT_SETS__CONSTRAINT_CONSTRAINT:
+				return areSameConstraintSets((Constraint)arguments.get(0), (Constraint)arguments.get(1));
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK___ARE_SAME_PARAMETER_SETS__PARAMETERSET_PARAMETERSET:
+				return areSameParameterSets((ParameterSet)arguments.get(0), (ParameterSet)arguments.get(1));
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK___HAVE_SAME_SIGNATURES__BEHAVIORALFEATURE_BEHAVIORALFEATURE:
+				return haveSameSignatures((BehavioralFeature)arguments.get(0), (BehavioralFeature)arguments.get(1));
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+} //ConjugatedInterfaceBlockImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/DirectedFeatureImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/DirectedFeatureImpl.java
new file mode 100644
index 0000000..3363061
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/DirectedFeatureImpl.java
@@ -0,0 +1,242 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.DirectedFeature;
+import org.eclipse.papyrus.sysml16.portsandflows.FeatureDirectionKind;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.uml2.uml.Feature;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Directed Feature</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.DirectedFeatureImpl#getBase_Feature <em>Base Feature</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.DirectedFeatureImpl#getFeatureDirection <em>Feature Direction</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DirectedFeatureImpl extends MinimalEObjectImpl.Container implements DirectedFeature {
+	/**
+	 * The cached value of the '{@link #getBase_Feature() <em>Base Feature</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Feature()
+	 * @generated
+	 * @ordered
+	 */
+	protected Feature base_Feature;
+
+	/**
+	 * The default value of the '{@link #getFeatureDirection() <em>Feature Direction</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFeatureDirection()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final FeatureDirectionKind FEATURE_DIRECTION_EDEFAULT = FeatureDirectionKind.PROVIDED;
+
+	/**
+	 * The cached value of the '{@link #getFeatureDirection() <em>Feature Direction</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFeatureDirection()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureDirectionKind featureDirection = FEATURE_DIRECTION_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DirectedFeatureImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortsAndFlowsPackage.Literals.DIRECTED_FEATURE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Feature getBase_Feature() {
+		if (base_Feature != null && base_Feature.eIsProxy()) {
+			InternalEObject oldBase_Feature = (InternalEObject)base_Feature;
+			base_Feature = (Feature)eResolveProxy(oldBase_Feature);
+			if (base_Feature != oldBase_Feature) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, PortsAndFlowsPackage.DIRECTED_FEATURE__BASE_FEATURE, oldBase_Feature, base_Feature));
+			}
+		}
+		return base_Feature;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Feature basicGetBase_Feature() {
+		return base_Feature;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Feature(Feature newBase_Feature) {
+		Feature oldBase_Feature = base_Feature;
+		base_Feature = newBase_Feature;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.DIRECTED_FEATURE__BASE_FEATURE, oldBase_Feature, base_Feature));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public FeatureDirectionKind getFeatureDirection() {
+		return featureDirection;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setFeatureDirection(FeatureDirectionKind newFeatureDirection) {
+		FeatureDirectionKind oldFeatureDirection = featureDirection;
+		featureDirection = newFeatureDirection == null ? FEATURE_DIRECTION_EDEFAULT : newFeatureDirection;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.DIRECTED_FEATURE__FEATURE_DIRECTION, oldFeatureDirection, featureDirection));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.DIRECTED_FEATURE__BASE_FEATURE:
+				if (resolve) return getBase_Feature();
+				return basicGetBase_Feature();
+			case PortsAndFlowsPackage.DIRECTED_FEATURE__FEATURE_DIRECTION:
+				return getFeatureDirection();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.DIRECTED_FEATURE__BASE_FEATURE:
+				setBase_Feature((Feature)newValue);
+				return;
+			case PortsAndFlowsPackage.DIRECTED_FEATURE__FEATURE_DIRECTION:
+				setFeatureDirection((FeatureDirectionKind)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.DIRECTED_FEATURE__BASE_FEATURE:
+				setBase_Feature((Feature)null);
+				return;
+			case PortsAndFlowsPackage.DIRECTED_FEATURE__FEATURE_DIRECTION:
+				setFeatureDirection(FEATURE_DIRECTION_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.DIRECTED_FEATURE__BASE_FEATURE:
+				return base_Feature != null;
+			case PortsAndFlowsPackage.DIRECTED_FEATURE__FEATURE_DIRECTION:
+				return featureDirection != FEATURE_DIRECTION_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (featureDirection: "); //$NON-NLS-1$
+		result.append(featureDirection);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DirectedFeatureImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/FlowPropertyImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/FlowPropertyImpl.java
new file mode 100644
index 0000000..c133880
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/FlowPropertyImpl.java
@@ -0,0 +1,272 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.FlowDirectionKind;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Flow Property</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.FlowPropertyImpl#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.FlowPropertyImpl#getDirection <em>Direction</em>}</li>
+ * </ul>
+ *
+ * @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 FlowDirectionKind DIRECTION_EDEFAULT = FlowDirectionKind.INOUT;
+
+	/**
+	 * The cached value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDirection()
+	 * @generated
+	 * @ordered
+	 */
+	protected FlowDirectionKind direction = DIRECTION_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FlowPropertyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortsAndFlowsPackage.Literals.FLOW_PROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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, PortsAndFlowsPackage.FLOW_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Property(Property newBase_Property) {
+		Property oldBase_Property = base_Property;
+		base_Property = newBase_Property;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.FLOW_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public FlowDirectionKind getDirection() {
+		return direction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDirection(FlowDirectionKind newDirection) {
+		FlowDirectionKind oldDirection = direction;
+		direction = newDirection == null ? DIRECTION_EDEFAULT : newDirection;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.FLOW_PROPERTY__DIRECTION, oldDirection, direction));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Image getIcon() {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.FLOW_PROPERTY__BASE_PROPERTY:
+				if (resolve) return getBase_Property();
+				return basicGetBase_Property();
+			case PortsAndFlowsPackage.FLOW_PROPERTY__DIRECTION:
+				return getDirection();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.FLOW_PROPERTY__BASE_PROPERTY:
+				setBase_Property((Property)newValue);
+				return;
+			case PortsAndFlowsPackage.FLOW_PROPERTY__DIRECTION:
+				setDirection((FlowDirectionKind)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.FLOW_PROPERTY__BASE_PROPERTY:
+				setBase_Property((Property)null);
+				return;
+			case PortsAndFlowsPackage.FLOW_PROPERTY__DIRECTION:
+				setDirection(DIRECTION_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.FLOW_PROPERTY__BASE_PROPERTY:
+				return base_Property != null;
+			case PortsAndFlowsPackage.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 PortsAndFlowsPackage.FLOW_PROPERTY___GET_ICON:
+				return getIcon();
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (direction: "); //$NON-NLS-1$
+		result.append(direction);
+		result.append(')');
+		return result.toString();
+	}
+
+} //FlowPropertyImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/FullPortImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/FullPortImpl.java
new file mode 100644
index 0000000..0b3665a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/FullPortImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.FullPort;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Full Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.FullPortImpl#getBase_Port <em>Base Port</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FullPortImpl extends MinimalEObjectImpl.Container implements FullPort {
+	/**
+	 * 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;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FullPortImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortsAndFlowsPackage.Literals.FULL_PORT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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, PortsAndFlowsPackage.FULL_PORT__BASE_PORT, oldBase_Port, base_Port));
+			}
+		}
+		return base_Port;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port basicGetBase_Port() {
+		return base_Port;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Port(Port newBase_Port) {
+		Port oldBase_Port = base_Port;
+		base_Port = newBase_Port;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.FULL_PORT__BASE_PORT, oldBase_Port, base_Port));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.FULL_PORT__BASE_PORT:
+				if (resolve) return getBase_Port();
+				return basicGetBase_Port();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.FULL_PORT__BASE_PORT:
+				setBase_Port((Port)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.FULL_PORT__BASE_PORT:
+				setBase_Port((Port)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.FULL_PORT__BASE_PORT:
+				return base_Port != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //FullPortImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/InterfaceBlockImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/InterfaceBlockImpl.java
new file mode 100644
index 0000000..82d30a8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/InterfaceBlockImpl.java
@@ -0,0 +1,80 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlockImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interface Block</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class InterfaceBlockImpl extends BlockImpl implements InterfaceBlock {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InterfaceBlockImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortsAndFlowsPackage.Literals.INTERFACE_BLOCK;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<InterfaceBlock> getConjugated() {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	@SuppressWarnings("unchecked")
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+			case PortsAndFlowsPackage.INTERFACE_BLOCK___GET_CONJUGATED:
+				return getConjugated();
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+} //InterfaceBlockImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/InvocationOnNestedPortActionImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/InvocationOnNestedPortActionImpl.java
new file mode 100644
index 0000000..52e045b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/InvocationOnNestedPortActionImpl.java
@@ -0,0 +1,241 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.ElementPropertyPathImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.uml2.uml.InvocationAction;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Invocation On Nested Port Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.InvocationOnNestedPortActionImpl#getBase_InvocationAction <em>Base Invocation Action</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.InvocationOnNestedPortActionImpl#getOnNestedPort <em>On Nested Port</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InvocationOnNestedPortActionImpl extends ElementPropertyPathImpl implements InvocationOnNestedPortAction {
+	/**
+	 * The cached value of the '{@link #getBase_InvocationAction() <em>Base Invocation Action</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_InvocationAction()
+	 * @generated
+	 * @ordered
+	 */
+	protected InvocationAction base_InvocationAction;
+
+	/**
+	 * The cached value of the '{@link #getOnNestedPort() <em>On Nested Port</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOnNestedPort()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Port> onNestedPort;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InvocationOnNestedPortActionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortsAndFlowsPackage.Literals.INVOCATION_ON_NESTED_PORT_ACTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public InvocationAction getBase_InvocationAction() {
+		if (base_InvocationAction != null && base_InvocationAction.eIsProxy()) {
+			InternalEObject oldBase_InvocationAction = (InternalEObject)base_InvocationAction;
+			base_InvocationAction = (InvocationAction)eResolveProxy(oldBase_InvocationAction);
+			if (base_InvocationAction != oldBase_InvocationAction) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, PortsAndFlowsPackage.INVOCATION_ON_NESTED_PORT_ACTION__BASE_INVOCATION_ACTION, oldBase_InvocationAction, base_InvocationAction));
+			}
+		}
+		return base_InvocationAction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InvocationAction basicGetBase_InvocationAction() {
+		return base_InvocationAction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_InvocationAction(InvocationAction newBase_InvocationAction) {
+		InvocationAction oldBase_InvocationAction = base_InvocationAction;
+		base_InvocationAction = newBase_InvocationAction;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.INVOCATION_ON_NESTED_PORT_ACTION__BASE_INVOCATION_ACTION, oldBase_InvocationAction, base_InvocationAction));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Port> getOnNestedPort() {
+		if (onNestedPort == null) {
+			onNestedPort = new EObjectResolvingEList<Port>(Port.class, this, PortsAndFlowsPackage.INVOCATION_ON_NESTED_PORT_ACTION__ON_NESTED_PORT);
+		}
+		return onNestedPort;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port getOnNestedPort(String name, Type type) {
+		return getOnNestedPort(name, type, false);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port getOnNestedPort(String name, Type type, boolean ignoreCase) {
+		onNestedPortLoop: for (Port onNestedPort : getOnNestedPort()) {
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(onNestedPort.getName()) : name.equals(onNestedPort.getName())))
+				continue onNestedPortLoop;
+			if (type != null && !type.equals(onNestedPort.getType()))
+				continue onNestedPortLoop;
+			return onNestedPort;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.INVOCATION_ON_NESTED_PORT_ACTION__BASE_INVOCATION_ACTION:
+				if (resolve) return getBase_InvocationAction();
+				return basicGetBase_InvocationAction();
+			case PortsAndFlowsPackage.INVOCATION_ON_NESTED_PORT_ACTION__ON_NESTED_PORT:
+				return getOnNestedPort();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.INVOCATION_ON_NESTED_PORT_ACTION__BASE_INVOCATION_ACTION:
+				setBase_InvocationAction((InvocationAction)newValue);
+				return;
+			case PortsAndFlowsPackage.INVOCATION_ON_NESTED_PORT_ACTION__ON_NESTED_PORT:
+				getOnNestedPort().clear();
+				getOnNestedPort().addAll((Collection<? extends Port>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.INVOCATION_ON_NESTED_PORT_ACTION__BASE_INVOCATION_ACTION:
+				setBase_InvocationAction((InvocationAction)null);
+				return;
+			case PortsAndFlowsPackage.INVOCATION_ON_NESTED_PORT_ACTION__ON_NESTED_PORT:
+				getOnNestedPort().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.INVOCATION_ON_NESTED_PORT_ACTION__BASE_INVOCATION_ACTION:
+				return base_InvocationAction != null;
+			case PortsAndFlowsPackage.INVOCATION_ON_NESTED_PORT_ACTION__ON_NESTED_PORT:
+				return onNestedPort != null && !onNestedPort.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //InvocationOnNestedPortActionImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/ItemFlowImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/ItemFlowImpl.java
new file mode 100644
index 0000000..a5885d0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/ItemFlowImpl.java
@@ -0,0 +1,234 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.ItemFlow;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+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:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ItemFlowImpl#getBase_InformationFlow <em>Base Information Flow</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ItemFlowImpl#getItemProperty <em>Item Property</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortsAndFlowsPackage.Literals.ITEM_FLOW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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, PortsAndFlowsPackage.ITEM_FLOW__BASE_INFORMATION_FLOW, oldBase_InformationFlow, base_InformationFlow));
+			}
+		}
+		return base_InformationFlow;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InformationFlow basicGetBase_InformationFlow() {
+		return base_InformationFlow;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_InformationFlow(InformationFlow newBase_InformationFlow) {
+		InformationFlow oldBase_InformationFlow = base_InformationFlow;
+		base_InformationFlow = newBase_InformationFlow;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.ITEM_FLOW__BASE_INFORMATION_FLOW, oldBase_InformationFlow, base_InformationFlow));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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, PortsAndFlowsPackage.ITEM_FLOW__ITEM_PROPERTY, oldItemProperty, itemProperty));
+			}
+		}
+		return itemProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetItemProperty() {
+		return itemProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setItemProperty(Property newItemProperty) {
+		Property oldItemProperty = itemProperty;
+		itemProperty = newItemProperty;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.ITEM_FLOW__ITEM_PROPERTY, oldItemProperty, itemProperty));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.ITEM_FLOW__BASE_INFORMATION_FLOW:
+				if (resolve) return getBase_InformationFlow();
+				return basicGetBase_InformationFlow();
+			case PortsAndFlowsPackage.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 void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.ITEM_FLOW__BASE_INFORMATION_FLOW:
+				setBase_InformationFlow((InformationFlow)newValue);
+				return;
+			case PortsAndFlowsPackage.ITEM_FLOW__ITEM_PROPERTY:
+				setItemProperty((Property)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.ITEM_FLOW__BASE_INFORMATION_FLOW:
+				setBase_InformationFlow((InformationFlow)null);
+				return;
+			case PortsAndFlowsPackage.ITEM_FLOW__ITEM_PROPERTY:
+				setItemProperty((Property)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.ITEM_FLOW__BASE_INFORMATION_FLOW:
+				return base_InformationFlow != null;
+			case PortsAndFlowsPackage.ITEM_FLOW__ITEM_PROPERTY:
+				return itemProperty != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ItemFlowImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/PortsAndFlowsFactoryImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/PortsAndFlowsFactoryImpl.java
new file mode 100644
index 0000000..a344d5d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/PortsAndFlowsFactoryImpl.java
@@ -0,0 +1,315 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PortsAndFlowsFactoryImpl extends EFactoryImpl implements PortsAndFlowsFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static PortsAndFlowsFactory init() {
+		try {
+			PortsAndFlowsFactory thePortsAndFlowsFactory = (PortsAndFlowsFactory)EPackage.Registry.INSTANCE.getEFactory(PortsAndFlowsPackage.eNS_URI);
+			if (thePortsAndFlowsFactory != null) {
+				return thePortsAndFlowsFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new PortsAndFlowsFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PortsAndFlowsFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case PortsAndFlowsPackage.ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION: return createAcceptChangeStructuralFeatureEventAction();
+			case PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT: return createChangeStructuralFeatureEvent();
+			case PortsAndFlowsPackage.DIRECTED_FEATURE: return createDirectedFeature();
+			case PortsAndFlowsPackage.FLOW_PROPERTY: return createFlowProperty();
+			case PortsAndFlowsPackage.FULL_PORT: return createFullPort();
+			case PortsAndFlowsPackage.INTERFACE_BLOCK: return createInterfaceBlock();
+			case PortsAndFlowsPackage.INVOCATION_ON_NESTED_PORT_ACTION: return createInvocationOnNestedPortAction();
+			case PortsAndFlowsPackage.ITEM_FLOW: return createItemFlow();
+			case PortsAndFlowsPackage.PROXY_PORT: return createProxyPort();
+			case PortsAndFlowsPackage.TRIGGER_ON_NESTED_PORT: return createTriggerOnNestedPort();
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK: return createConjugatedInterfaceBlock();
+			case PortsAndFlowsPackage.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION: return createAddFlowPropertyValueOnNestedPortAction();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+			case PortsAndFlowsPackage.FEATURE_DIRECTION_KIND:
+				return createFeatureDirectionKindFromString(eDataType, initialValue);
+			case PortsAndFlowsPackage.FLOW_DIRECTION_KIND:
+				return createFlowDirectionKindFromString(eDataType, initialValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+			case PortsAndFlowsPackage.FEATURE_DIRECTION_KIND:
+				return convertFeatureDirectionKindToString(eDataType, instanceValue);
+			case PortsAndFlowsPackage.FLOW_DIRECTION_KIND:
+				return convertFlowDirectionKindToString(eDataType, instanceValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public AcceptChangeStructuralFeatureEventAction createAcceptChangeStructuralFeatureEventAction() {
+		AcceptChangeStructuralFeatureEventActionImpl acceptChangeStructuralFeatureEventAction = new AcceptChangeStructuralFeatureEventActionImpl();
+		return acceptChangeStructuralFeatureEventAction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ChangeStructuralFeatureEvent createChangeStructuralFeatureEvent() {
+		ChangeStructuralFeatureEventImpl changeStructuralFeatureEvent = new ChangeStructuralFeatureEventImpl();
+		return changeStructuralFeatureEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public DirectedFeature createDirectedFeature() {
+		DirectedFeatureImpl directedFeature = new DirectedFeatureImpl();
+		return directedFeature;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public FlowProperty createFlowProperty() {
+		FlowPropertyImpl flowProperty = new FlowPropertyImpl();
+		return flowProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public FullPort createFullPort() {
+		FullPortImpl fullPort = new FullPortImpl();
+		return fullPort;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public InterfaceBlock createInterfaceBlock() {
+		InterfaceBlockImpl interfaceBlock = new InterfaceBlockImpl();
+		return interfaceBlock;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public InvocationOnNestedPortAction createInvocationOnNestedPortAction() {
+		InvocationOnNestedPortActionImpl invocationOnNestedPortAction = new InvocationOnNestedPortActionImpl();
+		return invocationOnNestedPortAction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ItemFlow createItemFlow() {
+		ItemFlowImpl itemFlow = new ItemFlowImpl();
+		return itemFlow;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ProxyPort createProxyPort() {
+		ProxyPortImpl proxyPort = new ProxyPortImpl();
+		return proxyPort;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public TriggerOnNestedPort createTriggerOnNestedPort() {
+		TriggerOnNestedPortImpl triggerOnNestedPort = new TriggerOnNestedPortImpl();
+		return triggerOnNestedPort;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ConjugatedInterfaceBlock createConjugatedInterfaceBlock() {
+		ConjugatedInterfaceBlockImpl conjugatedInterfaceBlock = new ConjugatedInterfaceBlockImpl();
+		return conjugatedInterfaceBlock;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public AddFlowPropertyValueOnNestedPortAction createAddFlowPropertyValueOnNestedPortAction() {
+		AddFlowPropertyValueOnNestedPortActionImpl addFlowPropertyValueOnNestedPortAction = new AddFlowPropertyValueOnNestedPortActionImpl();
+		return addFlowPropertyValueOnNestedPortAction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureDirectionKind createFeatureDirectionKindFromString(EDataType eDataType, String initialValue) {
+		FeatureDirectionKind result = FeatureDirectionKind.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertFeatureDirectionKindToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FlowDirectionKind createFlowDirectionKindFromString(EDataType eDataType, String initialValue) {
+		FlowDirectionKind result = FlowDirectionKind.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertFlowDirectionKindToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public PortsAndFlowsPackage getPortsAndFlowsPackage() {
+		return (PortsAndFlowsPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static PortsAndFlowsPackage getPackage() {
+		return PortsAndFlowsPackage.eINSTANCE;
+	}
+
+} //PortsAndFlowsFactoryImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/PortsAndFlowsPackageImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/PortsAndFlowsPackageImpl.java
new file mode 100644
index 0000000..419c752
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/PortsAndFlowsPackageImpl.java
@@ -0,0 +1,943 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction;
+import org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction;
+import org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent;
+import org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock;
+import org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature;
+import org.eclipse.papyrus.sysml16.portsandflows.FeatureDirectionKind;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+import org.eclipse.papyrus.sysml16.portsandflows.FullPort;
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+import org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction;
+import org.eclipse.papyrus.sysml16.portsandflows.ItemFlow;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsFactory;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.portsandflows.ProxyPort;
+import org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort;
+
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+import org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
+
+import org.eclipse.papyrus.sysml16.sysml.internal.impl.SysMLPackageImpl;
+
+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 PortsAndFlowsPackageImpl extends EPackageImpl implements PortsAndFlowsPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass acceptChangeStructuralFeatureEventActionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass changeStructuralFeatureEventEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass directedFeatureEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass flowPropertyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass fullPortEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass interfaceBlockEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass invocationOnNestedPortActionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass itemFlowEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass proxyPortEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass triggerOnNestedPortEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass conjugatedInterfaceBlockEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass addFlowPropertyValueOnNestedPortActionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum featureDirectionKindEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum flowDirectionKindEEnum = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private PortsAndFlowsPackageImpl() {
+		super(eNS_URI, PortsAndFlowsFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link PortsAndFlowsPackage#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 PortsAndFlowsPackage init() {
+		if (isInited) return (PortsAndFlowsPackage)EPackage.Registry.INSTANCE.getEPackage(PortsAndFlowsPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredPortsAndFlowsPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		PortsAndFlowsPackageImpl thePortsAndFlowsPackage = registeredPortsAndFlowsPackage instanceof PortsAndFlowsPackageImpl ? (PortsAndFlowsPackageImpl)registeredPortsAndFlowsPackage : new PortsAndFlowsPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		StandardPackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SysMLPackage.eNS_URI);
+		SysMLPackageImpl theSysMLPackage = (SysMLPackageImpl)(registeredPackage instanceof SysMLPackageImpl ? registeredPackage : SysMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl)(registeredPackage instanceof ActivitiesPackageImpl ? registeredPackage : ActivitiesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl)(registeredPackage instanceof AllocationsPackageImpl ? registeredPackage : AllocationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl)(registeredPackage instanceof BlocksPackageImpl ? registeredPackage : BlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConstraintBlocksPackage.eNS_URI);
+		ConstraintBlocksPackageImpl theConstraintBlocksPackage = (ConstraintBlocksPackageImpl)(registeredPackage instanceof ConstraintBlocksPackageImpl ? registeredPackage : ConstraintBlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DeprecatedElementsPackage.eNS_URI);
+		DeprecatedElementsPackageImpl theDeprecatedElementsPackage = (DeprecatedElementsPackageImpl)(registeredPackage instanceof DeprecatedElementsPackageImpl ? registeredPackage : DeprecatedElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModelElementsPackage.eNS_URI);
+		ModelElementsPackageImpl theModelElementsPackage = (ModelElementsPackageImpl)(registeredPackage instanceof ModelElementsPackageImpl ? registeredPackage : ModelElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(registeredPackage instanceof RequirementsPackageImpl ? registeredPackage : RequirementsPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		thePortsAndFlowsPackage.createPackageContents();
+		theSysMLPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		theConstraintBlocksPackage.createPackageContents();
+		theDeprecatedElementsPackage.createPackageContents();
+		theModelElementsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+
+		// Initialize created meta-data
+		thePortsAndFlowsPackage.initializePackageContents();
+		theSysMLPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		theConstraintBlocksPackage.initializePackageContents();
+		theDeprecatedElementsPackage.initializePackageContents();
+		theModelElementsPackage.initializePackageContents();
+		theRequirementsPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		thePortsAndFlowsPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(PortsAndFlowsPackage.eNS_URI, thePortsAndFlowsPackage);
+		return thePortsAndFlowsPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getAcceptChangeStructuralFeatureEventAction() {
+		return acceptChangeStructuralFeatureEventActionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAcceptChangeStructuralFeatureEventAction_Base_AcceptEventAction() {
+		return (EReference)acceptChangeStructuralFeatureEventActionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getChangeStructuralFeatureEvent() {
+		return changeStructuralFeatureEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getChangeStructuralFeatureEvent_Base_ChangeEvent() {
+		return (EReference)changeStructuralFeatureEventEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getChangeStructuralFeatureEvent_StructuralFeature() {
+		return (EReference)changeStructuralFeatureEventEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDirectedFeature() {
+		return directedFeatureEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getDirectedFeature_Base_Feature() {
+		return (EReference)directedFeatureEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDirectedFeature_FeatureDirection() {
+		return (EAttribute)directedFeatureEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getFlowProperty() {
+		return flowPropertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getFlowProperty_Base_Property() {
+		return (EReference)flowPropertyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getFlowProperty_Direction() {
+		return (EAttribute)flowPropertyEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getFlowProperty__GetIcon() {
+		return flowPropertyEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getFullPort() {
+		return fullPortEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getFullPort_Base_Port() {
+		return (EReference)fullPortEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getInterfaceBlock() {
+		return interfaceBlockEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getInterfaceBlock__GetConjugated() {
+		return interfaceBlockEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getInvocationOnNestedPortAction() {
+		return invocationOnNestedPortActionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getInvocationOnNestedPortAction_Base_InvocationAction() {
+		return (EReference)invocationOnNestedPortActionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getInvocationOnNestedPortAction_OnNestedPort() {
+		return (EReference)invocationOnNestedPortActionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getItemFlow() {
+		return itemFlowEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getItemFlow_Base_InformationFlow() {
+		return (EReference)itemFlowEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getItemFlow_ItemProperty() {
+		return (EReference)itemFlowEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getProxyPort() {
+		return proxyPortEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getProxyPort_Base_Port() {
+		return (EReference)proxyPortEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getTriggerOnNestedPort() {
+		return triggerOnNestedPortEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getTriggerOnNestedPort_Base_Trigger() {
+		return (EReference)triggerOnNestedPortEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getTriggerOnNestedPort_OnNestedPort() {
+		return (EReference)triggerOnNestedPortEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getConjugatedInterfaceBlock() {
+		return conjugatedInterfaceBlockEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getConjugatedInterfaceBlock_Original() {
+		return (EReference)conjugatedInterfaceBlockEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getConjugatedInterfaceBlock__AreConjugated__DirectedFeature_DirectedFeature() {
+		return conjugatedInterfaceBlockEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getConjugatedInterfaceBlock__AreConjugated__FlowProperty_FlowProperty() {
+		return conjugatedInterfaceBlockEClass.getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getConjugatedInterfaceBlock__AreConjugated__Reception_Reception() {
+		return conjugatedInterfaceBlockEClass.getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getConjugatedInterfaceBlock__AreConjugated__Operation_Operation() {
+		return conjugatedInterfaceBlockEClass.getEOperations().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getConjugatedInterfaceBlock__AreConjugated__Property_Property() {
+		return conjugatedInterfaceBlockEClass.getEOperations().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getConjugatedInterfaceBlock__AreSameConstraintSets__Constraint_Constraint() {
+		return conjugatedInterfaceBlockEClass.getEOperations().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getConjugatedInterfaceBlock__AreSameParameterSets__ParameterSet_ParameterSet() {
+		return conjugatedInterfaceBlockEClass.getEOperations().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getConjugatedInterfaceBlock__HaveSameSignatures__BehavioralFeature_BehavioralFeature() {
+		return conjugatedInterfaceBlockEClass.getEOperations().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getAddFlowPropertyValueOnNestedPortAction() {
+		return addFlowPropertyValueOnNestedPortActionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAddFlowPropertyValueOnNestedPortAction_OnNestedPort() {
+		return (EReference)addFlowPropertyValueOnNestedPortActionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAddFlowPropertyValueOnNestedPortAction_Base_AddStructuralFeatureValueAction() {
+		return (EReference)addFlowPropertyValueOnNestedPortActionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EEnum getFeatureDirectionKind() {
+		return featureDirectionKindEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EEnum getFlowDirectionKind() {
+		return flowDirectionKindEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public PortsAndFlowsFactory getPortsAndFlowsFactory() {
+		return (PortsAndFlowsFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		acceptChangeStructuralFeatureEventActionEClass = createEClass(ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION);
+		createEReference(acceptChangeStructuralFeatureEventActionEClass, ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION__BASE_ACCEPT_EVENT_ACTION);
+
+		changeStructuralFeatureEventEClass = createEClass(CHANGE_STRUCTURAL_FEATURE_EVENT);
+		createEReference(changeStructuralFeatureEventEClass, CHANGE_STRUCTURAL_FEATURE_EVENT__BASE_CHANGE_EVENT);
+		createEReference(changeStructuralFeatureEventEClass, CHANGE_STRUCTURAL_FEATURE_EVENT__STRUCTURAL_FEATURE);
+
+		directedFeatureEClass = createEClass(DIRECTED_FEATURE);
+		createEReference(directedFeatureEClass, DIRECTED_FEATURE__BASE_FEATURE);
+		createEAttribute(directedFeatureEClass, DIRECTED_FEATURE__FEATURE_DIRECTION);
+
+		flowPropertyEClass = createEClass(FLOW_PROPERTY);
+		createEReference(flowPropertyEClass, FLOW_PROPERTY__BASE_PROPERTY);
+		createEAttribute(flowPropertyEClass, FLOW_PROPERTY__DIRECTION);
+		createEOperation(flowPropertyEClass, FLOW_PROPERTY___GET_ICON);
+
+		fullPortEClass = createEClass(FULL_PORT);
+		createEReference(fullPortEClass, FULL_PORT__BASE_PORT);
+
+		interfaceBlockEClass = createEClass(INTERFACE_BLOCK);
+		createEOperation(interfaceBlockEClass, INTERFACE_BLOCK___GET_CONJUGATED);
+
+		invocationOnNestedPortActionEClass = createEClass(INVOCATION_ON_NESTED_PORT_ACTION);
+		createEReference(invocationOnNestedPortActionEClass, INVOCATION_ON_NESTED_PORT_ACTION__BASE_INVOCATION_ACTION);
+		createEReference(invocationOnNestedPortActionEClass, INVOCATION_ON_NESTED_PORT_ACTION__ON_NESTED_PORT);
+
+		itemFlowEClass = createEClass(ITEM_FLOW);
+		createEReference(itemFlowEClass, ITEM_FLOW__BASE_INFORMATION_FLOW);
+		createEReference(itemFlowEClass, ITEM_FLOW__ITEM_PROPERTY);
+
+		proxyPortEClass = createEClass(PROXY_PORT);
+		createEReference(proxyPortEClass, PROXY_PORT__BASE_PORT);
+
+		triggerOnNestedPortEClass = createEClass(TRIGGER_ON_NESTED_PORT);
+		createEReference(triggerOnNestedPortEClass, TRIGGER_ON_NESTED_PORT__BASE_TRIGGER);
+		createEReference(triggerOnNestedPortEClass, TRIGGER_ON_NESTED_PORT__ON_NESTED_PORT);
+
+		conjugatedInterfaceBlockEClass = createEClass(CONJUGATED_INTERFACE_BLOCK);
+		createEReference(conjugatedInterfaceBlockEClass, CONJUGATED_INTERFACE_BLOCK__ORIGINAL);
+		createEOperation(conjugatedInterfaceBlockEClass, CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__DIRECTEDFEATURE_DIRECTEDFEATURE);
+		createEOperation(conjugatedInterfaceBlockEClass, CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__FLOWPROPERTY_FLOWPROPERTY);
+		createEOperation(conjugatedInterfaceBlockEClass, CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__RECEPTION_RECEPTION);
+		createEOperation(conjugatedInterfaceBlockEClass, CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__OPERATION_OPERATION);
+		createEOperation(conjugatedInterfaceBlockEClass, CONJUGATED_INTERFACE_BLOCK___ARE_CONJUGATED__PROPERTY_PROPERTY);
+		createEOperation(conjugatedInterfaceBlockEClass, CONJUGATED_INTERFACE_BLOCK___ARE_SAME_CONSTRAINT_SETS__CONSTRAINT_CONSTRAINT);
+		createEOperation(conjugatedInterfaceBlockEClass, CONJUGATED_INTERFACE_BLOCK___ARE_SAME_PARAMETER_SETS__PARAMETERSET_PARAMETERSET);
+		createEOperation(conjugatedInterfaceBlockEClass, CONJUGATED_INTERFACE_BLOCK___HAVE_SAME_SIGNATURES__BEHAVIORALFEATURE_BEHAVIORALFEATURE);
+
+		addFlowPropertyValueOnNestedPortActionEClass = createEClass(ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION);
+		createEReference(addFlowPropertyValueOnNestedPortActionEClass, ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__ON_NESTED_PORT);
+		createEReference(addFlowPropertyValueOnNestedPortActionEClass, ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__BASE_ADD_STRUCTURAL_FEATURE_VALUE_ACTION);
+
+		// Create enums
+		featureDirectionKindEEnum = createEEnum(FEATURE_DIRECTION_KIND);
+		flowDirectionKindEEnum = createEEnum(FLOW_DIRECTION_KIND);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		BlocksPackage theBlocksPackage = (BlocksPackage)EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		interfaceBlockEClass.getESuperTypes().add(theBlocksPackage.getBlock());
+		invocationOnNestedPortActionEClass.getESuperTypes().add(theBlocksPackage.getElementPropertyPath());
+		triggerOnNestedPortEClass.getESuperTypes().add(theBlocksPackage.getElementPropertyPath());
+		conjugatedInterfaceBlockEClass.getESuperTypes().add(this.getInterfaceBlock());
+		addFlowPropertyValueOnNestedPortActionEClass.getESuperTypes().add(theBlocksPackage.getElementPropertyPath());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(acceptChangeStructuralFeatureEventActionEClass, AcceptChangeStructuralFeatureEventAction.class, "AcceptChangeStructuralFeatureEventAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getAcceptChangeStructuralFeatureEventAction_Base_AcceptEventAction(), theUMLPackage.getAcceptEventAction(), null, "base_AcceptEventAction", null, 0, 1, AcceptChangeStructuralFeatureEventAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(changeStructuralFeatureEventEClass, ChangeStructuralFeatureEvent.class, "ChangeStructuralFeatureEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getChangeStructuralFeatureEvent_Base_ChangeEvent(), theUMLPackage.getChangeEvent(), null, "base_ChangeEvent", null, 0, 1, ChangeStructuralFeatureEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getChangeStructuralFeatureEvent_StructuralFeature(), theUMLPackage.getStructuralFeature(), null, "structuralFeature", null, 1, 1, ChangeStructuralFeatureEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(directedFeatureEClass, DirectedFeature.class, "DirectedFeature", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getDirectedFeature_Base_Feature(), theUMLPackage.getFeature(), null, "base_Feature", null, 0, 1, DirectedFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getDirectedFeature_FeatureDirection(), this.getFeatureDirectionKind(), "featureDirection", null, 1, 1, DirectedFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(flowPropertyEClass, FlowProperty.class, "FlowProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getFlowProperty_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 0, 1, FlowProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getFlowProperty_Direction(), this.getFlowDirectionKind(), "direction", "inout", 1, 1, FlowProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+
+		initEOperation(getFlowProperty__GetIcon(), theUMLPackage.getImage(), "getIcon", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(fullPortEClass, FullPort.class, "FullPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getFullPort_Base_Port(), theUMLPackage.getPort(), null, "base_Port", null, 0, 1, FullPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(interfaceBlockEClass, InterfaceBlock.class, "InterfaceBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEOperation(getInterfaceBlock__GetConjugated(), this.getInterfaceBlock(), "getConjugated", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(invocationOnNestedPortActionEClass, InvocationOnNestedPortAction.class, "InvocationOnNestedPortAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getInvocationOnNestedPortAction_Base_InvocationAction(), theUMLPackage.getInvocationAction(), null, "base_InvocationAction", null, 0, 1, InvocationOnNestedPortAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getInvocationOnNestedPortAction_OnNestedPort(), theUMLPackage.getPort(), null, "onNestedPort", null, 1, -1, InvocationOnNestedPortAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(itemFlowEClass, ItemFlow.class, "ItemFlow", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getItemFlow_Base_InformationFlow(), theUMLPackage.getInformationFlow(), null, "base_InformationFlow", null, 0, 1, ItemFlow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		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); //$NON-NLS-1$
+
+		initEClass(proxyPortEClass, ProxyPort.class, "ProxyPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getProxyPort_Base_Port(), theUMLPackage.getPort(), null, "base_Port", null, 0, 1, ProxyPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(triggerOnNestedPortEClass, TriggerOnNestedPort.class, "TriggerOnNestedPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getTriggerOnNestedPort_Base_Trigger(), theUMLPackage.getTrigger(), null, "base_Trigger", null, 1, 1, TriggerOnNestedPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getTriggerOnNestedPort_OnNestedPort(), theUMLPackage.getPort(), null, "onNestedPort", null, 1, -1, TriggerOnNestedPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(conjugatedInterfaceBlockEClass, ConjugatedInterfaceBlock.class, "ConjugatedInterfaceBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getConjugatedInterfaceBlock_Original(), this.getInterfaceBlock(), null, "original", null, 1, 1, ConjugatedInterfaceBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		EOperation op = initEOperation(getConjugatedInterfaceBlock__AreConjugated__DirectedFeature_DirectedFeature(), theTypesPackage.getBoolean(), "areConjugated", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, this.getDirectedFeature(), "df1", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, this.getDirectedFeature(), "df2", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		op = initEOperation(getConjugatedInterfaceBlock__AreConjugated__FlowProperty_FlowProperty(), theTypesPackage.getBoolean(), "areConjugated", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, this.getFlowProperty(), "fp1", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, this.getFlowProperty(), "fp2", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		op = initEOperation(getConjugatedInterfaceBlock__AreConjugated__Reception_Reception(), theTypesPackage.getBoolean(), "areConjugated", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getReception(), "r1", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getReception(), "r2", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		op = initEOperation(getConjugatedInterfaceBlock__AreConjugated__Operation_Operation(), theTypesPackage.getBoolean(), "areConjugated", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getOperation(), "o1", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getOperation(), "o2", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		op = initEOperation(getConjugatedInterfaceBlock__AreConjugated__Property_Property(), theTypesPackage.getBoolean(), "areConjugated", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getProperty(), "p1", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getProperty(), "p2", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		op = initEOperation(getConjugatedInterfaceBlock__AreSameConstraintSets__Constraint_Constraint(), theTypesPackage.getBoolean(), "areSameConstraintSets", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getConstraint(), "cs1", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getConstraint(), "cs2", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		op = initEOperation(getConjugatedInterfaceBlock__AreSameParameterSets__ParameterSet_ParameterSet(), theTypesPackage.getBoolean(), "areSameParameterSets", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getParameterSet(), "ps1", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getParameterSet(), "ps2", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		op = initEOperation(getConjugatedInterfaceBlock__HaveSameSignatures__BehavioralFeature_BehavioralFeature(), theTypesPackage.getBoolean(), "haveSameSignatures", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getBehavioralFeature(), "bf1", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getBehavioralFeature(), "bf2", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(addFlowPropertyValueOnNestedPortActionEClass, AddFlowPropertyValueOnNestedPortAction.class, "AddFlowPropertyValueOnNestedPortAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getAddFlowPropertyValueOnNestedPortAction_OnNestedPort(), theUMLPackage.getPort(), null, "onNestedPort", null, 1, -1, AddFlowPropertyValueOnNestedPortAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getAddFlowPropertyValueOnNestedPortAction_Base_AddStructuralFeatureValueAction(), theUMLPackage.getAddStructuralFeatureValueAction(), null, "base_AddStructuralFeatureValueAction", null, 0, 1, AddFlowPropertyValueOnNestedPortAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		// Initialize enums and add enum literals
+		initEEnum(featureDirectionKindEEnum, FeatureDirectionKind.class, "FeatureDirectionKind"); //$NON-NLS-1$
+		addEEnumLiteral(featureDirectionKindEEnum, FeatureDirectionKind.PROVIDED);
+		addEEnumLiteral(featureDirectionKindEEnum, FeatureDirectionKind.PROVIDED_REQUIRED);
+		addEEnumLiteral(featureDirectionKindEEnum, FeatureDirectionKind.REQUIRED);
+
+		initEEnum(flowDirectionKindEEnum, FlowDirectionKind.class, "FlowDirectionKind"); //$NON-NLS-1$
+		addEEnumLiteral(flowDirectionKindEEnum, FlowDirectionKind.IN);
+		addEEnumLiteral(flowDirectionKindEEnum, FlowDirectionKind.INOUT);
+		addEEnumLiteral(flowDirectionKindEEnum, FlowDirectionKind.OUT);
+
+		// Create annotations
+		// http://www.eclipse.org/uml2/2.0.0/UML
+		createUMLAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createUMLAnnotations() {
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$
+		addAnnotation
+		  (this,
+		   source,
+		   new String[] {
+			   "originalName", "PortsAndFlows" //$NON-NLS-1$ //$NON-NLS-2$
+		   });
+	}
+
+} //PortsAndFlowsPackageImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/ProxyPortImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/ProxyPortImpl.java
new file mode 100644
index 0000000..ce8d1af
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/ProxyPortImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.portsandflows.ProxyPort;
+
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Proxy Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.ProxyPortImpl#getBase_Port <em>Base Port</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ProxyPortImpl extends MinimalEObjectImpl.Container implements ProxyPort {
+	/**
+	 * 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;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProxyPortImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortsAndFlowsPackage.Literals.PROXY_PORT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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, PortsAndFlowsPackage.PROXY_PORT__BASE_PORT, oldBase_Port, base_Port));
+			}
+		}
+		return base_Port;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port basicGetBase_Port() {
+		return base_Port;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Port(Port newBase_Port) {
+		Port oldBase_Port = base_Port;
+		base_Port = newBase_Port;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.PROXY_PORT__BASE_PORT, oldBase_Port, base_Port));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.PROXY_PORT__BASE_PORT:
+				if (resolve) return getBase_Port();
+				return basicGetBase_Port();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.PROXY_PORT__BASE_PORT:
+				setBase_Port((Port)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.PROXY_PORT__BASE_PORT:
+				setBase_Port((Port)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.PROXY_PORT__BASE_PORT:
+				return base_Port != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ProxyPortImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/TriggerOnNestedPortImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/TriggerOnNestedPortImpl.java
new file mode 100644
index 0000000..4fb7c19
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/internal/impl/TriggerOnNestedPortImpl.java
@@ -0,0 +1,241 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.ElementPropertyPathImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort;
+
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Trigger On Nested Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.TriggerOnNestedPortImpl#getBase_Trigger <em>Base Trigger</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.portsandflows.internal.impl.TriggerOnNestedPortImpl#getOnNestedPort <em>On Nested Port</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TriggerOnNestedPortImpl extends ElementPropertyPathImpl implements TriggerOnNestedPort {
+	/**
+	 * The cached value of the '{@link #getBase_Trigger() <em>Base Trigger</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Trigger()
+	 * @generated
+	 * @ordered
+	 */
+	protected Trigger base_Trigger;
+
+	/**
+	 * The cached value of the '{@link #getOnNestedPort() <em>On Nested Port</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOnNestedPort()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Port> onNestedPort;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TriggerOnNestedPortImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortsAndFlowsPackage.Literals.TRIGGER_ON_NESTED_PORT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Trigger getBase_Trigger() {
+		if (base_Trigger != null && base_Trigger.eIsProxy()) {
+			InternalEObject oldBase_Trigger = (InternalEObject)base_Trigger;
+			base_Trigger = (Trigger)eResolveProxy(oldBase_Trigger);
+			if (base_Trigger != oldBase_Trigger) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, PortsAndFlowsPackage.TRIGGER_ON_NESTED_PORT__BASE_TRIGGER, oldBase_Trigger, base_Trigger));
+			}
+		}
+		return base_Trigger;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Trigger basicGetBase_Trigger() {
+		return base_Trigger;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Trigger(Trigger newBase_Trigger) {
+		Trigger oldBase_Trigger = base_Trigger;
+		base_Trigger = newBase_Trigger;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, PortsAndFlowsPackage.TRIGGER_ON_NESTED_PORT__BASE_TRIGGER, oldBase_Trigger, base_Trigger));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Port> getOnNestedPort() {
+		if (onNestedPort == null) {
+			onNestedPort = new EObjectResolvingEList<Port>(Port.class, this, PortsAndFlowsPackage.TRIGGER_ON_NESTED_PORT__ON_NESTED_PORT);
+		}
+		return onNestedPort;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port getOnNestedPort(String name, Type type) {
+		return getOnNestedPort(name, type, false);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port getOnNestedPort(String name, Type type, boolean ignoreCase) {
+		onNestedPortLoop: for (Port onNestedPort : getOnNestedPort()) {
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(onNestedPort.getName()) : name.equals(onNestedPort.getName())))
+				continue onNestedPortLoop;
+			if (type != null && !type.equals(onNestedPort.getType()))
+				continue onNestedPortLoop;
+			return onNestedPort;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.TRIGGER_ON_NESTED_PORT__BASE_TRIGGER:
+				if (resolve) return getBase_Trigger();
+				return basicGetBase_Trigger();
+			case PortsAndFlowsPackage.TRIGGER_ON_NESTED_PORT__ON_NESTED_PORT:
+				return getOnNestedPort();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.TRIGGER_ON_NESTED_PORT__BASE_TRIGGER:
+				setBase_Trigger((Trigger)newValue);
+				return;
+			case PortsAndFlowsPackage.TRIGGER_ON_NESTED_PORT__ON_NESTED_PORT:
+				getOnNestedPort().clear();
+				getOnNestedPort().addAll((Collection<? extends Port>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.TRIGGER_ON_NESTED_PORT__BASE_TRIGGER:
+				setBase_Trigger((Trigger)null);
+				return;
+			case PortsAndFlowsPackage.TRIGGER_ON_NESTED_PORT__ON_NESTED_PORT:
+				getOnNestedPort().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case PortsAndFlowsPackage.TRIGGER_ON_NESTED_PORT__BASE_TRIGGER:
+				return base_Trigger != null;
+			case PortsAndFlowsPackage.TRIGGER_ON_NESTED_PORT__ON_NESTED_PORT:
+				return onNestedPort != null && !onNestedPort.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //TriggerOnNestedPortImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/util/PortsAndFlowsAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/util/PortsAndFlowsAdapterFactory.java
new file mode 100644
index 0000000..01923c6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/util/PortsAndFlowsAdapterFactory.java
@@ -0,0 +1,368 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath;
+
+import org.eclipse.papyrus.sysml16.portsandflows.*;
+
+/**
+ * <!-- 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.sysml16.portsandflows.PortsAndFlowsPackage
+ * @generated
+ */
+public class PortsAndFlowsAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static PortsAndFlowsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PortsAndFlowsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = PortsAndFlowsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PortsAndFlowsSwitch<Adapter> modelSwitch =
+		new PortsAndFlowsSwitch<Adapter>() {
+			@Override
+			public Adapter caseAcceptChangeStructuralFeatureEventAction(AcceptChangeStructuralFeatureEventAction object) {
+				return createAcceptChangeStructuralFeatureEventActionAdapter();
+			}
+			@Override
+			public Adapter caseChangeStructuralFeatureEvent(ChangeStructuralFeatureEvent object) {
+				return createChangeStructuralFeatureEventAdapter();
+			}
+			@Override
+			public Adapter caseDirectedFeature(DirectedFeature object) {
+				return createDirectedFeatureAdapter();
+			}
+			@Override
+			public Adapter caseFlowProperty(FlowProperty object) {
+				return createFlowPropertyAdapter();
+			}
+			@Override
+			public Adapter caseFullPort(FullPort object) {
+				return createFullPortAdapter();
+			}
+			@Override
+			public Adapter caseInterfaceBlock(InterfaceBlock object) {
+				return createInterfaceBlockAdapter();
+			}
+			@Override
+			public Adapter caseInvocationOnNestedPortAction(InvocationOnNestedPortAction object) {
+				return createInvocationOnNestedPortActionAdapter();
+			}
+			@Override
+			public Adapter caseItemFlow(ItemFlow object) {
+				return createItemFlowAdapter();
+			}
+			@Override
+			public Adapter caseProxyPort(ProxyPort object) {
+				return createProxyPortAdapter();
+			}
+			@Override
+			public Adapter caseTriggerOnNestedPort(TriggerOnNestedPort object) {
+				return createTriggerOnNestedPortAdapter();
+			}
+			@Override
+			public Adapter caseConjugatedInterfaceBlock(ConjugatedInterfaceBlock object) {
+				return createConjugatedInterfaceBlockAdapter();
+			}
+			@Override
+			public Adapter caseAddFlowPropertyValueOnNestedPortAction(AddFlowPropertyValueOnNestedPortAction object) {
+				return createAddFlowPropertyValueOnNestedPortActionAdapter();
+			}
+			@Override
+			public Adapter caseBlock(Block object) {
+				return createBlockAdapter();
+			}
+			@Override
+			public Adapter caseElementPropertyPath(ElementPropertyPath object) {
+				return createElementPropertyPathAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction <em>Accept Change Structural Feature Event Action</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.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction
+	 * @generated
+	 */
+	public Adapter createAcceptChangeStructuralFeatureEventActionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent <em>Change Structural Feature Event</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.sysml16.portsandflows.ChangeStructuralFeatureEvent
+	 * @generated
+	 */
+	public Adapter createChangeStructuralFeatureEventAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature <em>Directed Feature</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.sysml16.portsandflows.DirectedFeature
+	 * @generated
+	 */
+	public Adapter createDirectedFeatureAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.FlowProperty
+	 * @generated
+	 */
+	public Adapter createFlowPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.portsandflows.FullPort <em>Full 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.sysml16.portsandflows.FullPort
+	 * @generated
+	 */
+	public Adapter createFullPortAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock <em>Interface 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.sysml16.portsandflows.InterfaceBlock
+	 * @generated
+	 */
+	public Adapter createInterfaceBlockAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction <em>Invocation On Nested Port Action</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.sysml16.portsandflows.InvocationOnNestedPortAction
+	 * @generated
+	 */
+	public Adapter createInvocationOnNestedPortActionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.portsandflows.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.sysml16.portsandflows.ItemFlow
+	 * @generated
+	 */
+	public Adapter createItemFlowAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.portsandflows.ProxyPort <em>Proxy 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.sysml16.portsandflows.ProxyPort
+	 * @generated
+	 */
+	public Adapter createProxyPortAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort <em>Trigger On Nested 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.sysml16.portsandflows.TriggerOnNestedPort
+	 * @generated
+	 */
+	public Adapter createTriggerOnNestedPortAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock <em>Conjugated Interface 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.sysml16.portsandflows.ConjugatedInterfaceBlock
+	 * @generated
+	 */
+	public Adapter createConjugatedInterfaceBlockAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction <em>Add Flow Property Value On Nested Port Action</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.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction
+	 * @generated
+	 */
+	public Adapter createAddFlowPropertyValueOnNestedPortActionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.blocks.Block
+	 * @generated
+	 */
+	public Adapter createBlockAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath <em>Element Property Path</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.sysml16.blocks.ElementPropertyPath
+	 * @generated
+	 */
+	public Adapter createElementPropertyPathAdapter() {
+		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;
+	}
+
+} //PortsAndFlowsAdapterFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/util/PortsAndFlowsSwitch.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/util/PortsAndFlowsSwitch.java
new file mode 100644
index 0000000..7d5f628
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/portsandflows/util/PortsAndFlowsSwitch.java
@@ -0,0 +1,391 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath;
+
+import org.eclipse.papyrus.sysml16.portsandflows.*;
+
+/**
+ * <!-- 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.sysml16.portsandflows.PortsAndFlowsPackage
+ * @generated
+ */
+public class PortsAndFlowsSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static PortsAndFlowsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PortsAndFlowsSwitch() {
+		if (modelPackage == null) {
+			modelPackage = PortsAndFlowsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case PortsAndFlowsPackage.ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION: {
+				AcceptChangeStructuralFeatureEventAction acceptChangeStructuralFeatureEventAction = (AcceptChangeStructuralFeatureEventAction)theEObject;
+				T result = caseAcceptChangeStructuralFeatureEventAction(acceptChangeStructuralFeatureEventAction);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case PortsAndFlowsPackage.CHANGE_STRUCTURAL_FEATURE_EVENT: {
+				ChangeStructuralFeatureEvent changeStructuralFeatureEvent = (ChangeStructuralFeatureEvent)theEObject;
+				T result = caseChangeStructuralFeatureEvent(changeStructuralFeatureEvent);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case PortsAndFlowsPackage.DIRECTED_FEATURE: {
+				DirectedFeature directedFeature = (DirectedFeature)theEObject;
+				T result = caseDirectedFeature(directedFeature);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case PortsAndFlowsPackage.FLOW_PROPERTY: {
+				FlowProperty flowProperty = (FlowProperty)theEObject;
+				T result = caseFlowProperty(flowProperty);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case PortsAndFlowsPackage.FULL_PORT: {
+				FullPort fullPort = (FullPort)theEObject;
+				T result = caseFullPort(fullPort);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case PortsAndFlowsPackage.INTERFACE_BLOCK: {
+				InterfaceBlock interfaceBlock = (InterfaceBlock)theEObject;
+				T result = caseInterfaceBlock(interfaceBlock);
+				if (result == null) result = caseBlock(interfaceBlock);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case PortsAndFlowsPackage.INVOCATION_ON_NESTED_PORT_ACTION: {
+				InvocationOnNestedPortAction invocationOnNestedPortAction = (InvocationOnNestedPortAction)theEObject;
+				T result = caseInvocationOnNestedPortAction(invocationOnNestedPortAction);
+				if (result == null) result = caseElementPropertyPath(invocationOnNestedPortAction);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case PortsAndFlowsPackage.ITEM_FLOW: {
+				ItemFlow itemFlow = (ItemFlow)theEObject;
+				T result = caseItemFlow(itemFlow);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case PortsAndFlowsPackage.PROXY_PORT: {
+				ProxyPort proxyPort = (ProxyPort)theEObject;
+				T result = caseProxyPort(proxyPort);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case PortsAndFlowsPackage.TRIGGER_ON_NESTED_PORT: {
+				TriggerOnNestedPort triggerOnNestedPort = (TriggerOnNestedPort)theEObject;
+				T result = caseTriggerOnNestedPort(triggerOnNestedPort);
+				if (result == null) result = caseElementPropertyPath(triggerOnNestedPort);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case PortsAndFlowsPackage.CONJUGATED_INTERFACE_BLOCK: {
+				ConjugatedInterfaceBlock conjugatedInterfaceBlock = (ConjugatedInterfaceBlock)theEObject;
+				T result = caseConjugatedInterfaceBlock(conjugatedInterfaceBlock);
+				if (result == null) result = caseInterfaceBlock(conjugatedInterfaceBlock);
+				if (result == null) result = caseBlock(conjugatedInterfaceBlock);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case PortsAndFlowsPackage.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION: {
+				AddFlowPropertyValueOnNestedPortAction addFlowPropertyValueOnNestedPortAction = (AddFlowPropertyValueOnNestedPortAction)theEObject;
+				T result = caseAddFlowPropertyValueOnNestedPortAction(addFlowPropertyValueOnNestedPortAction);
+				if (result == null) result = caseElementPropertyPath(addFlowPropertyValueOnNestedPortAction);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Accept Change Structural Feature Event Action</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>Accept Change Structural Feature Event Action</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAcceptChangeStructuralFeatureEventAction(AcceptChangeStructuralFeatureEventAction object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Change Structural Feature Event</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>Change Structural Feature Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseChangeStructuralFeatureEvent(ChangeStructuralFeatureEvent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Directed Feature</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>Directed Feature</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDirectedFeature(DirectedFeature 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>Full 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>Full Port</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFullPort(FullPort object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Interface 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>Interface Block</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseInterfaceBlock(InterfaceBlock object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Invocation On Nested Port Action</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>Invocation On Nested Port Action</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseInvocationOnNestedPortAction(InvocationOnNestedPortAction 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>Proxy 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>Proxy Port</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseProxyPort(ProxyPort object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Trigger On Nested 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>Trigger On Nested Port</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTriggerOnNestedPort(TriggerOnNestedPort object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Conjugated Interface 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>Conjugated Interface Block</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConjugatedInterfaceBlock(ConjugatedInterfaceBlock object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Add Flow Property Value On Nested Port Action</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>Add Flow Property Value On Nested Port Action</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAddFlowPropertyValueOnNestedPortAction(AddFlowPropertyValueOnNestedPortAction 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>Element Property Path</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Element Property Path</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseElementPropertyPath(ElementPropertyPath 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;
+	}
+
+} //PortsAndFlowsSwitch
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/AbstractRequirement.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/AbstractRequirement.java
new file mode 100644
index 0000000..a5e4d0f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/AbstractRequirement.java
@@ -0,0 +1,328 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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>Abstract Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getBase_NamedElement <em>Base Named Element</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getDerived <em>Derived</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getDerivedFrom <em>Derived From</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getMaster <em>Master</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getRefinedBy <em>Refined By</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getSatisfiedBy <em>Satisfied By</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getText <em>Text</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getTracedTo <em>Traced To</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getVerifiedBy <em>Verified By</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getAbstractRequirement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface AbstractRequirement 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.sysml16.requirements.RequirementsPackage#getAbstractRequirement_Base_NamedElement()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#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);
+
+	/**
+	 * Returns the value of the '<em><b>Derived</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Derived from all requirements that are the client of a «deriveReqt» relationship for which this requirement is a supplier.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Derived</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getAbstractRequirement_Derived()
+	 * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	EList<AbstractRequirement> getDerived();
+
+	/**
+	 * Returns the value of the '<em><b>Derived From</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Derived from all requirements that are the supplier of a «deriveReqt» relationship for which this requirement is a client.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Derived From</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getAbstractRequirement_DerivedFrom()
+	 * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	EList<AbstractRequirement> getDerivedFrom();
+
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * The default value is <code>""</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * The unique id of the requirement.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(String)
+	 * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getAbstractRequirement_Id()
+	 * @model default="" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getId();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#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);
+
+	/**
+	 * Returns the value of the '<em><b>Master</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * This is a derived property that lists the master requirement for this slave requirement. The master attribute is derived from the supplier of the Copy dependency that has this requirement as the slave.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Master</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getAbstractRequirement_Master()
+	 * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	EList<AbstractRequirement> 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 -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Derived from all elements that are the client of a «refine» relationship for which this requirement is a supplier.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Refined By</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getAbstractRequirement_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 -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Derived from all elements that are the client of a «satisfy» relationship for which this requirement is a supplier.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Satisfied By</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getAbstractRequirement_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.
+	 * The default value is <code>""</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * The textual representation or a reference to the textual representation of the requirement.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Text</em>' attribute.
+	 * @see #setText(String)
+	 * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getAbstractRequirement_Text()
+	 * @model default="" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getText();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#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);
+
+	/**
+	 * 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 -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Derived from all elements that are the client of a «trace» relationship for which this requirement is a supplier.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Traced To</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getAbstractRequirement_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 -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Derived from all elements that are the client of a «verify» relationship for which this requirement is a supplier.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Verified By</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getAbstractRequirement_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);
+
+} // AbstractRequirement
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Copy.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Copy.java
new file mode 100644
index 0000000..8db06fe
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Copy.java
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Copy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A Copy relationship is a dependency between a supplier requirement and a client requirement that specifies that the text of the client requirement is a read-only copy of the text of the supplier requirement.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getCopy()
+ * @model
+ * @generated
+ */
+public interface Copy extends Trace {
+} // Copy
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/DeriveReqt.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/DeriveReqt.java
new file mode 100644
index 0000000..39b7c82
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/DeriveReqt.java
@@ -0,0 +1,34 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Derive Reqt</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ *             A DeriveReqt relationship is a dependency between two requirements in which a client requirement can be derived from the supplier requirement. As with other dependencies, the arrow direction points from the derived (client) requirement to the (supplier) requirement from which it is derived.
+ *           
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getDeriveReqt()
+ * @model
+ * @generated
+ */
+public interface DeriveReqt extends Trace {
+} // DeriveReqt
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Refine.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Refine.java
new file mode 100644
index 0000000..9aa8c24
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Refine.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Refine</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getRefine()
+ * @model
+ * @generated
+ */
+public interface Refine extends DirectedRelationshipPropertyPath, org.eclipse.uml2.uml.profile.standard.Refine {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model refRequired="true" refOrdered="false" resultMany="true" resultOrdered="false"
+	 * @generated
+	 */
+	void getRefines(NamedElement ref, EList<Requirement> result);
+
+} // Refine
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Requirement.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Requirement.java
new file mode 100644
index 0000000..9223ef6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Requirement.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A requirement specifies a capability or condition that must (or should) be satisfied. A requirement may specify a function that a system must perform or a performance condition that a system must satisfy. Requirements are used to establish a contract between the customer (or other stakeholder) and those responsible for designing and implementing the system.
+ *           
+ * An AbstractRequirement establishes the attributes and relationships essential to any potential kind of requirement. Any intended requirement kind should subclass AbstractRequirement. The only normative stereotype based on AbstractRequirement is the Requirement stereotype, described in 16.3.2.5. Examples of additional non-normative stereotypes based on AbstractRequirement are included in Annex E.8.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getRequirement()
+ * @model
+ * @generated
+ */
+public interface Requirement extends AbstractRequirement {
+	/**
+	 * 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.sysml16.requirements.RequirementsPackage#getRequirement_Base_Class()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+} // Requirement
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/RequirementsFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/RequirementsFactory.java
new file mode 100644
index 0000000..9f6cfa0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/RequirementsFactory.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.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.sysml16.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>Trace</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Trace</em>'.
+	 * @generated
+	 */
+	Trace createTrace();
+
+	/**
+	 * 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>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>Refine</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Refine</em>'.
+	 * @generated
+	 */
+	Refine createRefine();
+
+	/**
+	 * 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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/RequirementsPackage.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/RequirementsPackage.java
new file mode 100644
index 0000000..233c331
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/RequirementsPackage.java
@@ -0,0 +1,1706 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.sysml16.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 operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.requirements.RequirementsFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Requirements'"
+ * @generated
+ */
+public interface RequirementsPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "requirements"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "Requirements"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RequirementsPackage eINSTANCE = org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.TraceImpl <em>Trace</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.TraceImpl
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getTrace()
+	 * @generated
+	 */
+	int TRACE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Directed Relationship</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACE__BASE_DIRECTED_RELATIONSHIP = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP;
+
+	/**
+	 * The feature id for the '<em><b>Source Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACE__SOURCE_CONTEXT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Source Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACE__SOURCE_PROPERTY_PATH = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Target Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACE__TARGET_CONTEXT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Target Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACE__TARGET_PROPERTY_PATH = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Base Abstraction</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACE__BASE_ABSTRACTION = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Trace</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACE_FEATURE_COUNT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Get Traced From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACE___GET_TRACED_FROM__NAMEDELEMENT_ELIST = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_OPERATION_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Trace</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACE_OPERATION_COUNT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_OPERATION_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.CopyImpl <em>Copy</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.CopyImpl
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getCopy()
+	 * @generated
+	 */
+	int COPY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Directed Relationship</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COPY__BASE_DIRECTED_RELATIONSHIP = TRACE__BASE_DIRECTED_RELATIONSHIP;
+
+	/**
+	 * The feature id for the '<em><b>Source Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COPY__SOURCE_CONTEXT = TRACE__SOURCE_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Source Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COPY__SOURCE_PROPERTY_PATH = TRACE__SOURCE_PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Target Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COPY__TARGET_CONTEXT = TRACE__TARGET_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Target Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COPY__TARGET_PROPERTY_PATH = TRACE__TARGET_PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Base Abstraction</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COPY__BASE_ABSTRACTION = 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 = TRACE_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Get Traced From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COPY___GET_TRACED_FROM__NAMEDELEMENT_ELIST = TRACE___GET_TRACED_FROM__NAMEDELEMENT_ELIST;
+
+	/**
+	 * The number of operations of the '<em>Copy</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COPY_OPERATION_COUNT = TRACE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl <em>Abstract Requirement</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getAbstractRequirement()
+	 * @generated
+	 */
+	int ABSTRACT_REQUIREMENT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT__BASE_NAMED_ELEMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Derived</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT__DERIVED = 1;
+
+	/**
+	 * The feature id for the '<em><b>Derived From</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT__DERIVED_FROM = 2;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT__ID = 3;
+
+	/**
+	 * The feature id for the '<em><b>Master</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT__MASTER = 4;
+
+	/**
+	 * The feature id for the '<em><b>Refined By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT__REFINED_BY = 5;
+
+	/**
+	 * The feature id for the '<em><b>Satisfied By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT__SATISFIED_BY = 6;
+
+	/**
+	 * The feature id for the '<em><b>Text</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT__TEXT = 7;
+
+	/**
+	 * The feature id for the '<em><b>Traced To</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT__TRACED_TO = 8;
+
+	/**
+	 * The feature id for the '<em><b>Verified By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT__VERIFIED_BY = 9;
+
+	/**
+	 * The number of structural features of the '<em>Abstract Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT_FEATURE_COUNT = 10;
+
+	/**
+	 * The operation id for the '<em>Get Satisfied By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT___GET_SATISFIED_BY = 0;
+
+	/**
+	 * The operation id for the '<em>Get Verified By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT___GET_VERIFIED_BY = 1;
+
+	/**
+	 * The operation id for the '<em>Get Traced To</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT___GET_TRACED_TO = 2;
+
+	/**
+	 * The operation id for the '<em>Get Derived</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT___GET_DERIVED = 3;
+
+	/**
+	 * The operation id for the '<em>Get Derived From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT___GET_DERIVED_FROM = 4;
+
+	/**
+	 * The operation id for the '<em>Get Refined By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT___GET_REFINED_BY = 5;
+
+	/**
+	 * The operation id for the '<em>Get Master</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT___GET_MASTER = 6;
+
+	/**
+	 * The number of operations of the '<em>Abstract Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACT_REQUIREMENT_OPERATION_COUNT = 7;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementImpl <em>Requirement</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementImpl
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getRequirement()
+	 * @generated
+	 */
+	int REQUIREMENT = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__BASE_NAMED_ELEMENT = ABSTRACT_REQUIREMENT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Derived</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__DERIVED = ABSTRACT_REQUIREMENT__DERIVED;
+
+	/**
+	 * 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 = ABSTRACT_REQUIREMENT__DERIVED_FROM;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__ID = ABSTRACT_REQUIREMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Master</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__MASTER = ABSTRACT_REQUIREMENT__MASTER;
+
+	/**
+	 * 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 = ABSTRACT_REQUIREMENT__REFINED_BY;
+
+	/**
+	 * 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 = ABSTRACT_REQUIREMENT__SATISFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Text</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__TEXT = ABSTRACT_REQUIREMENT__TEXT;
+
+	/**
+	 * 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 = ABSTRACT_REQUIREMENT__TRACED_TO;
+
+	/**
+	 * 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 = ABSTRACT_REQUIREMENT__VERIFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__BASE_CLASS = ABSTRACT_REQUIREMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT_FEATURE_COUNT = ABSTRACT_REQUIREMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Get Satisfied By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT___GET_SATISFIED_BY = ABSTRACT_REQUIREMENT___GET_SATISFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Verified By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT___GET_VERIFIED_BY = ABSTRACT_REQUIREMENT___GET_VERIFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Traced To</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT___GET_TRACED_TO = ABSTRACT_REQUIREMENT___GET_TRACED_TO;
+
+	/**
+	 * The operation id for the '<em>Get Derived</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT___GET_DERIVED = ABSTRACT_REQUIREMENT___GET_DERIVED;
+
+	/**
+	 * The operation id for the '<em>Get Derived From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT___GET_DERIVED_FROM = ABSTRACT_REQUIREMENT___GET_DERIVED_FROM;
+
+	/**
+	 * The operation id for the '<em>Get Refined By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT___GET_REFINED_BY = ABSTRACT_REQUIREMENT___GET_REFINED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Master</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT___GET_MASTER = ABSTRACT_REQUIREMENT___GET_MASTER;
+
+	/**
+	 * The number of operations of the '<em>Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT_OPERATION_COUNT = ABSTRACT_REQUIREMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.DeriveReqtImpl <em>Derive Reqt</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.DeriveReqtImpl
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getDeriveReqt()
+	 * @generated
+	 */
+	int DERIVE_REQT = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Directed Relationship</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVE_REQT__BASE_DIRECTED_RELATIONSHIP = TRACE__BASE_DIRECTED_RELATIONSHIP;
+
+	/**
+	 * The feature id for the '<em><b>Source Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVE_REQT__SOURCE_CONTEXT = TRACE__SOURCE_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Source Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVE_REQT__SOURCE_PROPERTY_PATH = TRACE__SOURCE_PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Target Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVE_REQT__TARGET_CONTEXT = TRACE__TARGET_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Target Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVE_REQT__TARGET_PROPERTY_PATH = TRACE__TARGET_PROPERTY_PATH;
+
+	/**
+	 * 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 = 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 = TRACE_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Get Traced From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVE_REQT___GET_TRACED_FROM__NAMEDELEMENT_ELIST = TRACE___GET_TRACED_FROM__NAMEDELEMENT_ELIST;
+
+	/**
+	 * The number of operations of the '<em>Derive Reqt</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVE_REQT_OPERATION_COUNT = TRACE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.RefineImpl <em>Refine</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RefineImpl
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getRefine()
+	 * @generated
+	 */
+	int REFINE = 5;
+
+	/**
+	 * The feature id for the '<em><b>Base Directed Relationship</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFINE__BASE_DIRECTED_RELATIONSHIP = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP;
+
+	/**
+	 * The feature id for the '<em><b>Source Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFINE__SOURCE_CONTEXT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Source Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFINE__SOURCE_PROPERTY_PATH = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Target Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFINE__TARGET_CONTEXT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Target Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFINE__TARGET_PROPERTY_PATH = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Base Abstraction</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFINE__BASE_ABSTRACTION = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Refine</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFINE_FEATURE_COUNT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Get Refines</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFINE___GET_REFINES__NAMEDELEMENT_ELIST = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_OPERATION_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Refine</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFINE_OPERATION_COUNT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_OPERATION_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.SatisfyImpl <em>Satisfy</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.SatisfyImpl
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getSatisfy()
+	 * @generated
+	 */
+	int SATISFY = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base Directed Relationship</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SATISFY__BASE_DIRECTED_RELATIONSHIP = TRACE__BASE_DIRECTED_RELATIONSHIP;
+
+	/**
+	 * The feature id for the '<em><b>Source Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SATISFY__SOURCE_CONTEXT = TRACE__SOURCE_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Source Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SATISFY__SOURCE_PROPERTY_PATH = TRACE__SOURCE_PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Target Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SATISFY__TARGET_CONTEXT = TRACE__TARGET_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Target Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SATISFY__TARGET_PROPERTY_PATH = TRACE__TARGET_PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Base Abstraction</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SATISFY__BASE_ABSTRACTION = 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 = TRACE_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Get Traced From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SATISFY___GET_TRACED_FROM__NAMEDELEMENT_ELIST = TRACE___GET_TRACED_FROM__NAMEDELEMENT_ELIST;
+
+	/**
+	 * The operation id for the '<em>Get Satisfies</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SATISFY___GET_SATISFIES__NAMEDELEMENT_ELIST = TRACE_OPERATION_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Satisfy</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SATISFY_OPERATION_COUNT = TRACE_OPERATION_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.TestCaseImpl <em>Test Case</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.TestCaseImpl
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getTestCase()
+	 * @generated
+	 */
+	int TEST_CASE = 7;
+
+	/**
+	 * 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 number of structural features of the '<em>Test Case</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEST_CASE_FEATURE_COUNT = 2;
+
+	/**
+	 * 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.sysml16.requirements.internal.impl.VerifyImpl <em>Verify</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.VerifyImpl
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getVerify()
+	 * @generated
+	 */
+	int VERIFY = 8;
+
+	/**
+	 * The feature id for the '<em><b>Base Directed Relationship</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VERIFY__BASE_DIRECTED_RELATIONSHIP = TRACE__BASE_DIRECTED_RELATIONSHIP;
+
+	/**
+	 * The feature id for the '<em><b>Source Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VERIFY__SOURCE_CONTEXT = TRACE__SOURCE_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Source Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VERIFY__SOURCE_PROPERTY_PATH = TRACE__SOURCE_PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Target Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VERIFY__TARGET_CONTEXT = TRACE__TARGET_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Target Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VERIFY__TARGET_PROPERTY_PATH = TRACE__TARGET_PROPERTY_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Base Abstraction</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VERIFY__BASE_ABSTRACTION = 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 = TRACE_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Get Traced From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VERIFY___GET_TRACED_FROM__NAMEDELEMENT_ELIST = TRACE___GET_TRACED_FROM__NAMEDELEMENT_ELIST;
+
+	/**
+	 * The operation id for the '<em>Get Verifies</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VERIFY___GET_VERIFIES__NAMEDELEMENT_ELIST = TRACE_OPERATION_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Verify</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VERIFY_OPERATION_COUNT = TRACE_OPERATION_COUNT + 1;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.requirements.Copy <em>Copy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Copy</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirements.Copy
+	 * @generated
+	 */
+	EClass getCopy();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.requirements.Trace <em>Trace</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Trace</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirements.Trace
+	 * @generated
+	 */
+	EClass getTrace();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.requirements.Trace#getTracedFrom(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList) <em>Get Traced From</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Traced From</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.requirements.Trace#getTracedFrom(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList)
+	 * @generated
+	 */
+	EOperation getTrace__GetTracedFrom__NamedElement_EList();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.requirements.Requirement <em>Requirement</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Requirement</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirements.Requirement
+	 * @generated
+	 */
+	EClass getRequirement();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.requirements.Requirement#getBase_Class()
+	 * @see #getRequirement()
+	 * @generated
+	 */
+	EReference getRequirement_Base_Class();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement <em>Abstract Requirement</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Abstract Requirement</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirements.AbstractRequirement
+	 * @generated
+	 */
+	EClass getAbstractRequirement();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#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.sysml16.requirements.AbstractRequirement#getBase_NamedElement()
+	 * @see #getAbstractRequirement()
+	 * @generated
+	 */
+	EReference getAbstractRequirement_Base_NamedElement();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#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.sysml16.requirements.AbstractRequirement#getDerived()
+	 * @see #getAbstractRequirement()
+	 * @generated
+	 */
+	EReference getAbstractRequirement_Derived();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#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.sysml16.requirements.AbstractRequirement#getDerivedFrom()
+	 * @see #getAbstractRequirement()
+	 * @generated
+	 */
+	EReference getAbstractRequirement_DerivedFrom();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getId()
+	 * @see #getAbstractRequirement()
+	 * @generated
+	 */
+	EAttribute getAbstractRequirement_Id();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getMaster <em>Master</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Master</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getMaster()
+	 * @see #getAbstractRequirement()
+	 * @generated
+	 */
+	EReference getAbstractRequirement_Master();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#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.sysml16.requirements.AbstractRequirement#getRefinedBy()
+	 * @see #getAbstractRequirement()
+	 * @generated
+	 */
+	EReference getAbstractRequirement_RefinedBy();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#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.sysml16.requirements.AbstractRequirement#getSatisfiedBy()
+	 * @see #getAbstractRequirement()
+	 * @generated
+	 */
+	EReference getAbstractRequirement_SatisfiedBy();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getText <em>Text</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Text</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getText()
+	 * @see #getAbstractRequirement()
+	 * @generated
+	 */
+	EAttribute getAbstractRequirement_Text();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#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.sysml16.requirements.AbstractRequirement#getTracedTo()
+	 * @see #getAbstractRequirement()
+	 * @generated
+	 */
+	EReference getAbstractRequirement_TracedTo();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#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.sysml16.requirements.AbstractRequirement#getVerifiedBy()
+	 * @see #getAbstractRequirement()
+	 * @generated
+	 */
+	EReference getAbstractRequirement_VerifiedBy();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getSatisfiedBy() <em>Get Satisfied By</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Satisfied By</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getSatisfiedBy()
+	 * @generated
+	 */
+	EOperation getAbstractRequirement__GetSatisfiedBy();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getVerifiedBy() <em>Get Verified By</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Verified By</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getVerifiedBy()
+	 * @generated
+	 */
+	EOperation getAbstractRequirement__GetVerifiedBy();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getTracedTo() <em>Get Traced To</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Traced To</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getTracedTo()
+	 * @generated
+	 */
+	EOperation getAbstractRequirement__GetTracedTo();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getDerived() <em>Get Derived</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Derived</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getDerived()
+	 * @generated
+	 */
+	EOperation getAbstractRequirement__GetDerived();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getDerivedFrom() <em>Get Derived From</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Derived From</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getDerivedFrom()
+	 * @generated
+	 */
+	EOperation getAbstractRequirement__GetDerivedFrom();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getRefinedBy() <em>Get Refined By</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Refined By</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getRefinedBy()
+	 * @generated
+	 */
+	EOperation getAbstractRequirement__GetRefinedBy();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getMaster() <em>Get Master</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Master</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.requirements.AbstractRequirement#getMaster()
+	 * @generated
+	 */
+	EOperation getAbstractRequirement__GetMaster();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.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.sysml16.requirements.DeriveReqt
+	 * @generated
+	 */
+	EClass getDeriveReqt();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.requirements.Refine <em>Refine</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Refine</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirements.Refine
+	 * @generated
+	 */
+	EClass getRefine();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.requirements.Refine#getRefines(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList) <em>Get Refines</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Refines</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.requirements.Refine#getRefines(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList)
+	 * @generated
+	 */
+	EOperation getRefine__GetRefines__NamedElement_EList();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.requirements.Satisfy <em>Satisfy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Satisfy</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirements.Satisfy
+	 * @generated
+	 */
+	EClass getSatisfy();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.requirements.Satisfy#getSatisfies(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList) <em>Get Satisfies</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Satisfies</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.requirements.Satisfy#getSatisfies(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList)
+	 * @generated
+	 */
+	EOperation getSatisfy__GetSatisfies__NamedElement_EList();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.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.sysml16.requirements.TestCase
+	 * @generated
+	 */
+	EClass getTestCase();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.requirements.TestCase#getBase_Behavior()
+	 * @see #getTestCase()
+	 * @generated
+	 */
+	EReference getTestCase_Base_Behavior();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.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.sysml16.requirements.TestCase#getBase_Operation()
+	 * @see #getTestCase()
+	 * @generated
+	 */
+	EReference getTestCase_Base_Operation();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.requirements.Verify <em>Verify</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Verify</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirements.Verify
+	 * @generated
+	 */
+	EClass getVerify();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.requirements.Verify#getVerifies(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList) <em>Get Verifies</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Get Verifies</em>' operation.
+	 * @see org.eclipse.papyrus.sysml16.requirements.Verify#getVerifies(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList)
+	 * @generated
+	 */
+	EOperation getVerify__GetVerifies__NamedElement_EList();
+
+	/**
+	 * 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();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.CopyImpl <em>Copy</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.CopyImpl
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getCopy()
+		 * @generated
+		 */
+		EClass COPY = eINSTANCE.getCopy();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.TraceImpl <em>Trace</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.TraceImpl
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getTrace()
+		 * @generated
+		 */
+		EClass TRACE = eINSTANCE.getTrace();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Traced From</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation TRACE___GET_TRACED_FROM__NAMEDELEMENT_ELIST = eINSTANCE.getTrace__GetTracedFrom__NamedElement_EList();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementImpl <em>Requirement</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementImpl
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getRequirement()
+		 * @generated
+		 */
+		EClass REQUIREMENT = eINSTANCE.getRequirement();
+
+		/**
+		 * 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.sysml16.requirements.internal.impl.AbstractRequirementImpl <em>Abstract Requirement</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getAbstractRequirement()
+		 * @generated
+		 */
+		EClass ABSTRACT_REQUIREMENT = eINSTANCE.getAbstractRequirement();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ABSTRACT_REQUIREMENT__BASE_NAMED_ELEMENT = eINSTANCE.getAbstractRequirement_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '<em><b>Derived</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ABSTRACT_REQUIREMENT__DERIVED = eINSTANCE.getAbstractRequirement_Derived();
+
+		/**
+		 * The meta object literal for the '<em><b>Derived From</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ABSTRACT_REQUIREMENT__DERIVED_FROM = eINSTANCE.getAbstractRequirement_DerivedFrom();
+
+		/**
+		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ABSTRACT_REQUIREMENT__ID = eINSTANCE.getAbstractRequirement_Id();
+
+		/**
+		 * The meta object literal for the '<em><b>Master</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ABSTRACT_REQUIREMENT__MASTER = eINSTANCE.getAbstractRequirement_Master();
+
+		/**
+		 * The meta object literal for the '<em><b>Refined By</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ABSTRACT_REQUIREMENT__REFINED_BY = eINSTANCE.getAbstractRequirement_RefinedBy();
+
+		/**
+		 * The meta object literal for the '<em><b>Satisfied By</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ABSTRACT_REQUIREMENT__SATISFIED_BY = eINSTANCE.getAbstractRequirement_SatisfiedBy();
+
+		/**
+		 * The meta object literal for the '<em><b>Text</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ABSTRACT_REQUIREMENT__TEXT = eINSTANCE.getAbstractRequirement_Text();
+
+		/**
+		 * The meta object literal for the '<em><b>Traced To</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ABSTRACT_REQUIREMENT__TRACED_TO = eINSTANCE.getAbstractRequirement_TracedTo();
+
+		/**
+		 * The meta object literal for the '<em><b>Verified By</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ABSTRACT_REQUIREMENT__VERIFIED_BY = eINSTANCE.getAbstractRequirement_VerifiedBy();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Satisfied By</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ABSTRACT_REQUIREMENT___GET_SATISFIED_BY = eINSTANCE.getAbstractRequirement__GetSatisfiedBy();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Verified By</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ABSTRACT_REQUIREMENT___GET_VERIFIED_BY = eINSTANCE.getAbstractRequirement__GetVerifiedBy();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Traced To</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ABSTRACT_REQUIREMENT___GET_TRACED_TO = eINSTANCE.getAbstractRequirement__GetTracedTo();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Derived</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ABSTRACT_REQUIREMENT___GET_DERIVED = eINSTANCE.getAbstractRequirement__GetDerived();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Derived From</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ABSTRACT_REQUIREMENT___GET_DERIVED_FROM = eINSTANCE.getAbstractRequirement__GetDerivedFrom();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Refined By</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ABSTRACT_REQUIREMENT___GET_REFINED_BY = eINSTANCE.getAbstractRequirement__GetRefinedBy();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Master</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ABSTRACT_REQUIREMENT___GET_MASTER = eINSTANCE.getAbstractRequirement__GetMaster();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.DeriveReqtImpl <em>Derive Reqt</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.DeriveReqtImpl
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getDeriveReqt()
+		 * @generated
+		 */
+		EClass DERIVE_REQT = eINSTANCE.getDeriveReqt();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.RefineImpl <em>Refine</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RefineImpl
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getRefine()
+		 * @generated
+		 */
+		EClass REFINE = eINSTANCE.getRefine();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Refines</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation REFINE___GET_REFINES__NAMEDELEMENT_ELIST = eINSTANCE.getRefine__GetRefines__NamedElement_EList();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.SatisfyImpl <em>Satisfy</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.SatisfyImpl
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getSatisfy()
+		 * @generated
+		 */
+		EClass SATISFY = eINSTANCE.getSatisfy();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Satisfies</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation SATISFY___GET_SATISFIES__NAMEDELEMENT_ELIST = eINSTANCE.getSatisfy__GetSatisfies__NamedElement_EList();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.TestCaseImpl <em>Test Case</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.TestCaseImpl
+		 * @see org.eclipse.papyrus.sysml16.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 '{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.VerifyImpl <em>Verify</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.VerifyImpl
+		 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl#getVerify()
+		 * @generated
+		 */
+		EClass VERIFY = eINSTANCE.getVerify();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Verifies</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation VERIFY___GET_VERIFIES__NAMEDELEMENT_ELIST = eINSTANCE.getVerify__GetVerifies__NamedElement_EList();
+
+	}
+
+} //RequirementsPackage
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Satisfy.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Satisfy.java
new file mode 100644
index 0000000..f29fbc6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Satisfy.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Satisfy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A Satisfy relationship is a dependency between a requirement and a model element that fulfills the requirement. As with other dependencies, the arrow direction points from the satisfying (client) model element to the (supplier) requirement that is satisfied.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getSatisfy()
+ * @model
+ * @generated
+ */
+public interface Satisfy extends Trace {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model refRequired="true" refOrdered="false" resultMany="true" resultOrdered="false"
+	 * @generated
+	 */
+	void getSatisfies(NamedElement ref, EList<Requirement> result);
+
+} // Satisfy
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/TestCase.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/TestCase.java
new file mode 100644
index 0000000..cdaab4b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/TestCase.java
@@ -0,0 +1,94 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements;
+
+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 -->
+ *
+ * <!-- begin-model-doc -->
+ * A test case is a method for verifying a requirement is satisfied.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.TestCase#getBase_Behavior <em>Base Behavior</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.TestCase#getBase_Operation <em>Base Operation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.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.sysml16.requirements.RequirementsPackage#getTestCase_Base_Behavior()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Behavior getBase_Behavior();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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);
+
+	/**
+	 * 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.sysml16.requirements.RequirementsPackage#getTestCase_Base_Operation()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Operation getBase_Operation();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Trace.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Trace.java
new file mode 100644
index 0000000..7de9eea
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Trace.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Trace</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getTrace()
+ * @model
+ * @generated
+ */
+public interface Trace extends DirectedRelationshipPropertyPath, org.eclipse.uml2.uml.profile.standard.Trace {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model refRequired="true" refOrdered="false" resultMany="true" resultOrdered="false"
+	 * @generated
+	 */
+	void getTracedFrom(NamedElement ref, EList<Requirement> result);
+
+} // Trace
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Verify.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Verify.java
new file mode 100644
index 0000000..150c3b8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/Verify.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Verify</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A Verify relationship is a dependency between a requirement and a test case or other model element that can determine whether a system fulfills the requirement. As with other dependencies, the arrow direction points from the (client) element to the (supplier) requirement.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#getVerify()
+ * @model
+ * @generated
+ */
+public interface Verify extends Trace {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model refRequired="true" refOrdered="false" resultMany="true" resultOrdered="false"
+	 * @generated
+	 */
+	void getVerifies(NamedElement ref, EList<Requirement> result);
+
+} // Verify
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/AbstractRequirementImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/AbstractRequirementImpl.java
new file mode 100644
index 0000000..cbc20f5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/AbstractRequirementImpl.java
@@ -0,0 +1,518 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.internal.impl;
+
+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.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getDerived <em>Derived</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getDerivedFrom <em>Derived From</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getMaster <em>Master</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getRefinedBy <em>Refined By</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getSatisfiedBy <em>Satisfied By</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getText <em>Text</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getTracedTo <em>Traced To</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getVerifiedBy <em>Verified By</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class AbstractRequirementImpl extends MinimalEObjectImpl.Container implements AbstractRequirement {
+	/**
+	 * 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;
+
+	/**
+	 * 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 = ""; //$NON-NLS-1$
+
+	/**
+	 * 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 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 = ""; //$NON-NLS-1$
+
+	/**
+	 * 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;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AbstractRequirementImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsPackage.Literals.ABSTRACT_REQUIREMENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.ABSTRACT_REQUIREMENT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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.ABSTRACT_REQUIREMENT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<AbstractRequirement> getDerived() {
+		// TODO: implement this method to return the 'Derived' reference list
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<AbstractRequirement> getDerivedFrom() {
+		// TODO: implement this method to return the 'Derived From' reference list
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.ABSTRACT_REQUIREMENT__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<AbstractRequirement> getMaster() {
+		// TODO: implement this method to return the 'Master' reference list
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<NamedElement> getRefinedBy() {
+		// TODO: implement this method to return the 'Refined By' reference list
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- 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
+	 */
+	@Override
+	public EList<NamedElement> getSatisfiedBy() {
+		// TODO: implement this method to return the 'Satisfied By' reference list
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- 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
+	 */
+	@Override
+	public String getText() {
+		return text;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setText(String newText) {
+		String oldText = text;
+		text = newText;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.ABSTRACT_REQUIREMENT__TEXT, oldText, text));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<NamedElement> getTracedTo() {
+		// TODO: implement this method to return the 'Traced To' reference list
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- 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
+	 */
+	@Override
+	public EList<NamedElement> getVerifiedBy() {
+		// TODO: implement this method to return the 'Verified By' reference list
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- 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
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__BASE_NAMED_ELEMENT:
+				if (resolve) return getBase_NamedElement();
+				return basicGetBase_NamedElement();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__DERIVED:
+				return getDerived();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__DERIVED_FROM:
+				return getDerivedFrom();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__ID:
+				return getId();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__MASTER:
+				return getMaster();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__REFINED_BY:
+				return getRefinedBy();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__SATISFIED_BY:
+				return getSatisfiedBy();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__TEXT:
+				return getText();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__TRACED_TO:
+				return getTracedTo();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__VERIFIED_BY:
+				return getVerifiedBy();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__BASE_NAMED_ELEMENT:
+				setBase_NamedElement((NamedElement)newValue);
+				return;
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__ID:
+				setId((String)newValue);
+				return;
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__TEXT:
+				setText((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__BASE_NAMED_ELEMENT:
+				setBase_NamedElement((NamedElement)null);
+				return;
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__ID:
+				setId(ID_EDEFAULT);
+				return;
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__TEXT:
+				setText(TEXT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__BASE_NAMED_ELEMENT:
+				return base_NamedElement != null;
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__DERIVED:
+				return !getDerived().isEmpty();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__DERIVED_FROM:
+				return !getDerivedFrom().isEmpty();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__ID:
+				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__MASTER:
+				return !getMaster().isEmpty();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__REFINED_BY:
+				return !getRefinedBy().isEmpty();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__SATISFIED_BY:
+				return !getSatisfiedBy().isEmpty();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__TEXT:
+				return TEXT_EDEFAULT == null ? text != null : !TEXT_EDEFAULT.equals(text);
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__TRACED_TO:
+				return !getTracedTo().isEmpty();
+			case RequirementsPackage.ABSTRACT_REQUIREMENT__VERIFIED_BY:
+				return !getVerifiedBy().isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (id: "); //$NON-NLS-1$
+		result.append(id);
+		result.append(", text: "); //$NON-NLS-1$
+		result.append(text);
+		result.append(')');
+		return result.toString();
+	}
+
+} //AbstractRequirementImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/CopyImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/CopyImpl.java
new file mode 100644
index 0000000..6c459b5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/CopyImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.requirements.Copy;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Copy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class CopyImpl extends 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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/DeriveReqtImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/DeriveReqtImpl.java
new file mode 100644
index 0000000..f630287
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/DeriveReqtImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.requirements.DeriveReqt;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Derive Reqt</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DeriveReqtImpl extends 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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/RefineImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/RefineImpl.java
new file mode 100644
index 0000000..953b6f2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/RefineImpl.java
@@ -0,0 +1,239 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.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.papyrus.sysml16.blocks.internal.impl.DirectedRelationshipPropertyPathImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.Refine;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Refine</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.RefineImpl#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RefineImpl extends DirectedRelationshipPropertyPathImpl implements Refine {
+	/**
+	 * 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 RefineImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsPackage.Literals.REFINE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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, RequirementsPackage.REFINE__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+			}
+		}
+		return base_Abstraction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Abstraction basicGetBase_Abstraction() {
+		return base_Abstraction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Abstraction(Abstraction newBase_Abstraction) {
+		Abstraction oldBase_Abstraction = base_Abstraction;
+		base_Abstraction = newBase_Abstraction;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REFINE__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void getRefines(NamedElement ref, EList<Requirement> result) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RequirementsPackage.REFINE__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 void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RequirementsPackage.REFINE__BASE_ABSTRACTION:
+				setBase_Abstraction((Abstraction)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RequirementsPackage.REFINE__BASE_ABSTRACTION:
+				setBase_Abstraction((Abstraction)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RequirementsPackage.REFINE__BASE_ABSTRACTION:
+				return base_Abstraction != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == org.eclipse.uml2.uml.profile.standard.Refine.class) {
+			switch (derivedFeatureID) {
+				case RequirementsPackage.REFINE__BASE_ABSTRACTION: return StandardPackage.REFINE__BASE_ABSTRACTION;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == org.eclipse.uml2.uml.profile.standard.Refine.class) {
+			switch (baseFeatureID) {
+				case StandardPackage.REFINE__BASE_ABSTRACTION: return RequirementsPackage.REFINE__BASE_ABSTRACTION;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	@SuppressWarnings("unchecked")
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+			case RequirementsPackage.REFINE___GET_REFINES__NAMEDELEMENT_ELIST:
+				getRefines((NamedElement)arguments.get(0), (EList<Requirement>)arguments.get(1));
+				return null;
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+} //RefineImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/RequirementImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/RequirementImpl.java
new file mode 100644
index 0000000..9dad238
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/RequirementImpl.java
@@ -0,0 +1,168 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.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.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RequirementImpl extends AbstractRequirementImpl implements Requirement {
+	/**
+	 * 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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsPackage.Literals.REQUIREMENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			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 void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			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
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RequirementsPackage.REQUIREMENT__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RequirementsPackage.REQUIREMENT__BASE_CLASS:
+				return base_Class != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //RequirementImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/RequirementsFactoryImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/RequirementsFactoryImpl.java
new file mode 100644
index 0000000..cfc47f1
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/RequirementsFactoryImpl.java
@@ -0,0 +1,192 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.requirements.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RequirementsFactoryImpl extends EFactoryImpl implements RequirementsFactory {
+	/**
+	 * 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.COPY: return createCopy();
+			case RequirementsPackage.TRACE: return createTrace();
+			case RequirementsPackage.REQUIREMENT: return createRequirement();
+			case RequirementsPackage.DERIVE_REQT: return createDeriveReqt();
+			case RequirementsPackage.REFINE: return createRefine();
+			case RequirementsPackage.SATISFY: return createSatisfy();
+			case RequirementsPackage.TEST_CASE: return createTestCase();
+			case RequirementsPackage.VERIFY: return createVerify();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Copy createCopy() {
+		CopyImpl copy = new CopyImpl();
+		return copy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Trace createTrace() {
+		TraceImpl trace = new TraceImpl();
+		return trace;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Requirement createRequirement() {
+		RequirementImpl requirement = new RequirementImpl();
+		return requirement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public DeriveReqt createDeriveReqt() {
+		DeriveReqtImpl deriveReqt = new DeriveReqtImpl();
+		return deriveReqt;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Refine createRefine() {
+		RefineImpl refine = new RefineImpl();
+		return refine;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Satisfy createSatisfy() {
+		SatisfyImpl satisfy = new SatisfyImpl();
+		return satisfy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public TestCase createTestCase() {
+		TestCaseImpl testCase = new TestCaseImpl();
+		return testCase;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Verify createVerify() {
+		VerifyImpl verify = new VerifyImpl();
+		return verify;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public RequirementsPackage getRequirementsPackage() {
+		return (RequirementsPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static RequirementsPackage getPackage() {
+		return RequirementsPackage.eINSTANCE;
+	}
+
+} //RequirementsFactoryImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/RequirementsPackageImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/RequirementsPackageImpl.java
new file mode 100644
index 0000000..7dc0e97
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/RequirementsPackageImpl.java
@@ -0,0 +1,775 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.internal.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.Copy;
+import org.eclipse.papyrus.sysml16.requirements.DeriveReqt;
+import org.eclipse.papyrus.sysml16.requirements.Refine;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsFactory;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.requirements.Satisfy;
+import org.eclipse.papyrus.sysml16.requirements.TestCase;
+import org.eclipse.papyrus.sysml16.requirements.Trace;
+import org.eclipse.papyrus.sysml16.requirements.Verify;
+
+import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
+
+import org.eclipse.papyrus.sysml16.sysml.internal.impl.SysMLPackageImpl;
+
+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 EClass copyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass traceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass requirementEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass abstractRequirementEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass deriveReqtEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass refineEClass = 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 verifyEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml16.requirements.RequirementsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private RequirementsPackageImpl() {
+		super(eNS_URI, RequirementsFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link 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
+		Object registeredRequirementsPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		RequirementsPackageImpl theRequirementsPackage = registeredRequirementsPackage instanceof RequirementsPackageImpl ? (RequirementsPackageImpl)registeredRequirementsPackage : new RequirementsPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		StandardPackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SysMLPackage.eNS_URI);
+		SysMLPackageImpl theSysMLPackage = (SysMLPackageImpl)(registeredPackage instanceof SysMLPackageImpl ? registeredPackage : SysMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl)(registeredPackage instanceof ActivitiesPackageImpl ? registeredPackage : ActivitiesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl)(registeredPackage instanceof AllocationsPackageImpl ? registeredPackage : AllocationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl)(registeredPackage instanceof BlocksPackageImpl ? registeredPackage : BlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConstraintBlocksPackage.eNS_URI);
+		ConstraintBlocksPackageImpl theConstraintBlocksPackage = (ConstraintBlocksPackageImpl)(registeredPackage instanceof ConstraintBlocksPackageImpl ? registeredPackage : ConstraintBlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DeprecatedElementsPackage.eNS_URI);
+		DeprecatedElementsPackageImpl theDeprecatedElementsPackage = (DeprecatedElementsPackageImpl)(registeredPackage instanceof DeprecatedElementsPackageImpl ? registeredPackage : DeprecatedElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(PortsAndFlowsPackage.eNS_URI);
+		PortsAndFlowsPackageImpl thePortsAndFlowsPackage = (PortsAndFlowsPackageImpl)(registeredPackage instanceof PortsAndFlowsPackageImpl ? registeredPackage : PortsAndFlowsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModelElementsPackage.eNS_URI);
+		ModelElementsPackageImpl theModelElementsPackage = (ModelElementsPackageImpl)(registeredPackage instanceof ModelElementsPackageImpl ? registeredPackage : ModelElementsPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theRequirementsPackage.createPackageContents();
+		theSysMLPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		theConstraintBlocksPackage.createPackageContents();
+		theDeprecatedElementsPackage.createPackageContents();
+		thePortsAndFlowsPackage.createPackageContents();
+		theModelElementsPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theRequirementsPackage.initializePackageContents();
+		theSysMLPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		theConstraintBlocksPackage.initializePackageContents();
+		theDeprecatedElementsPackage.initializePackageContents();
+		thePortsAndFlowsPackage.initializePackageContents();
+		theModelElementsPackage.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
+	 */
+	@Override
+	public EClass getCopy() {
+		return copyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getTrace() {
+		return traceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getTrace__GetTracedFrom__NamedElement_EList() {
+		return traceEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getRequirement() {
+		return requirementEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getRequirement_Base_Class() {
+		return (EReference)requirementEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getAbstractRequirement() {
+		return abstractRequirementEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAbstractRequirement_Base_NamedElement() {
+		return (EReference)abstractRequirementEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAbstractRequirement_Derived() {
+		return (EReference)abstractRequirementEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAbstractRequirement_DerivedFrom() {
+		return (EReference)abstractRequirementEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getAbstractRequirement_Id() {
+		return (EAttribute)abstractRequirementEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAbstractRequirement_Master() {
+		return (EReference)abstractRequirementEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAbstractRequirement_RefinedBy() {
+		return (EReference)abstractRequirementEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAbstractRequirement_SatisfiedBy() {
+		return (EReference)abstractRequirementEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getAbstractRequirement_Text() {
+		return (EAttribute)abstractRequirementEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAbstractRequirement_TracedTo() {
+		return (EReference)abstractRequirementEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getAbstractRequirement_VerifiedBy() {
+		return (EReference)abstractRequirementEClass.getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getAbstractRequirement__GetSatisfiedBy() {
+		return abstractRequirementEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getAbstractRequirement__GetVerifiedBy() {
+		return abstractRequirementEClass.getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getAbstractRequirement__GetTracedTo() {
+		return abstractRequirementEClass.getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getAbstractRequirement__GetDerived() {
+		return abstractRequirementEClass.getEOperations().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getAbstractRequirement__GetDerivedFrom() {
+		return abstractRequirementEClass.getEOperations().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getAbstractRequirement__GetRefinedBy() {
+		return abstractRequirementEClass.getEOperations().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getAbstractRequirement__GetMaster() {
+		return abstractRequirementEClass.getEOperations().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDeriveReqt() {
+		return deriveReqtEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getRefine() {
+		return refineEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getRefine__GetRefines__NamedElement_EList() {
+		return refineEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getSatisfy() {
+		return satisfyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getSatisfy__GetSatisfies__NamedElement_EList() {
+		return satisfyEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getTestCase() {
+		return testCaseEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getTestCase_Base_Behavior() {
+		return (EReference)testCaseEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getTestCase_Base_Operation() {
+		return (EReference)testCaseEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getVerify() {
+		return verifyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getVerify__GetVerifies__NamedElement_EList() {
+		return verifyEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public RequirementsFactory getRequirementsFactory() {
+		return (RequirementsFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		copyEClass = createEClass(COPY);
+
+		traceEClass = createEClass(TRACE);
+		createEOperation(traceEClass, TRACE___GET_TRACED_FROM__NAMEDELEMENT_ELIST);
+
+		requirementEClass = createEClass(REQUIREMENT);
+		createEReference(requirementEClass, REQUIREMENT__BASE_CLASS);
+
+		abstractRequirementEClass = createEClass(ABSTRACT_REQUIREMENT);
+		createEReference(abstractRequirementEClass, ABSTRACT_REQUIREMENT__BASE_NAMED_ELEMENT);
+		createEReference(abstractRequirementEClass, ABSTRACT_REQUIREMENT__DERIVED);
+		createEReference(abstractRequirementEClass, ABSTRACT_REQUIREMENT__DERIVED_FROM);
+		createEAttribute(abstractRequirementEClass, ABSTRACT_REQUIREMENT__ID);
+		createEReference(abstractRequirementEClass, ABSTRACT_REQUIREMENT__MASTER);
+		createEReference(abstractRequirementEClass, ABSTRACT_REQUIREMENT__REFINED_BY);
+		createEReference(abstractRequirementEClass, ABSTRACT_REQUIREMENT__SATISFIED_BY);
+		createEAttribute(abstractRequirementEClass, ABSTRACT_REQUIREMENT__TEXT);
+		createEReference(abstractRequirementEClass, ABSTRACT_REQUIREMENT__TRACED_TO);
+		createEReference(abstractRequirementEClass, ABSTRACT_REQUIREMENT__VERIFIED_BY);
+		createEOperation(abstractRequirementEClass, ABSTRACT_REQUIREMENT___GET_SATISFIED_BY);
+		createEOperation(abstractRequirementEClass, ABSTRACT_REQUIREMENT___GET_VERIFIED_BY);
+		createEOperation(abstractRequirementEClass, ABSTRACT_REQUIREMENT___GET_TRACED_TO);
+		createEOperation(abstractRequirementEClass, ABSTRACT_REQUIREMENT___GET_DERIVED);
+		createEOperation(abstractRequirementEClass, ABSTRACT_REQUIREMENT___GET_DERIVED_FROM);
+		createEOperation(abstractRequirementEClass, ABSTRACT_REQUIREMENT___GET_REFINED_BY);
+		createEOperation(abstractRequirementEClass, ABSTRACT_REQUIREMENT___GET_MASTER);
+
+		deriveReqtEClass = createEClass(DERIVE_REQT);
+
+		refineEClass = createEClass(REFINE);
+		createEOperation(refineEClass, REFINE___GET_REFINES__NAMEDELEMENT_ELIST);
+
+		satisfyEClass = createEClass(SATISFY);
+		createEOperation(satisfyEClass, SATISFY___GET_SATISFIES__NAMEDELEMENT_ELIST);
+
+		testCaseEClass = createEClass(TEST_CASE);
+		createEReference(testCaseEClass, TEST_CASE__BASE_BEHAVIOR);
+		createEReference(testCaseEClass, TEST_CASE__BASE_OPERATION);
+
+		verifyEClass = createEClass(VERIFY);
+		createEOperation(verifyEClass, VERIFY___GET_VERIFIES__NAMEDELEMENT_ELIST);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		BlocksPackage theBlocksPackage = (BlocksPackage)EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		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
+		copyEClass.getESuperTypes().add(this.getTrace());
+		traceEClass.getESuperTypes().add(theBlocksPackage.getDirectedRelationshipPropertyPath());
+		traceEClass.getESuperTypes().add(theStandardPackage.getTrace());
+		requirementEClass.getESuperTypes().add(this.getAbstractRequirement());
+		deriveReqtEClass.getESuperTypes().add(this.getTrace());
+		refineEClass.getESuperTypes().add(theBlocksPackage.getDirectedRelationshipPropertyPath());
+		refineEClass.getESuperTypes().add(theStandardPackage.getRefine());
+		satisfyEClass.getESuperTypes().add(this.getTrace());
+		verifyEClass.getESuperTypes().add(this.getTrace());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(copyEClass, Copy.class, "Copy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(traceEClass, Trace.class, "Trace", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		EOperation op = initEOperation(getTrace__GetTracedFrom__NamedElement_EList(), null, "getTracedFrom", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getNamedElement(), "ref", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, this.getRequirement(), "result", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(requirementEClass, Requirement.class, "Requirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getRequirement_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, Requirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(abstractRequirementEClass, AbstractRequirement.class, "AbstractRequirement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getAbstractRequirement_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, AbstractRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getAbstractRequirement_Derived(), this.getAbstractRequirement(), null, "derived", null, 0, -1, AbstractRequirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getAbstractRequirement_DerivedFrom(), this.getAbstractRequirement(), null, "derivedFrom", null, 0, -1, AbstractRequirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getAbstractRequirement_Id(), theTypesPackage.getString(), "id", "", 1, 1, AbstractRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEReference(getAbstractRequirement_Master(), this.getAbstractRequirement(), null, "master", null, 0, -1, AbstractRequirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getAbstractRequirement_RefinedBy(), theUMLPackage.getNamedElement(), null, "refinedBy", null, 0, -1, AbstractRequirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getAbstractRequirement_SatisfiedBy(), theUMLPackage.getNamedElement(), null, "satisfiedBy", null, 0, -1, AbstractRequirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getAbstractRequirement_Text(), theTypesPackage.getString(), "text", "", 1, 1, AbstractRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEReference(getAbstractRequirement_TracedTo(), theUMLPackage.getNamedElement(), null, "tracedTo", null, 0, -1, AbstractRequirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getAbstractRequirement_VerifiedBy(), theUMLPackage.getNamedElement(), null, "verifiedBy", null, 0, -1, AbstractRequirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEOperation(getAbstractRequirement__GetSatisfiedBy(), theUMLPackage.getNamedElement(), "getSatisfiedBy", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEOperation(getAbstractRequirement__GetVerifiedBy(), theUMLPackage.getNamedElement(), "getVerifiedBy", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEOperation(getAbstractRequirement__GetTracedTo(), theUMLPackage.getNamedElement(), "getTracedTo", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEOperation(getAbstractRequirement__GetDerived(), this.getAbstractRequirement(), "getDerived", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEOperation(getAbstractRequirement__GetDerivedFrom(), this.getAbstractRequirement(), "getDerivedFrom", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEOperation(getAbstractRequirement__GetRefinedBy(), theUMLPackage.getNamedElement(), "getRefinedBy", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEOperation(getAbstractRequirement__GetMaster(), this.getAbstractRequirement(), "getMaster", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(deriveReqtEClass, DeriveReqt.class, "DeriveReqt", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(refineEClass, Refine.class, "Refine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		op = initEOperation(getRefine__GetRefines__NamedElement_EList(), null, "getRefines", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getNamedElement(), "ref", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, this.getRequirement(), "result", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(satisfyEClass, Satisfy.class, "Satisfy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		op = initEOperation(getSatisfy__GetSatisfies__NamedElement_EList(), null, "getSatisfies", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getNamedElement(), "ref", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, this.getRequirement(), "result", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(testCaseEClass, TestCase.class, "TestCase", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getTestCase_Base_Behavior(), theUMLPackage.getBehavior(), null, "base_Behavior", null, 0, 1, TestCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getTestCase_Base_Operation(), theUMLPackage.getOperation(), null, "base_Operation", null, 0, 1, TestCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(verifyEClass, Verify.class, "Verify", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		op = initEOperation(getVerify__GetVerifies__NamedElement_EList(), null, "getVerifies", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, theUMLPackage.getNamedElement(), "ref", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, this.getRequirement(), "result", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		// Create annotations
+		// http://www.eclipse.org/uml2/2.0.0/UML
+		createUMLAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createUMLAnnotations() {
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$
+		addAnnotation
+		  (this,
+		   source,
+		   new String[] {
+			   "originalName", "Requirements" //$NON-NLS-1$ //$NON-NLS-2$
+		   });
+	}
+
+} //RequirementsPackageImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/SatisfyImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/SatisfyImpl.java
new file mode 100644
index 0000000..010cd8f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/SatisfyImpl.java
@@ -0,0 +1,82 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.requirements.Satisfy;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Satisfy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class SatisfyImpl extends 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;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void getSatisfies(NamedElement ref, EList<Requirement> result) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	@SuppressWarnings("unchecked")
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+			case RequirementsPackage.SATISFY___GET_SATISFIES__NAMEDELEMENT_ELIST:
+				getSatisfies((NamedElement)arguments.get(0), (EList<Requirement>)arguments.get(1));
+				return null;
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+} //SatisfyImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/TestCaseImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/TestCaseImpl.java
new file mode 100644
index 0000000..af9e89f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/TestCaseImpl.java
@@ -0,0 +1,234 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.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.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.requirements.TestCase;
+
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Operation;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Test Case</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.TestCaseImpl#getBase_Behavior <em>Base Behavior</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.TestCaseImpl#getBase_Operation <em>Base Operation</em>}</li>
+ * </ul>
+ *
+ * @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
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsPackage.Literals.TEST_CASE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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 Behavior basicGetBase_Behavior() {
+		return base_Behavior;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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
+	 */
+	@Override
+	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
+	 */
+	public Operation basicGetBase_Operation() {
+		return base_Operation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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));
+	}
+
+	/**
+	 * <!-- 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();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- 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
+	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
+	 */
+	@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;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //TestCaseImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/TraceImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/TraceImpl.java
new file mode 100644
index 0000000..6fda10b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/TraceImpl.java
@@ -0,0 +1,239 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.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.papyrus.sysml16.blocks.internal.impl.DirectedRelationshipPropertyPathImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.requirements.Trace;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Trace</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirements.internal.impl.TraceImpl#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TraceImpl extends DirectedRelationshipPropertyPathImpl implements Trace {
+	/**
+	 * 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 TraceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsPackage.Literals.TRACE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	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, RequirementsPackage.TRACE__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+			}
+		}
+		return base_Abstraction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Abstraction basicGetBase_Abstraction() {
+		return base_Abstraction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Abstraction(Abstraction newBase_Abstraction) {
+		Abstraction oldBase_Abstraction = base_Abstraction;
+		base_Abstraction = newBase_Abstraction;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.TRACE__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void getTracedFrom(NamedElement ref, EList<Requirement> result) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RequirementsPackage.TRACE__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 void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RequirementsPackage.TRACE__BASE_ABSTRACTION:
+				setBase_Abstraction((Abstraction)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RequirementsPackage.TRACE__BASE_ABSTRACTION:
+				setBase_Abstraction((Abstraction)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RequirementsPackage.TRACE__BASE_ABSTRACTION:
+				return base_Abstraction != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == org.eclipse.uml2.uml.profile.standard.Trace.class) {
+			switch (derivedFeatureID) {
+				case RequirementsPackage.TRACE__BASE_ABSTRACTION: return StandardPackage.TRACE__BASE_ABSTRACTION;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == org.eclipse.uml2.uml.profile.standard.Trace.class) {
+			switch (baseFeatureID) {
+				case StandardPackage.TRACE__BASE_ABSTRACTION: return RequirementsPackage.TRACE__BASE_ABSTRACTION;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	@SuppressWarnings("unchecked")
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+			case RequirementsPackage.TRACE___GET_TRACED_FROM__NAMEDELEMENT_ELIST:
+				getTracedFrom((NamedElement)arguments.get(0), (EList<Requirement>)arguments.get(1));
+				return null;
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+} //TraceImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/VerifyImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/VerifyImpl.java
new file mode 100644
index 0000000..d6c703a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/internal/impl/VerifyImpl.java
@@ -0,0 +1,82 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.requirements.Verify;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Verify</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class VerifyImpl extends 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;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void getVerifies(NamedElement ref, EList<Requirement> result) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	@SuppressWarnings("unchecked")
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+			case RequirementsPackage.VERIFY___GET_VERIFIES__NAMEDELEMENT_ELIST:
+				getVerifies((NamedElement)arguments.get(0), (EList<Requirement>)arguments.get(1));
+				return null;
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+} //VerifyImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/util/RequirementsAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/util/RequirementsAdapterFactory.java
new file mode 100644
index 0000000..cd75445
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/util/RequirementsAdapterFactory.java
@@ -0,0 +1,331 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.DirectedRelationshipPropertyPath;
+
+import org.eclipse.papyrus.sysml16.requirements.*;
+
+/**
+ * <!-- 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.sysml16.requirements.RequirementsPackage
+ * @generated
+ */
+public class RequirementsAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static RequirementsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RequirementsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = RequirementsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RequirementsSwitch<Adapter> modelSwitch =
+		new RequirementsSwitch<Adapter>() {
+			@Override
+			public Adapter caseCopy(Copy object) {
+				return createCopyAdapter();
+			}
+			@Override
+			public Adapter caseTrace(Trace object) {
+				return createTraceAdapter();
+			}
+			@Override
+			public Adapter caseRequirement(Requirement object) {
+				return createRequirementAdapter();
+			}
+			@Override
+			public Adapter caseAbstractRequirement(AbstractRequirement object) {
+				return createAbstractRequirementAdapter();
+			}
+			@Override
+			public Adapter caseDeriveReqt(DeriveReqt object) {
+				return createDeriveReqtAdapter();
+			}
+			@Override
+			public Adapter caseRefine(Refine object) {
+				return createRefineAdapter();
+			}
+			@Override
+			public Adapter caseSatisfy(Satisfy object) {
+				return createSatisfyAdapter();
+			}
+			@Override
+			public Adapter caseTestCase(TestCase object) {
+				return createTestCaseAdapter();
+			}
+			@Override
+			public Adapter caseVerify(Verify object) {
+				return createVerifyAdapter();
+			}
+			@Override
+			public Adapter caseDirectedRelationshipPropertyPath(DirectedRelationshipPropertyPath object) {
+				return createDirectedRelationshipPropertyPathAdapter();
+			}
+			@Override
+			public Adapter caseStandard_Trace(org.eclipse.uml2.uml.profile.standard.Trace object) {
+				return createStandard_TraceAdapter();
+			}
+			@Override
+			public Adapter caseStandard_Refine(org.eclipse.uml2.uml.profile.standard.Refine object) {
+				return createStandard_RefineAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.requirements.Copy
+	 * @generated
+	 */
+	public Adapter createCopyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.requirements.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.sysml16.requirements.Trace
+	 * @generated
+	 */
+	public Adapter createTraceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.requirements.Requirement
+	 * @generated
+	 */
+	public Adapter createRequirementAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement <em>Abstract 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.sysml16.requirements.AbstractRequirement
+	 * @generated
+	 */
+	public Adapter createAbstractRequirementAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.requirements.DeriveReqt
+	 * @generated
+	 */
+	public Adapter createDeriveReqtAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.requirements.Refine <em>Refine</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.sysml16.requirements.Refine
+	 * @generated
+	 */
+	public Adapter createRefineAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.requirements.Satisfy
+	 * @generated
+	 */
+	public Adapter createSatisfyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.requirements.TestCase
+	 * @generated
+	 */
+	public Adapter createTestCaseAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.requirements.Verify
+	 * @generated
+	 */
+	public Adapter createVerifyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath <em>Directed Relationship Property Path</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.sysml16.blocks.DirectedRelationshipPropertyPath
+	 * @generated
+	 */
+	public Adapter createDirectedRelationshipPropertyPathAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.uml2.uml.profile.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.uml2.uml.profile.standard.Trace
+	 * @generated
+	 */
+	public Adapter createStandard_TraceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.uml2.uml.profile.standard.Refine <em>Refine</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.uml2.uml.profile.standard.Refine
+	 * @generated
+	 */
+	public Adapter createStandard_RefineAdapter() {
+		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;
+	}
+
+} //RequirementsAdapterFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/util/RequirementsSwitch.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/util/RequirementsSwitch.java
new file mode 100644
index 0000000..0220dea
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/requirements/util/RequirementsSwitch.java
@@ -0,0 +1,353 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.blocks.DirectedRelationshipPropertyPath;
+
+import org.eclipse.papyrus.sysml16.requirements.*;
+
+/**
+ * <!-- 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.sysml16.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 -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case RequirementsPackage.COPY: {
+				Copy copy = (Copy)theEObject;
+				T result = caseCopy(copy);
+				if (result == null) result = caseTrace(copy);
+				if (result == null) result = caseDirectedRelationshipPropertyPath(copy);
+				if (result == null) result = caseStandard_Trace(copy);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RequirementsPackage.TRACE: {
+				Trace trace = (Trace)theEObject;
+				T result = caseTrace(trace);
+				if (result == null) result = caseDirectedRelationshipPropertyPath(trace);
+				if (result == null) result = caseStandard_Trace(trace);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RequirementsPackage.REQUIREMENT: {
+				Requirement requirement = (Requirement)theEObject;
+				T result = caseRequirement(requirement);
+				if (result == null) result = caseAbstractRequirement(requirement);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RequirementsPackage.ABSTRACT_REQUIREMENT: {
+				AbstractRequirement abstractRequirement = (AbstractRequirement)theEObject;
+				T result = caseAbstractRequirement(abstractRequirement);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RequirementsPackage.DERIVE_REQT: {
+				DeriveReqt deriveReqt = (DeriveReqt)theEObject;
+				T result = caseDeriveReqt(deriveReqt);
+				if (result == null) result = caseTrace(deriveReqt);
+				if (result == null) result = caseDirectedRelationshipPropertyPath(deriveReqt);
+				if (result == null) result = caseStandard_Trace(deriveReqt);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RequirementsPackage.REFINE: {
+				Refine refine = (Refine)theEObject;
+				T result = caseRefine(refine);
+				if (result == null) result = caseDirectedRelationshipPropertyPath(refine);
+				if (result == null) result = caseStandard_Refine(refine);
+				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 = caseDirectedRelationshipPropertyPath(satisfy);
+				if (result == null) result = caseStandard_Trace(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.VERIFY: {
+				Verify verify = (Verify)theEObject;
+				T result = caseVerify(verify);
+				if (result == null) result = caseTrace(verify);
+				if (result == null) result = caseDirectedRelationshipPropertyPath(verify);
+				if (result == null) result = caseStandard_Trace(verify);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * 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>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(Trace 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>Abstract 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>Abstract Requirement</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAbstractRequirement(AbstractRequirement 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>Refine</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>Refine</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRefine(Refine 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>Directed Relationship Property Path</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>Directed Relationship Property Path</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDirectedRelationshipPropertyPath(DirectedRelationshipPropertyPath 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 caseStandard_Trace(org.eclipse.uml2.uml.profile.standard.Trace object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Refine</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>Refine</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStandard_Refine(org.eclipse.uml2.uml.profile.standard.Refine 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;
+	}
+
+} //RequirementsSwitch
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/Dummy.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/Dummy.java
new file mode 100644
index 0000000..8743fa9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/Dummy.java
@@ -0,0 +1,176 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.sysml;
+
+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>Dummy</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.sysml.SysMLPackage#getDummy()
+ * @model
+ * @generated
+ */
+public enum Dummy implements Enumerator {
+	;
+
+	/**
+	 * An array of all the '<em><b>Dummy</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final Dummy[] VALUES_ARRAY =
+		new Dummy[] {
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Dummy</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<Dummy> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Dummy</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static Dummy get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			Dummy result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Dummy</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static Dummy getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			Dummy result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Dummy</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static Dummy get(int value) {
+		switch (value) {
+		}
+		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 Dummy(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * 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;
+	}
+	
+} //Dummy
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/SysMLFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/SysMLFactory.java
new file mode 100644
index 0000000..65c6793
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/SysMLFactory.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.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.sysml16.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/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/SysMLPackage.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/SysMLPackage.java
new file mode 100644
index 0000000..a163de3
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/SysMLPackage.java
@@ -0,0 +1,125 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.sysml;
+
+import org.eclipse.emf.ecore.EEnum;
+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 operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.sysml.SysMLFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='SysML'"
+ * @generated
+ */
+public interface SysMLPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "sysml"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/sysml/1.6/SysML"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "SysML"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	SysMLPackage eINSTANCE = org.eclipse.papyrus.sysml16.sysml.internal.impl.SysMLPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.sysml.Dummy <em>Dummy</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.sysml.Dummy
+	 * @see org.eclipse.papyrus.sysml16.sysml.internal.impl.SysMLPackageImpl#getDummy()
+	 * @generated
+	 */
+	int DUMMY = 0;
+
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.papyrus.sysml16.sysml.Dummy <em>Dummy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Dummy</em>'.
+	 * @see org.eclipse.papyrus.sysml16.sysml.Dummy
+	 * @generated
+	 */
+	EEnum 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();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.sysml.Dummy <em>Dummy</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.sysml.Dummy
+		 * @see org.eclipse.papyrus.sysml16.sysml.internal.impl.SysMLPackageImpl#getDummy()
+		 * @generated
+		 */
+		EEnum DUMMY = eINSTANCE.getDummy();
+
+	}
+
+} //SysMLPackage
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/internal/impl/SysMLFactoryImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/internal/impl/SysMLFactoryImpl.java
new file mode 100644
index 0000000..3d8f6e4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/internal/impl/SysMLFactoryImpl.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.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.sysml16.sysml.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SysMLFactoryImpl extends EFactoryImpl implements SysMLFactory {
+	/**
+	 * 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
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- 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"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- 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"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Dummy createDummyFromString(EDataType eDataType, String initialValue) {
+		Dummy result = Dummy.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertDummyToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public SysMLPackage getSysMLPackage() {
+		return (SysMLPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static SysMLPackage getPackage() {
+		return SysMLPackage.eINSTANCE;
+	}
+
+} //SysMLFactoryImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/internal/impl/SysMLPackageImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/internal/impl/SysMLPackageImpl.java
new file mode 100644
index 0000000..685c2f8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/sysml/internal/impl/SysMLPackageImpl.java
@@ -0,0 +1,291 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.sysml.internal.impl;
+
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+import org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.sysml.Dummy;
+import org.eclipse.papyrus.sysml16.sysml.SysMLFactory;
+import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
+
+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 SysMLPackageImpl extends EPackageImpl implements SysMLPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum dummyEEnum = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml16.sysml.SysMLPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private SysMLPackageImpl() {
+		super(eNS_URI, SysMLFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link 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
+		Object registeredSysMLPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		SysMLPackageImpl theSysMLPackage = registeredSysMLPackage instanceof SysMLPackageImpl ? (SysMLPackageImpl)registeredSysMLPackage : new SysMLPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		StandardPackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl)(registeredPackage instanceof ActivitiesPackageImpl ? registeredPackage : ActivitiesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl)(registeredPackage instanceof AllocationsPackageImpl ? registeredPackage : AllocationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl)(registeredPackage instanceof BlocksPackageImpl ? registeredPackage : BlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConstraintBlocksPackage.eNS_URI);
+		ConstraintBlocksPackageImpl theConstraintBlocksPackage = (ConstraintBlocksPackageImpl)(registeredPackage instanceof ConstraintBlocksPackageImpl ? registeredPackage : ConstraintBlocksPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DeprecatedElementsPackage.eNS_URI);
+		DeprecatedElementsPackageImpl theDeprecatedElementsPackage = (DeprecatedElementsPackageImpl)(registeredPackage instanceof DeprecatedElementsPackageImpl ? registeredPackage : DeprecatedElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(PortsAndFlowsPackage.eNS_URI);
+		PortsAndFlowsPackageImpl thePortsAndFlowsPackage = (PortsAndFlowsPackageImpl)(registeredPackage instanceof PortsAndFlowsPackageImpl ? registeredPackage : PortsAndFlowsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModelElementsPackage.eNS_URI);
+		ModelElementsPackageImpl theModelElementsPackage = (ModelElementsPackageImpl)(registeredPackage instanceof ModelElementsPackageImpl ? registeredPackage : ModelElementsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(registeredPackage instanceof RequirementsPackageImpl ? registeredPackage : RequirementsPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theSysMLPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		theConstraintBlocksPackage.createPackageContents();
+		theDeprecatedElementsPackage.createPackageContents();
+		thePortsAndFlowsPackage.createPackageContents();
+		theModelElementsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theSysMLPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		theConstraintBlocksPackage.initializePackageContents();
+		theDeprecatedElementsPackage.initializePackageContents();
+		thePortsAndFlowsPackage.initializePackageContents();
+		theModelElementsPackage.initializePackageContents();
+		theRequirementsPackage.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
+	 */
+	@Override
+	public EEnum getDummy() {
+		return dummyEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public SysMLFactory getSysMLFactory() {
+		return (SysMLFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create enums
+		dummyEEnum = createEEnum(DUMMY);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		ActivitiesPackage theActivitiesPackage = (ActivitiesPackage)EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI);
+		AllocationsPackage theAllocationsPackage = (AllocationsPackage)EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI);
+		BlocksPackage theBlocksPackage = (BlocksPackage)EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		ConstraintBlocksPackage theConstraintBlocksPackage = (ConstraintBlocksPackage)EPackage.Registry.INSTANCE.getEPackage(ConstraintBlocksPackage.eNS_URI);
+		DeprecatedElementsPackage theDeprecatedElementsPackage = (DeprecatedElementsPackage)EPackage.Registry.INSTANCE.getEPackage(DeprecatedElementsPackage.eNS_URI);
+		PortsAndFlowsPackage thePortsAndFlowsPackage = (PortsAndFlowsPackage)EPackage.Registry.INSTANCE.getEPackage(PortsAndFlowsPackage.eNS_URI);
+		ModelElementsPackage theModelElementsPackage = (ModelElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ModelElementsPackage.eNS_URI);
+		RequirementsPackage theRequirementsPackage = (RequirementsPackage)EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+
+		// Add subpackages
+		getESubpackages().add(theActivitiesPackage);
+		getESubpackages().add(theAllocationsPackage);
+		getESubpackages().add(theBlocksPackage);
+		getESubpackages().add(theConstraintBlocksPackage);
+		getESubpackages().add(theDeprecatedElementsPackage);
+		getESubpackages().add(thePortsAndFlowsPackage);
+		getESubpackages().add(theModelElementsPackage);
+		getESubpackages().add(theRequirementsPackage);
+
+		// Initialize enums and add enum literals
+		initEEnum(dummyEEnum, Dummy.class, "Dummy"); //$NON-NLS-1$
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http://www.eclipse.org/uml2/2.0.0/UML
+		createUMLAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createUMLAnnotations() {
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$
+		addAnnotation
+		  (this,
+		   source,
+		   new String[] {
+			   "originalName", "SysML" //$NON-NLS-1$ //$NON-NLS-2$
+		   });
+	}
+
+} //SysMLPackageImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/Activator.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/Activator.java
new file mode 100644
index 0000000..9bb2844
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/Activator.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16;
+
+import org.eclipse.core.runtime.Plugin;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends Plugin {
+
+	/**
+	 * The plug-in ID.
+	 */
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.sysml16"; //$NON-NLS-1$
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/blocks/BlockCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/blocks/BlockCustomImpl.java
new file mode 100644
index 0000000..5ef1417
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/blocks/BlockCustomImpl.java
@@ -0,0 +1,107 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.blocks;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlockImpl;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+
+/**
+ * 
+ */
+public class BlockCustomImpl extends BlockImpl {
+
+	/**
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlockImpl#getReferences()
+	 *
+	 * @return the list of Property linked
+	 */
+	@Override
+	public EList<Property> getReferences() { 
+		BasicEList<Property> propertyEList = new BasicEList<>();
+	
+		if (getBase_Class() != null) {
+			EList<Property> ownedAttributes = getBase_Class().getOwnedAttributes(); 
+			for (Property property : ownedAttributes) {
+				if (org.eclipse.uml2.uml.AggregationKind.COMPOSITE!=property.getAggregation().getValue()) { 
+					Type type = property.getType();
+					Block stereotypeApplication = UMLUtil.getStereotypeApplication(type, Block.class);
+					if (stereotypeApplication != null){
+						propertyEList.add(property);
+					}
+				}
+			}
+		}
+
+		return new BasicEList.UnmodifiableEList<>(propertyEList.size(), propertyEList.toArray());
+	}
+	
+	/**
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlockImpl#getParts()
+	 *
+	 * @return the list of Property linked
+	 */
+	@Override
+	public EList<Property> getParts() { 
+		BasicEList<Property> propertyEList = new BasicEList<>();
+	
+		if (getBase_Class() != null) {
+			EList<Property> ownedAttributes = getBase_Class().getOwnedAttributes(); 
+			for (Property property : ownedAttributes) {
+				if (org.eclipse.uml2.uml.AggregationKind.COMPOSITE==property.getAggregation().getValue()) { 
+					Type type = property.getType();
+					Block stereotypeApplication = UMLUtil.getStereotypeApplication(type, Block.class);
+					if (stereotypeApplication != null){
+						propertyEList.add(property);
+					}
+				}
+			}
+		}
+
+		return new BasicEList.UnmodifiableEList<>(propertyEList.size(), propertyEList.toArray());
+	}
+	
+	/**
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlockImpl#getFlowProperties()
+	 *
+	 * @return the list of FlowProperties
+	 */
+	@Override
+	public EList<Property> getFlowProperties() { 
+		BasicEList<Property> propertyEList = new BasicEList<>();
+	
+		if (getBase_Class() != null) {
+			EList<Property> ownedAttributes = getBase_Class().getOwnedAttributes(); 
+			for (Property property : ownedAttributes) {
+				FlowProperty stereotypeApplication = UMLUtil.getStereotypeApplication(property, FlowProperty.class);
+				if (stereotypeApplication != null){
+					propertyEList.add(property);
+				}
+			}
+		}
+
+		return new BasicEList.UnmodifiableEList<>(propertyEList.size(), propertyEList.toArray());
+	}
+	
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/blocks/BlocksFactoryCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/blocks/BlocksFactoryCustomImpl.java
new file mode 100644
index 0000000..1af0fa4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/blocks/BlocksFactoryCustomImpl.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.blocks;
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksFactoryImpl;
+
+
+/**
+ * 
+ *
+ */
+public class BlocksFactoryCustomImpl extends BlocksFactoryImpl implements BlocksFactory{
+
+	/**
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksFactoryImpl#createBoundReference()
+	 *
+	 * @return the BoundReference
+	 */
+	@Override
+	public BoundReference createBoundReference() {
+		return new BoundReferenceCustomImpl();
+	}
+	
+	/**
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksFactoryImpl#createBlock()
+	 *
+	 * @return the Block
+	 */
+	@Override
+	public Block createBlock() {
+		return new BlockCustomImpl();
+	}
+	
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/blocks/BoundReferenceCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/blocks/BoundReferenceCustomImpl.java
new file mode 100644
index 0000000..acd9a72
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/blocks/BoundReferenceCustomImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.blocks;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList;
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BoundReferenceImpl;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+
+/**
+ *
+ */
+public class BoundReferenceCustomImpl extends BoundReferenceImpl {
+
+	/**
+	 * 8.3.2.4 Bound Reference : /bindingPath : Property [1..*] {ordered, nonunique} Gives the propertyPath of the 
+	 * NestedConnectorEnd applied, if any, to the boundEnd, appended to the role of the boundEnd.
+	 * The binding path includes the property at the bound end, and before that, the property
+	 * path of the bound end, if it is a nested connector end.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BoundReferenceImpl#getBindingPath()
+	 *
+	 * @return the list of Property linked
+	 */
+	@Override
+	public EList<Property> getBindingPath() { 
+		BasicEList<Property> propertyEList = new BasicEList<>();
+		ConnectorEnd connectorEnd = getBoundEnd();
+		if (connectorEnd != null){
+			NestedConnectorEnd nestedConnectorEnd = UMLUtil.getStereotypeApplication(connectorEnd, NestedConnectorEnd.class);
+			if (nestedConnectorEnd != null) {
+				EList<Property> propertyPath = nestedConnectorEnd.getPropertyPath();
+				propertyEList.addAll(propertyPath);				
+			}
+			
+			ConnectableElement role = connectorEnd.getRole();
+			if (role instanceof Property) { // should always be true to conform the 1 requirement
+				propertyEList.add((Property) role);
+			}
+		}
+		return new UnmodifiableEList<>(this, BlocksPackage.eINSTANCE.getBoundReference_BindingPath(), propertyEList.size(), propertyEList.toArray());
+	}
+	
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlockCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlockCustomImpl.java
new file mode 100644
index 0000000..f5b9721
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlockCustomImpl.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.constraintblocks;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlockImpl;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+
+/**
+ * 
+ */
+public class ConstraintBlockCustomImpl extends ConstraintBlockImpl {
+	
+	/**
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlockImpl#getParameters()
+	 *
+	 * @return the list of Properties
+	 */
+	@Override
+	public EList<Property> getParameters() { 
+		BasicEList<Property> propertyEList = new BasicEList<>();
+	
+		if (getBase_Class() != null) {
+			EList<Property> ownedAttributes = getBase_Class().getOwnedAttributes(); 
+			for (Property property : ownedAttributes) {
+				Type type = property.getType();
+				ConstraintBlock stereotypeApplication = UMLUtil.getStereotypeApplication(type, ConstraintBlock.class);
+				if (stereotypeApplication == null){
+					propertyEList.add(property);
+				}
+			}
+		}
+
+		return new BasicEList.UnmodifiableEList<>(propertyEList.size(), propertyEList.toArray());
+	}
+	
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlocksFactoryCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlocksFactoryCustomImpl.java
new file mode 100644
index 0000000..4ebd09e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/constraintblocks/ConstraintBlocksFactoryCustomImpl.java
@@ -0,0 +1,36 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.constraintblocks;
+import org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksFactoryImpl;
+
+
+/**
+ * 
+ *
+ */
+public class ConstraintBlocksFactoryCustomImpl extends ConstraintBlocksFactoryImpl implements ConstraintBlocksFactory{
+	
+	/**
+	 * @see org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintblocksFactoryImpl#createConstraintBlock()
+	 *
+	 * @return the BoundReference
+	 */
+	@Override
+	public ConstraintBlock createConstraintBlock() {
+		return new ConstraintBlockCustomImpl();
+	}
+	
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/deprecatedelements/DeprecatEdelementsCustomFactoryImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/deprecatedelements/DeprecatEdelementsCustomFactoryImpl.java
new file mode 100644
index 0000000..ff52e95
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/deprecatedelements/DeprecatEdelementsCustomFactoryImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.deprecatedelements;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsFactoryImpl;
+
+
+/**
+ * this class has been added in order to integrated specific implementation of Stereotypes: FlowPort.
+ * Specific code has been added to calculate derived properties see Requirement Req0010 DerivedProperties
+ * 
+ * and also FlowSpecification
+ */
+public class DeprecatEdelementsCustomFactoryImpl extends DeprecatedElementsFactoryImpl implements
+		DeprecatedElementsFactory {
+
+	/**
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedelementsFactoryImpl#createFlowPort()
+	 *
+	 * @return the FlowPort
+	 */
+	@Override
+	public FlowPort createFlowPort() {
+		return new FlowPortCustomImpl();
+	}
+	
+	/**
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedelementsFactoryImpl#createFlowSpecification()
+	 *
+	 * @return the FlowSpecification
+	 */
+	@Override
+	public FlowSpecification createFlowSpecification() {
+		return new FlowSpecificationCustomImpl();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/deprecatedelements/FlowPortCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/deprecatedelements/FlowPortCustomImpl.java
new file mode 100644
index 0000000..99781fa
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/deprecatedelements/FlowPortCustomImpl.java
@@ -0,0 +1,117 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.deprecatedelements;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowPortImpl;
+import org.eclipse.papyrus.sysml16.internal.util.IconUtil;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * this class has been implemented in order to calculate derived properties of "FlowPort" stereotype see Requirement DerivedProperties Req0010
+ *
+ */
+public class FlowPortCustomImpl extends FlowPortImpl implements FlowPort {
+
+	/**
+	 * Icons for displaying port orientation,
+	 */
+	private static Map<String, Image> icons;
+
+	/**
+	 * @return the icons for port orientation
+	 */
+	public static Map<String, Image> getIcons(FlowPort flowPort) {
+		if (icons == null) {// for PERFORMANCE we call UMLUtil.getStereotype only once
+			Stereotype stereotype = UMLUtil.getStereotype(flowPort);
+			icons = IconUtil.getImages(stereotype);
+		}
+		return icons;
+	}
+
+
+	/**
+	 * C.3.2.2 FlowPort : /isAtomic : Boolean (derived) This is a derived attribute (derived from the flow port’s type).
+	 * For a flow port typed by a flow specification the value of this attribute is False, otherwise the value is True.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowPortImpl#isAtomic()
+	 *
+	 * @return true if atomic
+	 */
+	@Override
+	public boolean isAtomic() {
+		// The FlowPort is Atomic if it is not typed by a FlowSpecification
+		boolean isAtomic = true;
+		if (getBase_Port() != null) {
+			// Find FlowPort type
+			Type type = getBase_Port().getType();
+			if ((type != null) && (type instanceof Interface)) {
+				FlowSpecification flowSpec = UMLUtil.getStereotypeApplication(type, FlowSpecification.class);
+				if (flowSpec != null) {
+					isAtomic = false;
+				}
+			}
+		}
+		return isAtomic;
+	}
+
+
+	/**
+	 * Images registered in Profile are :
+	 * 0 - FlowPort IN
+	 * 1 - FlowPort OUT
+	 * 2 - FlowPort INOUT
+	 * 3 - FlowPort NA (Non Atomic)
+	 * 4 (Other) - FlowPort (default, similar to INOUT)
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowPortImpl#getIcon()
+	 *
+	 * @return the icon depending on the orientation of the FlowPort
+	 */
+	@Override
+	public Image getIcon() {
+		Image image = null;
+		if (getBase_Port() != null) {
+			Map<String, Image> iconList = getIcons(this);
+			switch (getDirection()) {
+			case IN:
+				image = iconList.get(getImageKey(FlowDirectionKind.IN));
+				break;
+			case OUT:
+				image = iconList.get(getImageKey(FlowDirectionKind.OUT));
+				break;
+			case INOUT:
+				image = iconList.get(getImageKey(FlowDirectionKind.INOUT));
+				break;
+			default:
+				image = iconList.get(getImageKey(FlowDirectionKind.INOUT));
+				break;
+			}
+		}
+		return image;
+	}
+
+	private String getImageKey(FlowDirectionKind flowDirection) {
+		return FlowPort.class.getSimpleName() + "_" + flowDirection.getName().toUpperCase();//$NON-NLS-1$
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/deprecatedelements/FlowSpecificationCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/deprecatedelements/FlowSpecificationCustomImpl.java
new file mode 100644
index 0000000..a41d308
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/deprecatedelements/FlowSpecificationCustomImpl.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.deprecatedelements;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.FlowSpecificationImpl;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * this class has been implemented in order to calculate derived properties of "FlowSpecification" stereotype see Requirement DerivedProperties ReqXXX
+ *
+ */
+public class FlowSpecificationCustomImpl extends FlowSpecificationImpl implements FlowSpecification{
+
+	/**
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.FlowSpecificationImpl#getFlowProperties()
+	 *
+	 * @return the list of FlowProperties
+	 */
+	@Override
+	public EList<Property> getFlowProperties() { 
+		BasicEList<Property> propertyEList = new BasicEList<>();
+	
+		if (getBase_Interface() != null) {
+			EList<Property> ownedAttributes = getBase_Interface().getOwnedAttributes(); 
+			for (Property property : ownedAttributes) {
+				FlowProperty stereotypeApplication = UMLUtil.getStereotypeApplication(property, FlowProperty.class);
+				if (stereotypeApplication != null){
+					propertyEList.add(property);
+				}
+			}
+		}
+
+		return new BasicEList.UnmodifiableEList<>(propertyEList.size(), propertyEList.toArray());
+	}
+	
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/internal/util/IconUtil.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/internal/util/IconUtil.java
new file mode 100644
index 0000000..335cbeb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/internal/util/IconUtil.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.internal.util;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ *
+ */
+// See org.eclipse.papyrus.uml.tools.utils.ImageUtil
+// FIXME: copy/paste field since we do not want to introduce a Papyrus dependency in the profile
+public class IconUtil {
+
+	/**
+	 * Constructor.
+	 *
+	 */
+	private IconUtil() {
+		// avoid instantiation in utility class
+	}
+
+	public static final String IMAGE_PAPYRUS_EA = "image_papyrus"; //$NON-NLS-1$
+
+	/**
+	 * KEY of the EAnnotation where the image's name is stored
+	 *
+	 * @see {@link #getName(Image)}
+	 * @see {@link #setName(Image, String)}
+	 */
+	public static final String IMAGE_NAME_KEY = "image_name_key"; //$NON-NLS-1$
+
+	public static Map<String, Image> getImages(Stereotype stereotype) {
+		Map<String, Image> icons = new HashMap<>();
+		for (Image image : stereotype.getIcons()) {
+			EAnnotation eAnnotation = UMLUtil.getEAnnotation(image, IMAGE_PAPYRUS_EA, false);
+			String string = eAnnotation.getDetails().get(IMAGE_NAME_KEY);
+			icons.put(string, image);
+		}
+		return icons;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/ElementGroupCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/ElementGroupCustomImpl.java
new file mode 100644
index 0000000..252b429
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/ElementGroupCustomImpl.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.modelelements;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList;
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * 
+ *
+ */
+public class ElementGroupCustomImpl extends ElementGroupImpl {
+
+	
+
+	/**
+	 * 7.3.2.2 ElementGroup : /criterion[0..1]: String Specifies the rationale for being member of the group. 
+	 * Adding an element to the group asserts that the criterion applies to this element.
+	 * Derived from Comment::body.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl#getCriterion()
+	 * @return
+	 */
+	@Override
+	public String getCriterion() {
+		String criterion = ""; //$NON-NLS-1$
+		Comment comment = getBase_Comment();
+		if (comment != null){
+			criterion = comment.getBody();
+		}
+		return criterion;
+	}
+
+
+	/**
+	 * 7.3.2.2 ElementGroup : /criterion[0..1]: String Specifies the rationale for being member of the group. 
+	 * Adding an element to the group asserts that the criterion applies to this element.
+	 * Derived from Comment::body.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl#setCriterion(java.lang.String)
+	 *
+	 * @param newCriterion
+	 */
+	public void setCriterion(String newCriterion) {
+		Comment comment = getBase_Comment();
+		if (comment != null){
+			comment.setBody(newCriterion);
+		}
+	}
+
+	/**
+	 * 
+	 * 7.3.2.2 ElementGroup : /member: Element[0..*] Set specifying the members of the group. 
+	 * Derived from Comment::annotatedElement.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl#getMember()
+	 *
+	 * @return
+	 */
+	@Override
+	public EList<Element> getMember() {
+		BasicEList<Element> elementEList = new BasicEList<>();
+		Comment comment = getBase_Comment();
+		if (comment != null){
+			elementEList.addAll( comment.getAnnotatedElements());
+		}	
+		return new UnmodifiableEList<>(this, ModelElementsPackage.eINSTANCE.getElementGroup_Member(), elementEList.size(), elementEList.toArray());
+	}
+	
+	/**
+	 * 7.3.2.2 ElementGroup : /size: Integer Number of members in the group. Derived.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ElementGroupImpl#getSize()
+	 *
+	 * @return
+	 */
+	@Override
+	public int getSize() {
+		return getMember().size();
+	}	
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/ModelElementsFactoryCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/ModelElementsFactoryCustomImpl.java
new file mode 100644
index 0000000..2bfdb22
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/ModelElementsFactoryCustomImpl.java
@@ -0,0 +1,70 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.modelelements;
+
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsFactoryImpl;
+
+/**
+ * this class has been added in order to integrated specific implementation of Stereotypes: View.
+ * Specific code has been added to calculate derived properties see Requirement Req0010 DerivedProperties
+ * 
+ *
+ */
+public class ModelElementsFactoryCustomImpl extends ModelElementsFactoryImpl implements ModelElementsFactory {
+
+	/**
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelelementsFactoryImpl#createView()
+	 *
+	 * @return the view
+	 */
+	@Override
+	public View createView() {
+		return new ViewCustomImpl();
+	}
+	
+	
+	/**
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelelementsFactoryImpl#createViewpoint()
+	 *
+	 * @return the viewpoint
+	 */
+	@Override
+	public Viewpoint createViewpoint() {
+		return new ViewpointCustomImpl();
+	}
+	
+	
+	/**
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelelementsFactoryImpl#createElementGroup()
+	 *
+	 * @return the element group
+	 */
+	@Override
+	public ElementGroup createElementGroup() {
+		return new ElementGroupCustomImpl();
+	}
+	
+	/**
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelelementsFactoryImpl#createStakeholder()
+	 *
+	 * @return the stakeholder
+	 */
+	@Override
+	public Stakeholder createStakeholder() {
+		return new StakeholderCustomImpl();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/StakeholderCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/StakeholderCustomImpl.java
new file mode 100644
index 0000000..1e6ba94
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/StakeholderCustomImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.modelelements;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.StakeholderImpl;
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * 
+ *
+ */
+public class StakeholderCustomImpl extends StakeholderImpl {
+	
+	
+	/**
+	 * 7.3.2.6 Stakeholder : The interests of this stakeholder displayed as the body of the comments from concernList.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.StakeholderImpl#getConcernList()
+	 * @return
+	 */
+	@Override
+	public EList<String> getConcern() {
+		EList<String> concern = new BasicEList<>();
+		 EList<Comment> commentEList = getConcernList();
+		 if (commentEList!=null && !commentEList.isEmpty()){ 
+			 for (Comment comment : commentEList) {
+				 String body = comment.getBody();
+				 if (body != null){
+					 concern.add(body); 
+				 }		
+			}
+		 }
+		return concern; 
+	}
+	
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/ViewCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/ViewCustomImpl.java
new file mode 100644
index 0000000..7e91b9e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/ViewCustomImpl.java
@@ -0,0 +1,94 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.modelelements;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList;
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewImpl;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * this class has been implemented in order to calculate derived properties of "View" stereotype see Requirement DerivedProperties Req0010 
+ *
+ */
+public class ViewCustomImpl extends ViewImpl implements View {
+
+
+	/**
+	 * 7.3.2.7 View : /viewpoint: Viewpoint The viewpoint for this View is derived from the conform relationship.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewImpl#basicGetViewPoint()
+	 * @return
+	 */
+	@Override
+	public Viewpoint basicGetViewPoint() {
+		// ViewPoint is related to View via a Conform dependency
+		Viewpoint viewPoint = null;
+		Conform conform = null;
+
+		Class viewBaseClass = getBase_Class();
+		if (viewBaseClass != null) {
+			// Find Conform link
+			EList<Generalization> generalizations = viewBaseClass.getGeneralizations();
+			if (generalizations != null) {
+				Iterator<Generalization> itGen = generalizations.iterator();
+				while (itGen.hasNext() && (conform == null)) {
+					conform = UMLUtil.getStereotypeApplication(itGen.next(), Conform.class);
+				}
+			}
+			// Find ViewPoint
+			if (conform != null) {
+				Generalization baseGeneralization = conform.getBase_Generalization();
+				if (baseGeneralization != null){
+					EList<Element> targets = baseGeneralization.getTargets();
+					if (targets != null) {
+						Iterator<Element> itElt = targets.iterator();
+						while (itElt.hasNext()) {
+							viewPoint = UMLUtil.getStereotypeApplication(itElt.next(), Viewpoint.class);
+						}						
+					}
+				}
+			}
+		}
+		return viewPoint;
+	}
+
+	/**
+	 * 
+	 * 7.3.2.7 View : /stakeholder: Stakeholder [*] The list of stakeholders is derived from the viewpoint the view conforms to.
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewImpl#getStakeholder()
+	 *
+	 * @return
+	 */
+	@Override
+	public EList<Stakeholder> getStakeholder() {
+		EList<Stakeholder> stakeholderEList = new BasicEList<>();
+		Viewpoint viewPoint = getViewPoint();
+		if (viewPoint != null){
+			stakeholderEList.addAll(viewPoint.getStakeholder());
+		}
+		return new UnmodifiableEList<>(this, ModelElementsPackage.eINSTANCE.getViewpoint_Stakeholder(), stakeholderEList.size(), stakeholderEList.toArray());
+	}
+	
+	
+	
+} 
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/ViewpointCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/ViewpointCustomImpl.java
new file mode 100644
index 0000000..11d3583
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/modelelements/ViewpointCustomImpl.java
@@ -0,0 +1,85 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.modelelements;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList;
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.profile.standard.Create;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 
+ *
+ */
+public class ViewpointCustomImpl extends ViewpointImpl {
+
+	/**
+	 * 7.3.2.8 Viewpoint : /method: Behavior [*] The behavior is derived from the method of the operation with the Create stereotype.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl#getMethod()
+	 * @return
+	 */
+	@Override
+	public EList<Behavior> getMethod() {
+		EList<Behavior> behaviorEList = new BasicEList<>();
+		Class clazz = getBase_Class();
+		if (clazz != null) {
+			EList<Operation> operations = clazz.getOperations();
+			if (operations != null){
+				Iterator<Operation> it = operations.iterator();
+
+				while (it.hasNext()) {
+					Operation operation = it.next();
+					Create create = UMLUtil.getStereotypeApplication(operation, Create.class);
+					if (create != null) {
+						behaviorEList.addAll(operation.getMethods());
+						break;
+					}
+				}
+			}
+		}
+		return new UnmodifiableEList<>(this, ModelElementsPackage.eINSTANCE.getViewpoint_Method(), behaviorEList.size(), behaviorEList.toArray());
+	}
+
+	/**
+	 * 7.3.2.8 Viewpoint : /concern: String [*] The interest of the stakeholders displayed as the body of the comments from concernList.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.internal.impl.ViewpointImpl#getConcern()
+	 *
+	 * @return
+	 */
+	@Override
+	public EList<String> getConcern() {
+		EList<String> concernEList = new BasicEList<>();
+		EList<Comment> theConcernList = getConcernList();
+		for (Comment comment : theConcernList) {
+			String body = comment.getBody();
+			if (body != null && !"".equals(body)){//$NON-NLS-1$
+				concernEList.add(body);
+			}				
+		}
+		return concernEList;
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/portsandflows/FlowPropertyCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/portsandflows/FlowPropertyCustomImpl.java
new file mode 100644
index 0000000..59501b7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/portsandflows/FlowPropertyCustomImpl.java
@@ -0,0 +1,84 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+
+import java.util.Map;
+
+import org.eclipse.papyrus.sysml16.internal.util.IconUtil;
+import org.eclipse.papyrus.sysml16.portsandflows.internal.impl.FlowPropertyImpl;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 
+ *
+ */
+public class FlowPropertyCustomImpl extends FlowPropertyImpl implements FlowProperty{
+
+	/**
+	 * Icons for displaying flow property orientation
+	 */
+	private static Map<String,Image> icons;
+
+
+	/**
+	 * @return the icons for flow property orientation
+	 */
+	public static Map<String,Image> getIcons(FlowProperty flowProperty) {
+		if (icons == null){// for PERFORMANCE we call UMLUtil.getStereotype only once
+			 Stereotype stereotype = UMLUtil.getStereotype(flowProperty);
+			 icons = IconUtil.getImages(stereotype);
+		}
+		return icons;
+	}
+	
+	/**
+	 * Images registered in Profile are :
+	 * 0 - FlowPort IN
+	 * 1 - FlowPort OUT
+	 * 2 - FlowPort INOUT
+	 * 3 (other) - FlowPort (default, similar to INOUT)
+	 */
+	@Override
+	public Image getIcon() {
+		Image image = null;
+		if (getBase_Property() != null) {
+			Map<String,Image> iconList = getIcons(this);
+			switch (getDirection()) {
+			case IN:
+				image = iconList.get(getImageKey(FlowDirectionKind.IN));
+				break;
+			case OUT:
+				image = iconList.get(getImageKey(FlowDirectionKind.OUT));
+				break;
+			case INOUT:
+				image = iconList.get(getImageKey(FlowDirectionKind.INOUT));
+				break;
+			default:
+				image = iconList.get(getImageKey(FlowDirectionKind.INOUT));
+				break;
+			}
+		}
+		return image;
+	}
+	
+	private String getImageKey(FlowDirectionKind flowDirection) {
+		return FlowProperty.class.getSimpleName()+"_"+flowDirection.getName().toUpperCase();//$NON-NLS-1$
+	}
+	
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/portsandflows/InterfaceBlockCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/portsandflows/InterfaceBlockCustomImpl.java
new file mode 100644
index 0000000..3449c62
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/portsandflows/InterfaceBlockCustomImpl.java
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList;
+import org.eclipse.papyrus.sysml16.portsandflows.internal.impl.InterfaceBlockImpl;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ *
+ */
+public class InterfaceBlockCustomImpl extends InterfaceBlockImpl {
+
+	/**
+	 * Implementation of 'getConjugated' function.
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.InterfaceBlockImpl#getConjugated()
+	 */
+	@Override
+	public EList<InterfaceBlock> getConjugated() {
+
+		final EList<InterfaceBlock> conjugatedBy = new BasicEList<>();
+		if (getBase_Class() != null) {
+			final Iterator<DirectedRelationship> itDep = getBase_Class().getSourceDirectedRelationships().iterator();
+
+			// Find DeriveReqt link
+			while (itDep.hasNext()) {
+				final DirectedRelationship currentDRelationship = itDep.next();
+
+				if (currentDRelationship instanceof Dependency && ((Dependency) currentDRelationship).getSuppliers().contains(getBase_Class())) {
+					final EList<NamedElement> suppliers = ((Dependency) currentDRelationship).getClients();
+					final Iterator<NamedElement> it = suppliers.iterator();
+					while (it.hasNext()) {
+						final ConjugatedInterfaceBlock conjugatedInterfaceBlock = UMLUtil.getStereotypeApplication(it.next(), ConjugatedInterfaceBlock.class);
+						if (conjugatedInterfaceBlock != null && this.equals(conjugatedInterfaceBlock.getOriginal())) {
+							conjugatedBy.add(conjugatedInterfaceBlock);
+						}
+					}
+				}
+			}
+		}
+
+		return new UnmodifiableEList<>(this, null, conjugatedBy.size(), conjugatedBy.toArray());
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/portsandflows/PortsAndFlowsCustomFactoryImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/portsandflows/PortsAndFlowsCustomFactoryImpl.java
new file mode 100644
index 0000000..ba4164c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/portsandflows/PortsAndFlowsCustomFactoryImpl.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.portsandflows;
+
+import org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsFactoryImpl;
+
+/**
+ *
+ *
+ */
+public class PortsAndFlowsCustomFactoryImpl extends PortsAndFlowsFactoryImpl {
+
+
+	/**
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsandflowsFactoryImpl#createFlowProperty()
+	 *
+	 * @return
+	 */
+	@Override
+	public FlowProperty createFlowProperty() {
+		return new FlowPropertyCustomImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsFactoryImpl#createInterfaceBlock()
+	 *
+	 * @return
+	 */
+	@Override
+	public InterfaceBlock createInterfaceBlock() {
+		return new InterfaceBlockCustomImpl();
+	}
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/requirements/RequirementCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/requirements/RequirementCustomImpl.java
new file mode 100644
index 0000000..dab136b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/requirements/RequirementCustomImpl.java
@@ -0,0 +1,270 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirements;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList;
+import org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementImpl;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * this class has been implemented in order to calculate derived properties of "Requirement" stereotype see Requirement DerivedProperties Req0010
+ *
+ */
+public class RequirementCustomImpl extends RequirementImpl implements Requirement {
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /master: Requirement [0..1]
+	 * This is a derived property that lists the master requirement for this slave requirement. The master attribute is
+	 * derived from the supplier of the Copy dependency that has this requirement as the slave.
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getMaster()
+	 *
+	 * @return The list of requirements.
+	 */
+	@Override
+	public EList<AbstractRequirement> getMaster() {
+		// The Requirement is the supplier of the Copy link between the master Requirements
+		// This should return the TestCase verifying current Requirements
+		EList<Requirement> masters = new BasicEList<>();
+		if (getBase_Class() != null) {
+			Iterator<Dependency> itDep = getBase_Class().getClientDependencies().iterator();
+
+			// Find Copy link
+			while (itDep.hasNext()) {
+				Dependency currentDep = itDep.next();
+				Copy currentCopy = UMLUtil.getStereotypeApplication(currentDep, Copy.class);
+
+				if (currentCopy != null) {
+					EList<NamedElement> suppliers = currentCopy.getBase_Abstraction().getSuppliers();
+					Iterator<NamedElement> it = suppliers.iterator();
+					while (it.hasNext()) {
+						Requirement currentRequirement = UMLUtil.getStereotypeApplication(it.next(), Requirement.class);
+						if (currentRequirement != null) {
+							masters.add(currentRequirement);
+						}
+					}
+				}
+			}
+		}
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_Master(), masters.size(), masters.toArray());
+	}
+
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /derived: Requirement [*]
+	 * Derived from all requirements that are the client of a «deriveReqt» relationship for which this requirement is a
+	 * supplier.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getDerived()
+	 *
+	 * @return The list of requirements.
+	 */
+	@Override
+	public EList<AbstractRequirement> getDerived() {
+		// This should return the Requirement(s) derived from current
+		EList<Requirement> derived = new BasicEList<>();
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find DeriveReqt link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDirectedRelationship = itDep.next();
+				DeriveReqt 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);
+						}
+					}
+				}
+			}
+		}
+
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_Derived(), derived.size(), derived.toArray());
+	}
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /derivedFrom: Requirement [*]
+	 * Derived from all requirements that are the supplier of a «deriveReqt» relationship for which this requirement is a
+	 * client.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getDerivedFrom()
+	 *
+	 * @return The list of requirements.
+	 */
+	@Override
+	public EList<AbstractRequirement> getDerivedFrom() {
+		// This should return the Requirement(s) this Requirement is derived from
+		EList<Requirement> derivedFrom = new BasicEList<>();
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getSourceDirectedRelationships().iterator();
+
+			// Find DeriveReqt link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				DeriveReqt 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);
+						}
+					}
+				}
+			}
+		}
+
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_DerivedFrom(), derivedFrom.size(), derivedFrom.toArray());
+	}
+
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /refinedBy: NamedElement [*]
+	 * Derived from all elements that are the client of a «refine» relationship for which this requirement is a supplier.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getRefinedBy()
+	 *
+	 * @return The list of refining NamedElements.
+	 */
+	@Override
+	public EList<NamedElement> getRefinedBy() {
+		// This should return the NamedElement(s) that refine current Requirement
+		EList<NamedElement> refinedBy = new BasicEList<>();
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find Refine link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				Refine currentRefine = UMLUtil.getStereotypeApplication(currentDRelationship, Refine.class);
+
+				if (currentRefine != null) {
+					refinedBy.addAll(currentRefine.getBase_Abstraction().getClients());
+				}
+			}
+		}
+
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_RefinedBy(), refinedBy.size(), refinedBy.toArray());
+	}
+
+
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /satisfiedBy: NamedElement [*]
+	 * Derived from all elements that are the client of a «satisfy» relationship for which this requirement is a supplier.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getSatisfiedBy()
+	 *
+	 * @return the list of statisfying NamedElements.
+	 */
+	@Override
+	public EList<NamedElement> getSatisfiedBy() {
+		// This should return the NamedElement(s) that satisfy current Requirement
+		EList<NamedElement> satisfyBy = new BasicEList<>();
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find Satisfy link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				Satisfy currentSatisfy = UMLUtil.getStereotypeApplication(currentDRelationship, Satisfy.class);
+
+				if (currentSatisfy != null) {
+					satisfyBy.addAll(currentSatisfy.getBase_Abstraction().getClients());
+				}
+			}
+		}
+
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_SatisfiedBy(), satisfyBy.size(), satisfyBy.toArray());
+	}
+
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /tracedTo: NamedElement [*]
+	 * Derived from all elements that are the supplier of a «trace» relationship for which this requirement is a client.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getTracedTo()
+	 *
+	 * @return The list of tracing NamedElements.
+	 */
+	@Override
+	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<>();
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find Trace link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDR = itDep.next();
+				Trace currentTrace = UMLUtil.getStereotypeApplication(currentDR, Trace.class);
+
+				// Must be a Trace not a subtype (see bug #352563).
+				if (currentTrace != null && currentTrace.eClass() == RequirementsPackage.eINSTANCE.getTrace()) {
+					EList<NamedElement> suppliers = currentTrace.getBase_Abstraction().getClients();
+					tracedTo.addAll(suppliers);
+				}
+			}
+		}
+
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_TracedTo(), tracedTo.size(), tracedTo.toArray());
+	}
+
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /verifiedBy: NamedElement [*]
+	 * Derived from all elements that are the client of a «verify» relationship for which this requirement is a supplier.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getVerifiedBy()
+	 *
+	 * @return The list of verifying NamedElements.
+	 */
+	@Override
+	public EList<NamedElement> getVerifiedBy() {
+		// This should return the list of NamedElement verifying current Requirements
+		EList<NamedElement> verifiedBy = new BasicEList<>();
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find Verify link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				Verify currentVerify = UMLUtil.getStereotypeApplication(currentDRelationship, Verify.class);
+
+				if (currentVerify != null) {
+					verifiedBy.addAll(currentVerify.getBase_Abstraction().getClients());
+				}
+			}
+		}
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_VerifiedBy(), verifiedBy.size(), verifiedBy.toArray());
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/requirements/RequirementsFactoryCustomImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/requirements/RequirementsFactoryCustomImpl.java
new file mode 100644
index 0000000..e2ed09d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/requirements/RequirementsFactoryCustomImpl.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirements;
+
+import org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsFactoryImpl;
+
+/**
+ * this class has been added in order to integrated specific implementation of Stereotypes: Requirement.
+ * Specific code has been added to calculate derived properties see Requirement Req0010 DerivedProperties
+ * 
+ *
+ */
+public class RequirementsFactoryCustomImpl extends RequirementsFactoryImpl implements RequirementsFactory {
+
+	/**
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsFactoryImpl#createRequirement()
+	 *
+	 * @return a new requirement
+	 */
+	@Override
+	public Requirement createRequirement() {
+		return new RequirementCustomImpl();
+	}
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/util/DeprecatedElementUtil.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/util/DeprecatedElementUtil.java
new file mode 100644
index 0000000..d541534
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/util/DeprecatedElementUtil.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Utility class to get informations on DeprecatedElement resources
+ *
+ */
+public final class DeprecatedElementUtil {
+	
+	private DeprecatedElementUtil(){
+	}
+
+	/**
+	 * @param eObject
+	 * @return It returns true if the EObject is a deprecated Stereotype or if the Uml element is stereotyped by a deprecated stereotype
+	 */
+	//Check perf issues before changing this method
+	public static boolean isDeprecatedElement(EObject eObject) {
+		if(eObject!=null){
+			if (eObject.getClass().getName().startsWith("org.eclipse.papyrus.sysml16.deprecatedelements")){//$NON-NLS-1$
+				return true;
+			}	
+			if(eObject instanceof Element){
+				Element element = (Element)eObject;
+				if (element instanceof Port){
+					return UMLUtil.getStereotypeApplication(element, FlowPort.class)!=null;
+				}
+				if (element instanceof Interface){
+					return UMLUtil.getStereotypeApplication(element, FlowSpecification.class)!=null;
+				}				
+			}
+		}
+		return false;
+	}
+
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/util/QUDVUtil.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/util/QUDVUtil.java
new file mode 100644
index 0000000..60eb33c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/util/QUDVUtil.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.util;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageableElement;
+
+/**
+ * @author Benoit Maggi
+ *
+ */
+public final class QUDVUtil {
+
+	public static final String UNIT_AND_QUANTITY_KIND = "UnitAndQuantityKind"; //$NON-NLS-1$
+
+	public static final String QUANTITY_KIND = "QuantityKind"; //$NON-NLS-1$
+	
+	public static final String UNIT = "Unit"; //$NON-NLS-1$
+	
+	/** Avoid instantiation for utility class */
+	private QUDVUtil() {
+	}	
+	/**
+	 * Return the classifier in QUDV from the namspace
+	 * Ex : getClassifierByNameSpaceFromQUDV("UnitAndQuantityKind","Unit") to get Unit Classifier
+	 * @param resource
+	 * @param packageName
+	 * @param classifierName
+	 * @return
+	 */
+	public static Classifier getClassifierByNameSpaceFromQUDV(String packageName, String classifierName) {
+		URI createURI = URI.createURI(SysMLResource.LIBRARY_PATH);
+		Resource res = new ResourceSetImpl().getResource(createURI,true);
+		return getClassifierByNameSpace(res, packageName, classifierName);
+	}	
+	
+	// TODO : this method should be provided as API in an upper level (already exist ?)
+	public static Classifier getClassifierByNameSpace(Resource resource, String packageName, String classifierName) {
+		EList<EObject> contents = resource.getContents();
+		for (EObject eObject : contents) {
+			if (eObject instanceof Package){
+				Package pkg = (Package) eObject;	
+				PackageableElement packagedElement2 = pkg.getPackagedElement(packageName);
+				return (Classifier) ((Package) packagedElement2).getPackagedElement(classifierName);
+			}
+		}
+		return null;
+	}	
+	
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/util/SysMLQualifiedName.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/util/SysMLQualifiedName.java
new file mode 100644
index 0000000..edde575
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/util/SysMLQualifiedName.java
@@ -0,0 +1,36 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.util;
+
+
+public final class SysMLQualifiedName {
+
+	private SysMLQualifiedName() {
+		// to prevent instantiation
+	}
+
+	/**
+	 * The qualified name of the property direction
+	 * @deprecated
+	 */
+	@Deprecated
+	public static final String STEREOTYPE_FLOWPORT_DIRECTION = "SysML::DeprecatedElements::FlowPort::direction"; //$NON-NLS-1$
+	
+	/** 
+	 * QN of SysML::Requirement::Requirement::text. 
+	 */
+	public static final String SYSML_REQUIREMENTS_REQUIREMENT_TEXT_QN = "SysML::Requirements::Requirement::text"; //$NON-NLS-1$
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/util/SysMLResource.java b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/util/SysMLResource.java
new file mode 100644
index 0000000..8ddfd5f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src/org/eclipse/papyrus/sysml16/util/SysMLResource.java
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.util;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.resource.UMLResource;
+
+/**
+ * Utility class to get informations on SysML resources
+ *
+ */
+public final class SysMLResource {
+
+	public static final String PROFILES_PATHMAP = "pathmap://SysML16_PROFILES/"; //$NON-NLS-1$
+
+	public static final String PROFILE_PATH = PROFILES_PATHMAP + "SysML.profile.uml"; //$NON-NLS-1$
+
+	public static final String PROFILE_URI = "http://www.eclipse.org/papyrus/sysml/1.6/SysML"; //$NON-NLS-1$
+
+	public static final String LIBRARIES_PATHMAP = "pathmap://SysML16_LIBRARIES/"; //$NON-NLS-1$
+
+	public static final String LIBRARY_PATH = LIBRARIES_PATHMAP + "SysML-Standard-Library.uml"; //$NON-NLS-1$
+
+	public static final String LIBRARY_ROOT_ID = "SysML.package_packagedElement_Libraries"; //$NON-NLS-1$
+
+	public static final String QUDV_LIBRARY_PATH = LIBRARIES_PATHMAP + "QUDV.uml"; //$NON-NLS-1$
+
+	public static final String QUDV_LIBRARY_ROOT_ID = "QUDV"; //$NON-NLS-1$
+
+	private static final String UNNAMED = "unnamed"; //$NON-NLS-1$
+
+	private SysMLResource() {
+	}
+
+	/**
+	 * Creates a model with SysML profile applied
+	 *
+	 * @param resourceSet
+	 *            the resource set in which to create the model
+	 * @return the created model
+	 */
+	public static Model createSysMLModel(ResourceSet resourceSet) {// , String modelName
+		return createSysMLModel(resourceSet, UNNAMED + "." + UMLResource.FILE_EXTENSION, UNNAMED); //$NON-NLS-1$
+	}
+
+	/**
+	 * Creates a model with SysML profile applied
+	 * 
+	 * @param resourceSet
+	 *            the resource set in which to create the model
+	 * @param resourceName
+	 *            name of the resource
+	 * @param modelName
+	 *            name of the model
+	 * @return the created model
+	 */
+	public static Model createSysMLModel(ResourceSet resourceSet, String resourceName, String modelName) {
+		Model model = UMLFactory.eINSTANCE.createModel();
+		model.setName(modelName);
+		Resource resource = resourceSet.createResource(URI.createURI(resourceName));
+		resource.getContents().add(model);
+		// Apply UML Standard profile
+		// Retrieve standard profile
+		Resource standardProfileResource = resourceSet.getResource(URI.createURI(UMLResource.STANDARD_PROFILE_URI), true);
+		Profile umlStdProfile = (Profile) EcoreUtil.getObjectByType(standardProfileResource.getContents(), UMLPackage.Literals.PACKAGE);
+		// Apply to the model
+		model.applyProfile(umlStdProfile);
+		// Retrieve SysML profile and apply with subprofile
+		Resource sysmlProfileResource = resourceSet.getResource(URI.createURI(SysMLResource.PROFILE_PATH), true);
+		Profile sysmlProfile = (Profile) EcoreUtil.getObjectByType(sysmlProfileResource.getContents(), UMLPackage.Literals.PACKAGE);
+		model.applyProfile(sysmlProfile);
+		return model;
+	}
+
+	/**
+	 * Recursive function
+	 * 
+	 * @param element
+	 *            the initial uml2 element
+	 * @param profileLookup
+	 *            the profile we are looking for
+	 * @return a package, a model profiled by SysML or null
+	 */
+	public static Package getFirstSysMLMatchingContainerProfiledBySysMLProfile(Element element) {
+		return getFirstMatchingContainerProfiledBy(element, SysMLResource.PROFILE_URI);
+	}
+
+	/**
+	 * Recursive function
+	 * 
+	 * @param element
+	 *            the initial uml2 element
+	 * @param profileUri
+	 *            the profile we are looking for
+	 * @return a package, a model or null
+	 */
+	public static Package getFirstMatchingContainerProfiledBy(Element element, String profileUri) {
+		if (element instanceof Package) {
+			Package pakage = (Package) element;
+
+			EList<Profile> appliedProfiles = pakage.getAppliedProfiles();
+			if (appliedProfiles != null) {
+				for (Profile appliedProfile : appliedProfiles) {
+					// as soon as we match with the profile we return true
+					if (appliedProfile.getURI() != null && appliedProfile.getURI().compareTo(profileUri) == 0) {
+						return pakage;
+					}
+				}
+			}
+
+			Element elementOwner = element.getOwner();
+			if (elementOwner != null) {
+				return getFirstMatchingContainerProfiledBy(elementOwner, profileUri);
+			}
+		}
+		// If no match then look at the nearest package
+		if (element != null) {
+			Package myNearestPackage = element.getNearestPackage();
+			if (myNearestPackage != element) {
+				return getFirstMatchingContainerProfiledBy(myNearestPackage, profileUri);
+			}
+		}
+		// If we are here, it means we have no lookuped profile attached at one container of our element.
+		return null;
+	}
+
+
+	/**
+	 * @param element
+	 * @return true if the element is profiled with SysML profile
+	 */
+	public static boolean isSysMLProfileApplied(Element element) {
+		return isProfiledByProfile(element, SysMLResource.PROFILE_URI);
+	}
+
+
+	/**
+	 * @param element
+	 * @param profileUri
+	 * @return true if the element is profiled by the given profileUri
+	 */
+	public static boolean isProfiledByProfile(Element element, String profileUri) {
+		return getFirstMatchingContainerProfiledBy(element, profileUri) != null;
+	}
+}
diff --git a/plugins/core/pom.xml b/plugins/core/pom.xml
new file mode 100644
index 0000000..80c68d4
--- /dev/null
+++ b/plugins/core/pom.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.plugins</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.core</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML Core</name>
+	<description>SysML Core contains all semantic information for SysML 1.6 profile. These modules shouldn't contain any gui elements.</description>
+	<modules>
+		<module>org.eclipse.papyrus.sysml16</module>
+		<module>org.eclipse.papyrus.sysml16.edit</module>
+		<module>org.eclipse.papyrus.sysml16.service.types</module>
+		<module>org.eclipse.papyrus.sysml16.validation</module>
+	</modules>
+</project>
diff --git a/plugins/diagram/.settings/org.eclipse.core.resources.prefs b/plugins/diagram/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/plugins/diagram/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.classpath b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.project b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.project
new file mode 100644
index 0000000..e4287f1
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.diagram.blockdefinition</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.core.resources.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.core.runtime.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.jdt.core.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.jdt.ui.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.m2e.core.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.pde.api.tools.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/META-INF/MANIFEST.MF b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..dcb8470
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Localization: plugin
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.diagram.blockdefinition;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.papyrus.sysml16.diagram.blockdefinition.Activator
+Bundle-Vendor: %Bundle-Vendor
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.sysml16.diagram.common;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Eclipse-BuddyPolicy: dependent
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.papyrus.sysml16.diagram.blockdefinition,
+ org.eclipse.papyrus.sysml16.diagram.blockdefinition.internal.factory;x-internal:=true,
+ org.eclipse.papyrus.sysml16.diagram.blockdefinition.provider
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.diagram.blockdefinition
+ 
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/about.html b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/build.properties b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/build.properties
new file mode 100644
index 0000000..6c93f7a
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = plugin.xml,\
+               META-INF/,\
+               .,\
+               about.html,\
+               resources/,\
+               plugin.properties
+src.includes = about.html
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/plugin.properties b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/plugin.properties
new file mode 100644
index 0000000..b6b4c5b
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/plugin.properties
@@ -0,0 +1,17 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name= Papyrus SysML 1.6 Block Definition Diagram
+Bundle-Description=This plug-in contains the block definition diagram
+Bundle-Vendor=Eclipse Modeling Project
+
+
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/plugin.xml b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/plugin.xml
new file mode 100644
index 0000000..865c04e
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/plugin.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+
+   <extension
+         point="org.eclipse.papyrus.infra.gmfdiag.common.diagramExpansion">
+      <diagramexpansion
+            model="resources/configuration/blockDefinitionDiagramConfig.expansionmodel">
+      </diagramexpansion>
+   </extension>
+   
+   <!-- Parser provider declaration -->
+<extension point="org.eclipse.gmf.runtime.common.ui.services.parserProviders">
+	<ParserProvider class="org.eclipse.papyrus.sysml16.diagram.blockdefinition.provider.ParserProvider">
+		<Priority name="Low"/>
+	</ParserProvider>
+</extension>
+
+</plugin>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/pom.xml b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/pom.xml
new file mode 100644
index 0000000..8083f7a
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/pom.xml
@@ -0,0 +1,14 @@
+<?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.sysml</groupId>	
+		<artifactId>org.eclipse.papyrus.sysml16.diagram</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.diagram.blockdefinition</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.diagram.blockdefinition</name>
+	<description>This plugin is in charge of defining the SysML 1.6 Block Definition Diagram using the following frameworks: viewpoint, expansion model, palette and css.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/configuration/blockDefinitionDiagramConfig.expansionmodel b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/configuration/blockDefinitionDiagramConfig.expansionmodel
new file mode 100644
index 0000000..3e3a205
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/configuration/blockDefinitionDiagramConfig.expansionmodel
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<expansionmodel:DiagramExpansion xmlns:expansionmodel="http:///expansionmodel.ecore" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="SysML 1.6 BDD" xmi:id="org.eclipse.papyrus.sysml16.bbd.expansionmodel" xmi:version="2.0">
+  <usages diagramType="SysML 1.6 Block Definition Diagram" name="SysML 1.6 BDD Context" representations="_rC19oNnoEeSqwOe5_frWm2 _CvN1kFVqEeW77p7V_ZuW3Q _dq31kGdDEeW5JrLha2pcnA" xmi:id="_rC19oNnoEeSqwOe5_frWm1">
+    <gmftRepresentations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.clazz.edit.parts.ClassEditPart" inducedRepresentations="_rC19oNnoEeSqwOe5_frWm6 _CvPDslVqEeW77p7V_ZuW3Q _rC19oNnoEeSqwOe5_frWm7 _CvPDs1VqEeW77p7V_ZuW3Q _CvPDtFVqEeW77p7V_ZuW3Q _CvPDtVVqEeW77p7V_ZuW3Q _CSMSEGFBEeWbSMDuSXx8SQ _59LCcACiEeabH6-I0dvpUQ" name="Block based on Class representation of class diagram" reusedID="Class_Shape" subRepresentations="_CvN1kVVqEeW77p7V_ZuW3Q _CvOcoVVqEeW77p7V_ZuW3Q _CvOcolVqEeW77p7V_ZuW3Q _CvOco1VqEeW77p7V_ZuW3Q" viewFactory="org.eclipse.papyrus.sysml16.diagram.blockdefinition.internal.factory.BlockClassifierViewFactory" xmi:id="_rC19oNnoEeSqwOe5_frWm2"/>
+    <gmftRepresentations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.clazz.edit.parts.InterfaceEditPart" inducedRepresentations="_CSMSEGFBEeWbSMDuSXx8SQ" name="FlowSpecification based on Interface representation of class diagram" reusedID="Interface_Shape" subRepresentations="_CvN1kVVqEeW77p7V_ZuW3Q" viewFactory="org.eclipse.papyrus.sysml16.diagram.blockdefinition.internal.factory.FlowSpecificationClassifierViewFactory" xmi:id="_dq31kGdDEeW5JrLha2pcnA"/>
+  </usages>
+  <libraries name="Independent Representations" xmi:id="_rC19oNnoEeSqwOe5_frWm3">
+    <representations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.clazz.edit.parts.PropertyForClassEditPart" name="Flow Port As Label" viewFactory="org.eclipse.gmf.runtime.diagram.ui.view.factories.optimal.ShapeViewFactory" xmi:id="_rC19oNnoEeSqwOe5_frWm4" xsi:type="expansionmodel:Representation">
+      <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowPort_Label" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.clazz.edit.parts.DependencyEditPart" name="Verify Link" viewFactory="org.eclipse.gmf.runtime.diagram.ui.view.factories.optimal.ConnectorViewFactory" xmi:id="_CvN1kFVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:Representation">
+      <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Verify_Abstraction_Verify_Link" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations inducedRepresentations="_CvPDsVVqEeW77p7V_ZuW3Q _CvPDsFVqEeW77p7V_ZuW3Q" name="Operation Border Item" viewFactory="org.eclipse.papyrus.sysml16.diagram.blockdefinition.internal.factory.OperationPortViewFactory" xmi:id="_CvN1kVVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:Representation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_EoAOIN0DEeSiOexlyH3Ifw"/>
+    <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di." xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.common.editparts.EditableLabelForNodeEditPart" name="Constraint As Label" viewFactory="org.eclipse.gmf.runtime.diagram.ui.view.factories.optimal.ShapeViewFactory" xmi:id="_CvOcoFVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:Representation">
+      <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Constraint_Label" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations inducedRepresentations="_CvPDsVVqEeW77p7V_ZuW3Q" name="Class Port" viewFactory="org.eclipse.papyrus.sysml16.diagram.blockdefinition.internal.factory.PortViewFactory" xmi:id="_CvOcoVVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:Representation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_EoAOIN0DEeSiOexlyH3Ifw"/>
+    <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Class_Port" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations inducedRepresentations="_CvPDsVVqEeW77p7V_ZuW3Q" name="Class ProxyPort" viewFactory="org.eclipse.papyrus.sysml16.diagram.blockdefinition.internal.factory.PortViewFactory" xmi:id="_CvOcolVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:Representation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_EoAOIN0DEeSiOexlyH3Ifw"/>
+    <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Class_ProxyPort" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations inducedRepresentations="_CvPDsVVqEeW77p7V_ZuW3Q" name="Class FullPort" viewFactory="org.eclipse.papyrus.sysml16.diagram.blockdefinition.internal.factory.PortViewFactory" xmi:id="_CvOco1VqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:Representation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_EoAOIN0DEeSiOexlyH3Ifw"/>
+    <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Class_FullPort" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.clazz.edit.parts.PropertyForClassEditPart" name="ProxyPort As Label" viewFactory="org.eclipse.gmf.runtime.diagram.ui.view.factories.optimal.ShapeViewFactory" xmi:id="_CvOcpFVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:Representation">
+      <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ProxyPort_Label" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.clazz.edit.parts.PropertyForClassEditPart" name="FullPort As Label" viewFactory="org.eclipse.gmf.runtime.diagram.ui.view.factories.optimal.ShapeViewFactory" xmi:id="_CvOcpVVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:Representation">
+      <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FullPort_Label" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.clazz.edit.parts.PropertyForClassEditPart" name="References As Label" viewFactory="org.eclipse.gmf.runtime.diagram.ui.view.factories.optimal.ShapeViewFactory" xmi:id="_CvOcplVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:Representation">
+      <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Reference_label" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.clazz.edit.parts.PropertyForClassEditPart" name="Parts As Label" viewFactory="org.eclipse.gmf.runtime.diagram.ui.view.factories.optimal.ShapeViewFactory" xmi:id="_SZt_kFVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:Representation">
+      <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Part_label" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.clazz.edit.parts.PropertyForClassEditPart" name="FlowProperty As Label" viewFactory="org.eclipse.gmf.runtime.diagram.ui.view.factories.optimal.ShapeViewFactory" xmi:id="_y-W7oGFAEeWbSMDuSXx8SQ" xsi:type="expansionmodel:Representation">
+      <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowProperty_label" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.clazz.edit.parts.PropertyForClassEditPart" name="Parameters As Label" viewFactory="org.eclipse.gmf.runtime.diagram.ui.view.factories.optimal.ShapeViewFactory" xmi:id="_vBCFAACiEeabH6-I0dvpUQ" xsi:type="expansionmodel:Representation">
+      <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Parameter_label" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+  </libraries>
+  <libraries name="Independant Compartments" xmi:id="_rC19oNnoEeSqwOe5_frWm5">
+    <representations children="_rC19oNnoEeSqwOe5_frWm4" hint="Flow Ports" name="FlowPort Compartment" xmi:id="_rC19oNnoEeSqwOe5_frWm6" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_vbTKYN0DEeS-X4lB2Ut-YA"/>
+    </representations>
+    <representations children="_SZt_kFVqEeW77p7V_ZuW3Q" editPartQualifiedName="" hint="Parts" name="Parts Compartment" xmi:id="_rC19oNnoEeSqwOe5_frWm7" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_vbTKYN0DEeS-X4lB2Ut-YA"/>
+    </representations>
+    <representations children="_vBCFAACiEeabH6-I0dvpUQ" hint="Parameters" name="Parameters Compartment" xmi:id="_59LCcACiEeabH6-I0dvpUQ" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_vbTKYN0DEeS-X4lB2Ut-YA"/>
+    </representations>
+    <representations editPartQualifiedName="" hint="Operation_BorderItem_Stereotype_Label" name="Stereotype Label representation for BorderItem" xmi:id="_CvPDsFVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_dG-hoN0HEeSfTfTnKh2G1Q"/>
+    </representations>
+    <representations editPartQualifiedName="" hint="Operation_BorderItem_Label" name=" Name Label representation for BorderItem" xmi:id="_CvPDsVVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_dG-hoN0HEeSfTfTnKh2G1Q"/>
+    </representations>
+    <representations children="_CvOcoFVqEeW77p7V_ZuW3Q" hint="constraints" name="Constraint Compartment" xmi:id="_CvPDslVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_vbTKYN0DEeS-X4lB2Ut-YA"/>
+    </representations>
+    <representations children="_CvOcpFVqEeW77p7V_ZuW3Q" hint="Proxy Ports" name="ProxyPort Compartment" xmi:id="_CvPDs1VqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_vbTKYN0DEeS-X4lB2Ut-YA"/>
+    </representations>
+    <representations children="_CvOcpVVqEeW77p7V_ZuW3Q" hint="Full Ports" name="FullPort Compartment" xmi:id="_CvPDtFVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_vbTKYN0DEeS-X4lB2Ut-YA"/>
+    </representations>
+    <representations children="_CvOcplVqEeW77p7V_ZuW3Q" hint="References" name="References Compartment" xmi:id="_CvPDtVVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_vbTKYN0DEeS-X4lB2Ut-YA"/>
+    </representations>
+    <representations children="_y-W7oGFAEeWbSMDuSXx8SQ" hint="Flow Properties" name="FlowProperties Compartment" xmi:id="_CSMSEGFBEeWbSMDuSXx8SQ" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_vbTKYN0DEeS-X4lB2Ut-YA"/>
+    </representations>
+  </libraries>
+</expansionmodel:DiagramExpansion>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/icons/obj16/Diagram_BlockDefinition.gif b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/icons/obj16/Diagram_BlockDefinition.gif
new file mode 100644
index 0000000..103060a
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/icons/obj16/Diagram_BlockDefinition.gif
Binary files differ
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/palette/blockDefinitionDiagram.paletteconfiguration b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/palette/blockDefinitionDiagram.paletteconfiguration
new file mode 100644
index 0000000..22062b1
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/palette/blockDefinitionDiagram.paletteconfiguration
@@ -0,0 +1,470 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<paletteconfiguration:PaletteConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:paletteconfiguration="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.8" id="org.eclipse.papyrus.sysML.bdd.palette.model" label="SysML BDD Palette">
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.blocks" label="Blocks" description="Elements from SysML 1.6 Block Definition Diagram">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.AbstractDefinition" label="AbstractDefinition" description="An AbstractDefinition represents an abstract classification of instances according to their Features." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.uml.service.types" iconPath="icons/Classifier.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.AbstractDefinition_NamedElement_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.Actor" label="Actor" description="An Actor specifies a role played by a user or any other system that interacts with the subject." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Actor.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Actor_Class"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:StackConfiguration" id="org.eclipse.papyrus.sysML.bdd.palette.stack.associations" label="Associations">
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.associationdirected" label="Association (Directed)" description="Create a Directed Association" kind="ConnectionTool" toolClassName="">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.uml.service.types" iconPath="/icons/Association_none_directed.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.AssociationDirected_Edge"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.association" label="Association" description="Create an Association" kind="ConnectionTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Association.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.AssociationNonDirected_Edge"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.associationcompositedirected" label="Composite Association (Directed)" description="Create a Directed composite Association" kind="ConnectionTool" toolClassName="">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.uml.service.types" iconPath="/icons/Association_composite_directed.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.AssociationCompositeDirected_Edge"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.associationshareddirected" label="Shared Association (Directed)" description="Create a Directed Shared Association" kind="ConnectionTool" toolClassName="">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.uml.service.types" iconPath="/icons/Association_shared_directed.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.AssociationSharedDirected_Edge"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.SharedAssociation" label="SharedAssociation" description="Create a SharedAssociation" kind="ConnectionTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Association_shared.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.AssociationShared_Edge"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.PartAssociation" label="PartAssociation" description="Create a Part Association" kind="ConnectionTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Association_composite.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.AssociationComposite_Edge"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.Block" label="Block" description="A Block is a modular unit that describes the structure of a system or element." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Block.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Block_Class_MetaclassShape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Block_Class_MetaclassShape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Block_Class_NestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Block_Class_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Block_Class_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.BoundReference" label="BoundReference" description="The BoundReference stereotype can be applied to properties that have binding connectors, to highlight their usage as" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Property.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_AttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_ClassAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_ComponentAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_DataTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_Edge"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_InterfaceAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_PrimitiveTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_SignalAttributeLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.ConnectorProperty" label="ConnectorProperty" description="The values of a connector property are instances of the association block created due to the connector" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Property.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_AttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_ClassAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_ComponentAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_DataTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_Edge"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_InterfaceAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_PrimitiveTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_SignalAttributeLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.ContainmentLink" label="Containment Link" description="A Containment Link indicate that a element is owned by an other element" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.uml.diagram.clazz" iconPath="/icons/obj16/ContainmentConnection.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Element_ContainmentEdge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.Dependency" label="Dependency" description="A Dependency is a Relationship that signifies that a single model Element or a set of model Elements requires other model Elements for their specification or implementation." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Dependency.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Dependency_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.EndPathMultiplicity" label="EndPathMultiplicity" description="The EndPathMultiplicity stereotype can be applied to properties that are related by redefinition to properties that have" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Property.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_AttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_ClassAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_ComponentAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_DataTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_Edge"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_InterfaceAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_PrimitiveTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_SignalAttributeLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.Enumeration" label="Enumeration" description="An Enumeration is a DataType whose values are enumerated in the model as EnumerationLiterals." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Enumeration.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Enumeration_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Enumeration_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Enumeration_ClassNestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Enumeration_InterfaceNestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Enumeration_ComponentNestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Enumeration_NestedClassifierLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.Generalization" label="Generalization" description="A Generalization is a taxonomic relationship between a more general Classifier and a more specific Classifier." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Generalization.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Generalization_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.InstanceSpecification" label="Instance Specification" description="An InstanceSpecification is a model element that represents an instance in a modeled system." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/InstanceSpecification.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InstanceSpecification_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InstanceSpecification_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.ParticipantProperty" label="ParticipantProperty" description="The value of a participant property on an instance (link) of the association block is the value or object at the end of the link corresponding to this end of the association." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Property.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_AttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_ClassAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_ComponentAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_DataTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_Edge"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_InterfaceAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_PrimitiveTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_SignalAttributeLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.Stereotype" label="Stereotype" description="A stereotype defines how an existing metaclass may be extended, and enables the use of platform or domain specific terminology or notation in place of, or in addition to, the ones used for the extended metaclass." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Stereotype.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Stereotype_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Stereotype_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.ValueType" label="ValueType" description="A ValueType defines types of values that may be used to express information about a system, but cannot be identified as the target of any reference." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/ValueType.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ValueType_DataType_NestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ValueType_DataType_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ValueType_DataType_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+  </drawerConfigurations>
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.ports" label="Ports and Flows" description="Elements from SysML 1.6 Block Definition Diagram">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.FlowPort" label="FlowPort" description="A FlowPorts is an interaction point through which input and/or output of items such as data, material, or energy may flow. (Deprecated)" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/FlowProperty.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowPort_Label"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.FlowProperty" label="FlowProperty" description="A FlowProperty signifies a single flow element to/from a block." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/FlowProperty.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowProperty_Property_AttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowProperty_Property_ClassAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowProperty_Property_ComponentAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowProperty_Property_DataTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowProperty_Property_Edge"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowProperty_Property_InterfaceAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowProperty_Property_PrimitiveTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowProperty_Property_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowProperty_Property_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowProperty_Property_SignalAttributeLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.Class_FullPort" label="FullPort" description="Full ports specify a separate element of the system from the owning block or its internal parts." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/FullPort.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Class_FullPort"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FullPort_Label"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.Interface" label="Interface" description="Interfaces declare coherent services that are implemented by BehavioredClassifiers that implement the Interfaces via InterfaceRealizations." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Interface.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Interface_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Interface_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Interface_ClassNestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Interface_NestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Interface_ClassifierShape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.ConjugatedInterfaceBlock" label="ConjugatedInterfaceBlock" description="Conjugated Interface blocks cannot have behaviors, including classifier behaviors or methods, or internal parts." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Class.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_MetaclassShape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_MetaclassShape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_NestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.InterfaceBlock" label="InterfaceBlock" description="Interface blocks cannot have behaviors, including classifier behaviors or methods, or internal parts." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Class.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_MetaclassShape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_MetaclassShape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_NestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.ItemFlow" label="ItemFlow" description="An ItemFlow describes the flow of items across a connector or an association." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/InformationFlow.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ItemFlow_InformationFlow_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.Class_Port" label="Port" description="A Port is a property of an EncapsulatedClassifier that specifies a distinct interaction point between that EncapsulatedClassifier and its environment or between the (behavior of the) EncapsulatedClassifier and its internal parts." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Port.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Class_Port"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.Class_ProxyPort" label="ProxyPort" description="Proxy ports identify features of the owning block or its internal parts that are available to external blocks through external connectors to the ports." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/ProxyPort.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Class_ProxyPort"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ProxyPort_Label"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+  </drawerConfigurations>
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.contraints" label="Constraints" description="Elements from SysML 1.6 Block Definition Diagram">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.Constraints.Constraint" label="Constraint" description="A Constraint is a condition or restriction expressed in natural language text or in a machine readable language." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Constraint.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_Shape_CCN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_PackagedElementShape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_PackagedElementShape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Constraint_Label"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.ConstraintBlock" label="ConstraintBlock" description="A constraint block is a block that packages the statement of a constraint so it may be applied in a reusable way to contrain properties of other blocks." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="/icons/full/obj16/ConstraintBlock.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_ClassNestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_ComponentNestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_InterfaceNestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_MetaclassShape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_MetaclassShape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_NestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.bdd.Parameter" label="Parameter" description="A parameter is a property of a ConstraintBlock." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Property.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Parameter_BorderItem"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Parameter_Property_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Parameter_Property_AttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Parameter_BorderItemClassShape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Parameter_label"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+  </drawerConfigurations>
+</paletteconfiguration:PaletteConfiguration>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/style/blockDefinitionDiagram.css b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/style/blockDefinitionDiagram.css
new file mode 100644
index 0000000..cd2e852
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/style/blockDefinitionDiagram.css
@@ -0,0 +1,301 @@
+/*****************************************************************************
+ * 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *  Benoit Maggi (CEA LIST) benoit.maggi@cea.fr
+ *  Benoit Maggi (CEA LIST) benoit.maggi@cea.fr : #521319
+ *****************************************************************************/
+/*
+ * SHARED ELEMENTS
+ */
+ 
+Compartment{
+	visible: false;
+	showTitle: false;
+}
+
+Compartment[kind=structure]{
+	showTitle: false;
+}
+
+Package > Compartment[kind="packagedelements"],
+Model > Compartment[kind="packagedelements"]{
+	visible: true;
+	showTitle: false;
+}
+
+[deprecated=true] {
+	lineColor: orange;
+}
+
+[appliedStereotypes~="FlowSpecification"]{
+	elementIcon:false;
+	displayIcon:false;
+}
+
+[appliedStereotypes~="FlowSpecification"] > Compartment[kind=flowproperties]{
+	visible: true;
+}
+
+[appliedStereotypes~="ValueType"] > Compartment[kind=attributes],
+[appliedStereotypes~="ValueType"] > Compartment[kind=operations],
+[appliedStereotypes~="ValueType"] > Compartment[type=StereotypeCompartment]{
+	visible: true;
+	showTitle: true;
+}
+
+/*
+ * Comment
+ */
+Class[appliedStereotypes~="Comment"]{
+	visible:true;
+}
+
+/*
+ * Stereotype ElementGroup
+ */
+ 
+Class[appliedStereotypes~="ElementGroup"] {
+    visible:true;
+    showTitle:true;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="name"]
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="criterion"],
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="size"],
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="member"],
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="orderedMember"]{
+	visible:true;
+}
+
+/*
+ * Stereotype FlowProperty
+ */
+Class[appliedStereotypes~="FlowProperty"] {
+    visible:true;
+    showTitle:true;
+}
+
+/*
+ * Problem
+ */
+Class[appliedStereotypes~="Problem"]{
+	visible:true;
+}
+
+/*
+ * Rationale
+ */
+Class[appliedStereotypes~="Rational"]{
+	visible:true;
+}
+
+/*
+ * Stakeholder
+ */
+Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+} 
+ 
+[appliedStereotypes~="Stakeholder"] > Compartment[kind=attributes],
+[appliedStereotypes~="Stakeholder"] > Compartment[kind=operations],
+[appliedStereotypes~="Stakeholder"] > Compartment[kind=constraints]{
+	visible: true;
+}
+
+Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] > [property="concernList"],
+Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] > [property="concern"]{
+	visible:true;
+}
+
+/*
+ * Stereotype View
+ */
+Class[appliedStereotypes~="View"] > Compartment[kind=attributes],
+Class[appliedStereotypes~="View"] > Compartment[kind=operations]{
+    visible:true;
+    showTitle:false;
+} 
+
+Class[appliedStereotypes~="View"] > Compartment[kind="nestedclassifiers"]{
+    visible:false;
+    showTitle:false;
+} 
+ 
+Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:true;
+}
+
+Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] > [property="stakeholder"],
+Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] > [property="viewpoint"]{
+	visible:true;
+}
+
+/*
+ * Stereotype Viewpoint
+ */
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+} 
+ 
+[appliedStereotypes~="Viewpoint"] > Compartment[kind=attributes],
+[appliedStereotypes~="Viewpoint"] > Compartment[kind=operations]{
+	visible:true;
+}
+
+[appliedStereotypes~="Viewpoint"] > Compartment[kind="internal structure"],
+[appliedStereotypes~="Viewpoint"] > Compartment[kind="symbol"]{
+	visible:false;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="stakeholder"],
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="purpose"],
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="concernList"],
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="language"],
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="method"],
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="presentation"],
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="concern"]{
+	visible:true;
+}
+
+/*
+ * SPECIFIC ELEMENTS
+ */
+BlockDefinitionDiagram Compartment{
+	visible: false;
+	showTitle: true;
+}
+
+BlockDefinitionDiagram Property > Compartment[kind=structure]{
+	visible: true;
+}
+
+BlockDefinitionDiagram DataType > Compartment[kind=attributes],
+BlockDefinitionDiagram Enumeration > Compartment[kind=EnumerationLiteralCompartment],
+BlockDefinitionDiagram InstanceSpecification > Compartment[kind=slots],
+BlockDefinitionDiagram Interface > Compartment[kind=attributes],
+BlockDefinitionDiagram Interface > Compartment[kind=operations]{
+	showTitle:true;
+	visible: true;
+}
+
+/*
+ * Stereotype Block
+ */
+[appliedStereotypes~="Block"] > Compartment[kind=attributes],
+[appliedStereotypes~="Block"] > Compartment[kind=operations],
+[appliedStereotypes~="Block"] > Compartment[kind=constraints],
+[appliedStereotypes~="Block"] > Compartment[kind="parts"]{
+	visible: true;
+	showTitle:true;
+} 
+ 
+[appliedStereotypes~="Block"] > Compartment[kind=nestedclassifiers],
+[appliedStereotypes~="Block"] > Compartment[kind=StereotypeCompartment],
+[appliedStereotypes~="Block"] > Compartment[kind=FullPorts] {
+    visible:false;
+    showTitle:false;
+}
+
+/*
+ * Stereotype ConstraintBlock
+ */
+
+Class[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=attributes], 
+Class[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=nestedclassifiers],
+Class[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=StereotypeCompartment],
+Class[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=operations]  {
+    visible:false;
+    showTitle:false;
+}
+
+Class[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=structure],
+Class[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=basiccompartment],
+Class[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=Parameters],
+Class[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=constraints]{
+	visible: true;
+	showTitle:true;
+}
+
+
+/*
+ * Stereotype InterfaceBlock
+ */
+Class[appliedStereotypes~=InterfaceBlock] > Compartment[kind=operations] {
+	visible: true;
+	showTitle:true;
+}
+
+/*
+ * Stereotype InterfaceBlock
+ */
+Class[appliedStereotypes~=ConjugatedInterfaceBlock] > Compartment[kind=operations] {
+	visible: true;
+	showTitle:true;
+} 
+
+/*
+ * Stereotype Requirement
+ */
+Class[appliedStereotypes~="Requirement"] > Compartment[kind=nestedclassifiers]{
+    visible:false;
+    showTitle:false;
+}
+ 
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+}
+
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="derived"],
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="derivedFrom"],
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="satisfiedBy"],
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="refinedBy"],
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="tracedTo"],
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="verifiedBy"],
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="master"]{
+	visible:false;
+}
+
+Class[appliedStereotypes~="Requirement"] > Compartment[kind="operations"] {
+    visible:false;
+}
+
+/*
+ * Actor
+ */
+Actor
+{
+	displayBorder:false;
+	displayName:false;
+	diplayIcon:false;
+	displayTag:false;
+	followSVGSymbol:true;
+	maintainSymbolRatio:true;
+	transparency:100;
+	/*displayFloatingLabel:true;*/
+	maxNumberOfSymbol:1;
+	useOriginalColors:false;
+	gradient:none;
+	fillColor:white;
+}
+
+Actor > Compartment[kind="symbol"]
+{
+    visible:true;
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/Activator.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/Activator.java
new file mode 100644
index 0000000..02f8913
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/Activator.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.blockdefinition;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * 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.sysml16.diagram.blockdefinition"; //$NON-NLS-1$
+
+	/**
+	 * Returns an image descriptor for the image file at the given plug-in relative path.
+	 *
+	 * @param path
+	 *            The path.
+	 * @return The image descriptor.
+	 */
+	public static ImageDescriptor getImageDescriptor(String path) {
+		return imageDescriptorFromPlugin(PLUGIN_ID, path);
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/internal/factory/BlockClassifierViewFactory.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/internal/factory/BlockClassifierViewFactory.java
new file mode 100644
index 0000000..791000c
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/internal/factory/BlockClassifierViewFactory.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.diagram.blockdefinition.internal.factory;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.factory.AbstractBasicViewFactory;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.ClassAttributeCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.ClassFloatingNameEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.ClassNameEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.ClassNestedClassifierCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.ClassOperationCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.part.UMLVisualIDRegistry;
+import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
+
+/**
+ * 
+ * extraction from classdiagram UML view Provider
+ *
+ */
+public class BlockClassifierViewFactory extends AbstractBasicViewFactory {
+
+	/**
+	 * Base element of Block
+	 */
+	private static final String CLASS = "Class";//$NON-NLS-1$
+
+	@Override
+	public Node createElementView(EObject domainElement, View containerView, String semanticHint, int index, boolean persisted, PreferencesHint preferencesHint) {
+		Shape node = NotationFactory.eINSTANCE.createShape();
+		node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+		node.setType(semanticHint);
+		ViewUtil.insertChildView(containerView, node, index, persisted);
+		node.setElement(domainElement);
+		stampShortcut(containerView, node);
+		// initializeFromPreferences
+		final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint.getPreferenceStore();
+
+		PreferenceInitializerForElementHelper.initFontStyleFromPrefs(node, prefStore, CLASS);
+		createLabel(node, UMLVisualIDRegistry.getType(ClassNameEditPart.VISUAL_ID));
+		Node label8510 = createLabel(node, UMLVisualIDRegistry.getType(ClassFloatingNameEditPart.VISUAL_ID));
+		label8510.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+		Location location8510 = (Location) label8510.getLayoutConstraint();
+		location8510.setX(0);
+		location8510.setY(5);
+		createCompartment(node, UMLVisualIDRegistry.getType(ClassAttributeCompartmentEditPart.VISUAL_ID), true, true, true, true);
+		createCompartment(node, UMLVisualIDRegistry.getType(ClassOperationCompartmentEditPart.VISUAL_ID), true, true, true, true);
+		createCompartment(node, UMLVisualIDRegistry.getType(ClassNestedClassifierCompartmentEditPart.VISUAL_ID), true, true, true, true);
+		PreferenceInitializerForElementHelper.initCompartmentsStatusFromPrefs(node, prefStore, CLASS);
+		return node;
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/internal/factory/FlowSpecificationClassifierViewFactory.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/internal/factory/FlowSpecificationClassifierViewFactory.java
new file mode 100644
index 0000000..8c17b98
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/internal/factory/FlowSpecificationClassifierViewFactory.java
@@ -0,0 +1,74 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.blockdefinition.internal.factory;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.factory.AbstractBasicViewFactory;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.factory.util.ClassifierViewFactoryUtil;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.InterfaceAttributeCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.InterfaceFloatingNameEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.InterfaceNameEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.InterfaceNestedClassifierCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.InterfaceOperationCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.part.UMLVisualIDRegistry;
+import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
+
+/**
+ * 
+ * Extraction from org.eclipse.papyrus/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/providers/UMLViewProvider.java
+ *
+ */
+public class FlowSpecificationClassifierViewFactory extends AbstractBasicViewFactory {
+
+	/**
+	 * Base element of FlowSpecification
+	 */
+	private static final String INTERFACE = "Interface";//$NON-NLS-1$
+
+	@Override
+	public Node createElementView(EObject domainElement, View containerView, String semanticHint, int index, boolean persisted, PreferencesHint preferencesHint) {
+		Shape node = NotationFactory.eINSTANCE.createShape();
+		node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+		node.setType(semanticHint);
+		ViewUtil.insertChildView(containerView, node, index, persisted);
+		node.setElement(domainElement);
+		ClassifierViewFactoryUtil.stampShortcut(containerView, node);
+		// initializeFromPreferences
+		final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint.getPreferenceStore();
+
+		PreferenceInitializerForElementHelper.initFontStyleFromPrefs(node, prefStore, INTERFACE);
+		ClassifierViewFactoryUtil.createLabel(node, UMLVisualIDRegistry.getType(InterfaceNameEditPart.VISUAL_ID));
+		Node label8507 = ClassifierViewFactoryUtil.createLabel(node, UMLVisualIDRegistry.getType(InterfaceFloatingNameEditPart.VISUAL_ID));
+		label8507.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+		Location location8507 = (Location) label8507.getLayoutConstraint();
+		location8507.setX(0);
+		location8507.setY(5);
+
+		ClassifierViewFactoryUtil.createCompartment(node, UMLVisualIDRegistry.getType(InterfaceAttributeCompartmentEditPart.VISUAL_ID), true, true, true, true);
+		ClassifierViewFactoryUtil.createCompartment(node, UMLVisualIDRegistry.getType(InterfaceOperationCompartmentEditPart.VISUAL_ID), true, true, true, true);
+		ClassifierViewFactoryUtil.createCompartment(node, UMLVisualIDRegistry.getType(InterfaceNestedClassifierCompartmentEditPart.VISUAL_ID), true, true, true, true);
+		PreferenceInitializerForElementHelper.initCompartmentsStatusFromPrefs(node, prefStore, INTERFACE);
+		return node;
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/internal/factory/OperationPortViewFactory.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/internal/factory/OperationPortViewFactory.java
new file mode 100644
index 0000000..dd7f014
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/internal/factory/OperationPortViewFactory.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.blockdefinition.internal.factory;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.factory.AbstractBasicViewFactory;
+import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
+
+public class OperationPortViewFactory extends AbstractBasicViewFactory {
+
+	/**
+	 * Base element of OperationPort
+	 */
+	private static final String PORT = "Port";//$NON-NLS-1$
+	/**
+	 * visual ID for stereotype label of border item
+	 */
+	protected static final String OPERATION_BORDER_ITEM_STEREOTYPE_LABEL = "Operation_BorderItem_Stereotype_Label";//$NON-NLS-1$
+	/**
+	 * visual ID for name label of border item
+	 */
+	protected static final String OPERATION_BORDER_ITEM_LABEL = "Operation_BorderItem_Label";//$NON-NLS-1$
+
+	@Override
+	public Node createElementView(EObject domainElement, View containerView, String semanticHint, int index, boolean persisted, PreferencesHint preferencesHint) {
+		Shape node = NotationFactory.eINSTANCE.createShape();
+		node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+		node.setType(semanticHint);
+		ViewUtil.insertChildView(containerView, node, index, persisted);
+		node.setElement(domainElement);
+		// initializeFromPreferences
+		final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint.getPreferenceStore();
+		PreferenceInitializerForElementHelper.initFontStyleFromPrefs(node, prefStore, PORT);
+		Node label5125 = createLabel(node, OPERATION_BORDER_ITEM_LABEL);
+		label5125.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+		Location location5125 = (Location) label5125.getLayoutConstraint();
+		location5125.setX(25);
+		location5125.setY(3);
+		Node label6029 = createLabel(node, OPERATION_BORDER_ITEM_STEREOTYPE_LABEL);
+		label6029.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+		Location location6029 = (Location) label6029.getLayoutConstraint();
+		location6029.setX(25);
+		location6029.setY(-10);
+		return node;
+	}
+
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/internal/factory/PortViewFactory.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/internal/factory/PortViewFactory.java
new file mode 100644
index 0000000..5fcfc41
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/internal/factory/PortViewFactory.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.blockdefinition.internal.factory;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.factory.AbstractBasicViewFactory;
+import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
+
+public class PortViewFactory extends AbstractBasicViewFactory {
+
+	/**
+	 * Base element of SysML Port
+	 */
+	private static final String PORT = "Port";//$NON-NLS-1$
+	/**
+	 * visual ID for name label of border item
+	 */
+	protected static final String OPERATION_BORDER_ITEM_LABEL = "Operation_BorderItem_Label";//$NON-NLS-1$
+
+	@Override
+	public Node createElementView(EObject domainElement, View containerView, String semanticHint, int index, boolean persisted, PreferencesHint preferencesHint) {
+		Shape node = NotationFactory.eINSTANCE.createShape();
+		node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+		node.setType(semanticHint);
+		ViewUtil.insertChildView(containerView, node, index, persisted);
+		node.setElement(domainElement);
+		// initializeFromPreferences
+		final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint.getPreferenceStore();
+		PreferenceInitializerForElementHelper.initFontStyleFromPrefs(node, prefStore, PORT);
+		Node label5125 = createLabel(node, OPERATION_BORDER_ITEM_LABEL);
+		label5125.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+		Location location5125 = (Location) label5125.getLayoutConstraint();
+		location5125.setX(25);
+		location5125.setY(3);
+		return node;
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/provider/ParserProvider.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/provider/ParserProvider.java
new file mode 100644
index 0000000..52bb868
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/provider/ParserProvider.java
@@ -0,0 +1,80 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.blockdefinition.provider;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
+import org.eclipse.gmf.runtime.common.core.service.IOperation;
+import org.eclipse.gmf.runtime.common.ui.services.parser.GetParserOperation;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserProvider;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.common.parser.ConstraintLabelParser;
+
+/**
+ * Parser provider for labels used by this diagram.
+ */
+public class ParserProvider extends AbstractProvider implements IParserProvider {
+
+	/** map from graphical hint to parsers */
+	private static final Map<String, IParser> graphicalHintToParser = new HashMap<>();
+
+	static {
+		graphicalHintToParser.put("Constraint_Label", new ConstraintLabelParser());
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean provides(IOperation operation) {
+		if (operation instanceof GetParserOperation) {
+			IAdaptable hint = ((GetParserOperation) operation).getHint();
+
+
+			return getParser(hint) != null;
+		}
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public IParser getParser(IAdaptable hint) {
+		String parserHint = hint.getAdapter(String.class);
+		if (parserHint != null) {
+			IParser parser = graphicalHintToParser.get(parserHint);
+			if (parser != null) {
+				return parser;
+			}
+		}
+
+		View view = hint.getAdapter(View.class);
+		if (view != null) {
+			IParser parser = graphicalHintToParser.get(view.getType());
+			if (parser != null) {
+				return parser;
+			}
+		}
+
+		return null;
+	}
+
+}
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.classpath b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.project b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.project
new file mode 100644
index 0000000..5696edd
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.diagram.common</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.core.resources.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.core.runtime.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.jdt.core.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.jdt.ui.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.m2e.core.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.pde.api.tools.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/META-INF/MANIFEST.MF b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..3364c17
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/META-INF/MANIFEST.MF
@@ -0,0 +1,71 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.diagram.common;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.sysml16.diagram.common.Activator
+Require-Bundle: org.eclipse.core.databinding;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.e4.ui.css.core;bundle-version="[0.11.0,1.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.preferences;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.expansion;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.tools;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.architecture.representation;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[3.0.0,4.0.0)", 
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.stereotype.edition;bundle-version="[2.0.0,3.0.0]",
+ org.eclipse.papyrus.uml.service.types;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.tools;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.service.types;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.sysml16.diagram.common;uses:="org.eclipse.ui.plugin,org.osgi.framework",
+ org.eclipse.papyrus.sysml16.diagram.common.advices,
+ org.eclipse.papyrus.sysml16.diagram.common.command,
+ org.eclipse.papyrus.sysml16.diagram.common.css.dom,
+ org.eclipse.papyrus.sysml16.diagram.common.css.helper,
+ org.eclipse.papyrus.sysml16.diagram.common.dialog,
+ org.eclipse.papyrus.sysml16.diagram.common.edit.parts,
+ org.eclipse.papyrus.sysml16.diagram.common.figure,
+ org.eclipse.papyrus.sysml16.diagram.common.internal.command;
+  x-friends:="org.eclipse.papyrus.sysml16.diagram.internalblock,
+   org.eclipse.papyrus.sysml16.diagram.blockdefinition,
+   org.eclipse.papyrus.sysml16.diagram.parametric,
+   org.eclipse.papyrus.sysml16.diagram.requirement",
+ org.eclipse.papyrus.sysml16.diagram.common.internal.dialog;
+  x-friends:="org.eclipse.papyrus.sysml16.diagram.internalblock,
+   org.eclipse.papyrus.sysml16.diagram.blockdefinition,
+   org.eclipse.papyrus.sysml16.diagram.parametric,
+   org.eclipse.papyrus.sysml16.diagram.requirement",
+ org.eclipse.papyrus.sysml16.diagram.common.internal.factory;
+  x-friends:="org.eclipse.papyrus.sysml16.diagram.internalblock,
+   org.eclipse.papyrus.sysml16.diagram.blockdefinition,
+   org.eclipse.papyrus.sysml16.diagram.parametric,
+   org.eclipse.papyrus.sysml16.diagram.requirement",
+ org.eclipse.papyrus.sysml16.diagram.common.internal.factory.util;
+  x-friends:="org.eclipse.papyrus.sysml16.diagram.blockdefinition,
+   org.eclipse.papyrus.sysml16.diagram.internalblock,
+   org.eclipse.papyrus.sysml16.diagram.parametric,
+   org.eclipse.papyrus.sysml16.diagram.requirement",
+ org.eclipse.papyrus.sysml16.diagram.common.internal.provider;x-internal:=true,
+ org.eclipse.papyrus.sysml16.diagram.common.provider,
+ org.eclipse.papyrus.sysml16.diagram.common.util
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Bundle-Description: %Bundle-Description
+Bundle-Vendor: %Bundle-Vendor
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.diagram.common
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/about.html b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/build.properties b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/build.properties
new file mode 100644
index 0000000..ac84b4e
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/build.properties
@@ -0,0 +1,12 @@
+#
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               resources/,\
+               about.html
+jars.compile.order = .
+source.. = src/
+output.. = target/classes/
+src.includes = about.html
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/plugin.properties b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/plugin.properties
new file mode 100644
index 0000000..c39d3a4
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/plugin.properties
@@ -0,0 +1,17 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name= Papyrus SysML 1.6 Diagram Common
+Bundle-Description=This plug-in contains the common part of all SysML 1.6 diagram
+Bundle-Vendor=Eclipse Modeling Project
+
+
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/plugin.xml b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/plugin.xml
new file mode 100644
index 0000000..c0c3ac7
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/plugin.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin> 
+  
+    <extension
+         point="org.eclipse.papyrus.infra.types.core.elementTypeSetConfiguration">
+      <elementTypeSet
+            clientContextID="org.eclipse.papyrus.infra.services.edit.TypeContext"
+            path="resources/SysML16Di-extension.elementtypesconfigurations">
+      </elementTypeSet>   
+   
+   </extension>
+         <extension
+         point="org.eclipse.papyrus.infra.types.core.elementTypeSetConfiguration">
+      <elementTypeSet
+            clientContextID="org.eclipse.papyrus.infra.services.edit.TypeContext"
+            path="resources/SysML16DiUML.elementtypesconfigurations">
+      </elementTypeSet>
+   </extension>   
+    
+   <!--CSS Theme -->
+   <extension
+         point="org.eclipse.papyrus.infra.gmfdiag.css.domElementAdapter">
+      <factory
+            factory="org.eclipse.papyrus.sysml16.diagram.common.css.dom.GMFSYSMLElementProviderFactory"
+            order="1">
+      </factory>
+   </extension>
+   
+   <extension
+        point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
+     <library
+           description="SysML 1.6 OMG Library"
+           name="SysML 1.6 OMG"
+           path="pathmap://SysML16_OMG/omg.sysml.uml">
+     </library>
+  </extension>
+  
+   <extension
+         point="org.eclipse.gmf.runtime.diagram.core.viewProviders">
+      <viewProvider
+            class="org.eclipse.papyrus.sysml16.diagram.common.internal.provider.SysML16ExpandViewProvider">
+         <Priority
+               name="Low">
+         </Priority>
+      </viewProvider>
+   </extension>
+
+</plugin>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/pom.xml b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/pom.xml
new file mode 100644
index 0000000..8ed6af2
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.sysml</groupId>	
+		<artifactId>org.eclipse.papyrus.sysml16.diagram</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.diagram.common</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.diagram.common</name>
+	<description>This plug-in contains the common part of all SysML 1.6 diagrams.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations
new file mode 100644
index 0000000..38f5583
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations
@@ -0,0 +1,454 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<elementtypesconfigurations:ElementTypeSetConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:stereotypematcher="http://www.eclipse.org/papyrus/uml/types/stereotypematcher/1.1" xmi:id="org.eclipse.papyrus.sysml16di.elementTypeSet.extension" identifier="org.eclipse.papyrus.sysml16di.elementTypeSet.extension" name="SysML 1.6 Extension" metamodelNsURI="http://www.eclipse.org/uml2/5.0.0/UML">
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AbstractDefinition_NamedElement_Shape" identifier="org.eclipse.papyrus.sysml16di.AbstractDefinition_NamedElement_Shape" name="AbstractDefinition (Stakeholder_NamedElement_Shape)" hint="NamedElement_DefaultShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_r8qY0Nx2EeWVxMf7SXAfhg" iconPath="/icons/full/obj16/Classifier.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_y-4fUIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AbstractDefinitionClass"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.NamedElement_DefaultShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ActorPart_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.ActorPart_Property_Shape" name="ActorPart (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_elfcUE_tEeWS1Mofp4ST9Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_elfcUU_tEeWS1Mofp4ST9Q" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.ActorPartGraphicalEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_y-4fUIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ActorPart"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ActorPart_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ActorPart_Property_AttributeLabel" name="ActorPart" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_S5YwwR_5EeWp9rJ2gmw59A" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_5wiAgB_5EeWp9rJ2gmw59A" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.ActorPartGraphicalEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_k5pC8Ie8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ActorPart"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConstraintProperty_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.ConstraintProperty_Property_Shape" name="ConstraintProperty (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_NIBSUe5lEeSNB9Q0D5gJiA" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_8Yf_oPfpEeSxkueHcFw1lw" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.ConstraintPropertyGraphicalEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_yH1ikIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConstraintProperty_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ConstraintProperty_Property_AttributeLabel" name="ConstraintProperty (Property_AttributeLabel)" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_NIBSU-5lEeSNB9Q0D5gJiA" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_JOurMPfqEeSxkueHcFw1lw" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.ConstraintPropertyGraphicalEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_yZR34Ie8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Part_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.Part_Property_Shape" name="Part (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_VU6eQU_sEeWS1Mofp4ST9Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_VU6eQk_sEeWS1Mofp4ST9Q" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_ylyp4Ie8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Part"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Part_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Part_Property_AttributeLabel" name="Part (Property_AttributeLabel)" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_VU6eRE_sEeWS1Mofp4ST9Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_VU6eRU_sEeWS1Mofp4ST9Q" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_yzWkwIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Part"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Reference_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.Reference_Property_Shape" name="Reference (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_elfcUE_tEeWS1Mofp4ST9Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_elfcUU_tEeWS1Mofp4ST9Q" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_y-4fUIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Reference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Reference_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Reference_Property_AttributeLabel" name="Reference (Property_AttributeLabel)" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_elfcU0_tEeWS1Mofp4ST9Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_elfcVE_tEeWS1Mofp4ST9Q" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_zLVm8Ie8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Reference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Value_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.Value_Property_Shape" name="Value (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_rArxsU_tEeWS1Mofp4ST9Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_rArxsk_tEeWS1Mofp4ST9Q" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.ValueEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_zXt2EIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Value"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Value_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Value_Property_AttributeLabel" name="Value (Property_AttributeLabel)" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_rArxtE_tEeWS1Mofp4ST9Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_rArxtU_tEeWS1Mofp4ST9Q" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_zl-UgIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Value"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.PropertySpecificType_Class_Shape_CN" description="Class_Shape_CN PropertySpecificType on" identifier="org.eclipse.papyrus.sysml16di.PropertySpecificType_Class_Shape_CN" name="PropertySpecificType(Class_Shape_CN)" hint="Class_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_0ZtekIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.PropertySpecificType"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConstraintPropertyComposite" identifier="org.eclipse.papyrus.sysml16di.ConstraintPropertyComposite" name="ConstraintPropertyComposite" hint="ConstraintPropertyComposite" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_nOKtsYMDEeW6xruev4cRfQ" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_nOKtsoMDEeW6xruev4cRfQ" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.ConstraintPropertyGraphicalEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_0zWtoIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintProperty"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Parameter_BorderItem" description="Property value hat must displayed in constraint property" identifier="org.eclipse.papyrus.sysml16di.Parameter_BorderItem" name="Parameter_BorderItem" hint="Parameter_BorderItem" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_1CJ-oIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Constraint_Label" description="Used to display a constraint in the typed constraint property" identifier="org.eclipse.papyrus.sysml16di.Constraint_Label" name="Constraint_Label" hint="Constraint_Label" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_Hhhu4IosEeWtc9KcHKfIiw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Constraint"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Parameter_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.Parameter_Property_Shape" name="Parameter (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_edrxAYlmEeaZOo7yAgA8OQ" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_edrxA4lmEeaZOo7yAgA8OQ" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Parameter"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Parameter_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Parameter_Property_AttributeLabel" name="Parameter (Property_AttributeLabel)" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_edrxBYlmEeaZOo7yAgA8OQ" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_edrxB4lmEeaZOo7yAgA8OQ" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Parameter"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Parameter_BorderItemClassShape" description="Property value hat must displayed in constraint block" identifier="org.eclipse.papyrus.sysml16di.Parameter_BorderItemClassShape" name="Parameter_BorderItem (Class_Shape)" hint="Parameter_BorderItem" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_TzcwcfRlEeakH_jG3IBwLw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Parameter"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ContinuousControlFlow_Edge" description="" identifier="org.eclipse.papyrus.sysml16di.ContinuousControlFlow_Edge" name="ContinuousControlFlow_Edge" hint="ControlFlow_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_zRpmkW0gEeeeqo2x6wJ6iw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ContinuousControlFlow"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ControlFlow_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.RateControlFlow_Edge" description="" identifier="org.eclipse.papyrus.sysml16di.RateControlFlow_Edge" name="RateControlFlow_Edge" hint="ControlFlow_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_zRpmkW0gEeeeqo2x6wJ6iw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.RateControlFlow"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ControlFlow_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DiscreteControlFlow_Edge" description="" identifier="org.eclipse.papyrus.sysml16di.DiscreteControlFlow_Edge" name="DiscreteControlFlow_Edge" hint="ControlFlow_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_zRpmkW0gEeeeqo2x6wJ6iw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DiscreteControlFlow"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ControlFlow_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Block_NestedBlock_Classifier" identifier="org.eclipse.papyrus.sysml16di.Block_NestedBlock_Classifier" name="Block (NestedBlock_Classifier)" hint="NestedBlock_Classifier" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_n9BYgdFeEeSxf_hKmhrahA" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_n9BYgtFeEeSxf_hKmhrahA">
+      <stereotypesQualifiedNames>SysML::Blocks::Block</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Block"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Label" description="" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Label" name="FlowPort (FlowPort_Label)" hint="FlowPort_Label" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_tjVDYc1xEeSsRbN4ihgqDg" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_tjVDYs1xEeSsRbN4ihgqDg">
+      <stereotypesQualifiedNames>SysML::DeprecatedElements::FlowPort</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Property_SignalAttributeLabel" description="" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Property_SignalAttributeLabel" name="FlowPort (Property_SignalAttributeLabel)" hint="Property_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_39Sg0c1xEeSsRbN4ihgqDg" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_39Sg0s1xEeSsRbN4ihgqDg">
+      <stereotypesQualifiedNames>SysML::DeprecatedElements::FlowPort</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Property_InterfaceAttributeLabel" description="" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Property_InterfaceAttributeLabel" name="FlowPort (Property_InterfaceAttributeLabel)" hint="Property_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_42Bfoc1xEeSsRbN4ihgqDg" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_42Bfos1xEeSsRbN4ihgqDg">
+      <stereotypesQualifiedNames>SysML::DeprecatedElements::FlowPort</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Property_ClassAttributeLabel" description="" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Property_ClassAttributeLabel" name="FlowPort (Property_ClassAttributeLabel)" hint="Property_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_5h35Ac1xEeSsRbN4ihgqDg" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_5h35As1xEeSsRbN4ihgqDg">
+      <stereotypesQualifiedNames>SysML::DeprecatedElements::FlowPort</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Property_DataTypeAttributeLabel" description="" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Property_DataTypeAttributeLabel" name="FlowPort (Property_DataTypeAttributeLabel)" hint="Property_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_8e8HEc1xEeSsRbN4ihgqDg" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_8e8HEs1xEeSsRbN4ihgqDg">
+      <stereotypesQualifiedNames>SysML::DeprecatedElements::FlowPort</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Property_PrimitiveTypeAttributeLabel" description="" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Property_PrimitiveTypeAttributeLabel" name="FlowPort (Property_PrimitiveTypeAttributeLabel)" hint="Property_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_9Ecn4c1xEeSsRbN4ihgqDg" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_9Ecn4s1xEeSsRbN4ihgqDg">
+      <stereotypesQualifiedNames>SysML::DeprecatedElements::FlowPort</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di." identifier="org.eclipse.papyrus.sysml16di." name="ControlOperator (Operation_BorderItem)" hint="Operation_BorderItem" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_R01uQdH_EeSxf_hKmhrahA" iconPath="/icons/full/obj16/Operation.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_R01uQtH_EeSxf_hKmhrahA">
+      <stereotypesQualifiedNames>SysML::Activities::ControlOperator</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ControlOperator_Operation"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Verify_Abstraction_Verify_Link" identifier="org.eclipse.papyrus.sysml16di.Verify_Abstraction_Verify_Link" name="Verify_Link" hint="Verify_Link" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_YjE7YNPBEeSRNI7img_HuA" iconPath="/icons/full/obj16/Operation.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_YjE7YdPBEeSRNI7img_HuA">
+      <stereotypesQualifiedNames>SysML::Activities::ControlOperator</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Verify_Abstraction"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Actor_Class" description="Create an Actor in a UML Class Diagram" identifier="org.eclipse.papyrus.sysml16di.Actor_Class" name="Actor" hint="Class_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_HQFw0eduEeSUQvXhEVQh8w" iconPath="/icons/full/obj16/Actor.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_DlNdMIxDEeWFTecuNLV29Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Actor"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Unit_InstanceSpecification_Shape" description="Create an Unit in a UML Class Diagram" identifier="org.eclipse.papyrus.sysml16di.Unit_InstanceSpecification_Shape" name="Unit_InstanceSpecification_Shape" hint="InstanceSpecification_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_oSLsEIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Unit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InstanceSpecification_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Unit_InstanceSpecification_Shape_CN" description="Create an Unit in a UML Class Diagram" identifier="org.eclipse.papyrus.sysml16di.Unit_InstanceSpecification_Shape_CN" name="Unit_InstanceSpecification_Shape_CN" hint="InstanceSpecification_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_o7STcIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Unit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InstanceSpecification_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.QuantityKind_InstanceSpecification_Shape" description="Create an QuantityKind in a UML Class Diagram" identifier="org.eclipse.papyrus.sysml16di.QuantityKind_InstanceSpecification_Shape" name="QuantityKind_InstanceSpecification_Shape" hint="InstanceSpecification_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_pCPQAIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.QuantityKind"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InstanceSpecification_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.QuantityKind_InstanceSpecification_Shape_CN" description="Create an QuantityKind in a UML Class Diagram" identifier="org.eclipse.papyrus.sysml16di.QuantityKind_InstanceSpecification_Shape_CN" name="QuantityKind_InstanceSpecification_Shape_CN" hint="InstanceSpecification_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_pM62AIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.QuantityKind"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InstanceSpecification_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Class_Port" description="Create an UML Port in an UML Class Diagram" identifier="org.eclipse.papyrus.sysml16di.Class_Port" name="Class_Port" hint="Class_Port" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_pxKLgIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Port"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Class_ProxyPort" description="Create an UML ProxyPort in an UML Class Diagram" identifier="org.eclipse.papyrus.sysml16di.Class_ProxyPort" name="Class_ProxyPort" hint="Class_ProxyPort" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p7ucwIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Class_FullPort" description="Create an UML FullPort in an UML Class Diagram" identifier="org.eclipse.papyrus.sysml16di.Class_FullPort" name="Class_FullPort" hint="Class_FullPort" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_qF66kIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ProxyPort_Label" description="" identifier="org.eclipse.papyrus.sysml16di.ProxyPort_Label" name="ProxyPort (ProxyPort_Label)" hint="ProxyPort_Label" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_0su20eyxEeSNB9Q0D5gJiA" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_0su20uyxEeSNB9Q0D5gJiA">
+      <stereotypesQualifiedNames>SysML::DeprecatedElements::FlowPort</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FullPort_Label" description="" identifier="org.eclipse.papyrus.sysml16di.FullPort_Label" name="FullPort (FullPort_Label)" hint="FullPort_Label" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_1HdD8eyxEeSNB9Q0D5gJiA" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_1HdD8uyxEeSNB9Q0D5gJiA">
+      <stereotypesQualifiedNames>SysML::DeprecatedElements::FlowPort</stereotypesQualifiedNames>
+    </matcherConfiguration>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Value_Property_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Value_Property_ComponentAttributeLabel" name="Value (Property_ComponentAttributeLabel)" hint="Property_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_6swwIScIEeWZS4hs8J1fNQ" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_6swwIicIEeWZS4hs8J1fNQ" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.ValueEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_rcBx4Ie8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Value"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Value_Property_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Value_Property_SignalAttributeLabel" name="Value (Property_SignalAttributeLabel)" hint="Property_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_TSDJVCCyEeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_I_GrICC4EeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.ValueEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_rt1TkIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Value"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Value_Property_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Value_Property_InterfaceAttributeLabel" name="Value (Property_InterfaceAttributeLabel)" hint="Property_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_TSDJVyCyEeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_JH1wYCC4EeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.ValueEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_sHB2sIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Value"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Value_Property_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Value_Property_ClassAttributeLabel" name="Value (Property_ClassAttributeLabel)" hint="Property_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_TSDJWiCyEeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_JSYMcCC4EeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.ValueEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_sTp9cIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Value"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Value_Property_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Value_Property_DataTypeAttributeLabel" name="Value (Property_DataTypeAttributeLabel)" hint="Property_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_TSDJXSCyEeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_Jct0MCC4EeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.ValueEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_sepsgIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Value"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Value_Property_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Value_Property_PrimitiveTypeAttributeLabel" name="Value (Property_PrimitiveTypeAttributeLabel)" hint="Property_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_TSDJYCCyEeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_Jn8MwCC4EeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.ValueEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_ss3usIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Value"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Reference_label" description="Create a Block Reference" identifier="org.eclipse.papyrus.sysml16di.Reference_label" name="Reference" hint="SysML::Block::Reference_label" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_UqzmgFL7EeWix4nZluIdNA" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_VWNT8FL7EeWix4nZluIdNA" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_s7NssIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Reference"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Reference_Property_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Reference_Property_ComponentAttributeLabel" name="Reference (Property_ComponentAttributeLabel)" hint="Property_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_bobH8SC-EeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_bobH8iC-EeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_tF6g0Ie8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Reference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Reference_Property_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Reference_Property_SignalAttributeLabel" name="Reference (Property_SignalAttributeLabel)" hint="Property_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_zsNRESC-EeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_zsNREiC-EeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_tQ628Ie8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Reference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Reference_Property_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Reference_Property_InterfaceAttributeLabel" name="Reference (Property_InterfaceAttributeLabel)" hint="Property_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_zsNRFCC-EeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_zsNRFSC-EeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_th7ucIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Reference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Reference_Property_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Reference_Property_ClassAttributeLabel" name="Reference (Property_ClassAttributeLabel)" hint="Property_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_zsNRFyC-EeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_zsNRGCC-EeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_ts8EkIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Reference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Reference_Property_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Reference_Property_DataTypeAttributeLabel" name="Reference (Property_DataTypeAttributeLabel)" hint="Property_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_zsNRGiC-EeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_zsNRGyC-EeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_t1_S4Ie8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Reference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Reference_Property_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Reference_Property_PrimitiveTypeAttributeLabel" name="Reference (Property_PrimitiveTypeAttributeLabel)" hint="Property_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_zsNRHSC-EeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_zsNRHiC-EeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_uIUZAIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Reference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Parameter_label" description="Create a ConstraintBlock Parameter" identifier="org.eclipse.papyrus.sysml16di.Parameter_label" name="Parameter" hint="SysML::ConstraintBlock::Parameter_label" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_9vMgkAC4EeabH6-I0dvpUQ" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_L90icAC5EeabH6-I0dvpUQ" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Parameter"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Part_label" description="Create a Block Part" identifier="org.eclipse.papyrus.sysml16di.Part_label" name="Part" hint="SysML::Block::Part_label" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_zFrY0FYBEeW77p7V_ZuW3Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_2qdHIFYBEeW77p7V_ZuW3Q" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_uWc7oIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Part"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Part_Property_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Part_Property_ComponentAttributeLabel" name="Part (Property_ComponentAttributeLabel)" hint="Property_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_cCfUISDGEeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_fz9aoCDGEeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_uhUu4Ie8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Part"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Part_Property_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Part_Property_SignalAttributeLabel" name="Part (Property_SignalAttributeLabel)" hint="Property_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_cCfUJCDGEeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_gAyVsCDGEeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_usAU4Ie8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Part"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Part_Property_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Part_Property_InterfaceAttributeLabel" name="Part (Property_InterfaceAttributeLabel)" hint="Property_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_cCfUJyDGEeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_gLETECDGEeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_u6v7gIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Part"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Part_Property_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Part_Property_ClassAttributeLabel" name="Part (Property_ClassAttributeLabel)" hint="Property_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_cCfUKiDGEeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_gUWK4CDGEeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_vHpvEIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Part"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Part_Property_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Part_Property_DataTypeAttributeLabel" name="Part (Property_DataTypeAttributeLabel)" hint="Property_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_cCfULSDGEeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_ghOwUCDGEeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_vUTD8Ie8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Part"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Part_Property_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.Part_Property_PrimitiveTypeAttributeLabel" name="Part (Property_PrimitiveTypeAttributeLabel)" hint="Property_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_cCfUMCDGEeWj-IGNWcNL0Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_gtaLICDGEeWj-IGNWcNL0Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.diagram.common.advices.CreateOrSelectBlockPropertyTypeEditHelperAdvice"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_vf1lkIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Value"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowProperty_label" description="Create a FlowProperty" identifier="org.eclipse.papyrus.sysml16di.FlowProperty_label" name="FlowProperty" hint="SysML::Block::FlowProperty_label" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_OG0VQGHGEeWbSMDuSXx8SQ" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_vr2oUIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConfiguredFlowProperty"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TestCase_Activity_NamedElement_Shape" identifier="org.eclipse.papyrus.sysml16di.TestCase_Activity_NamedElement_Shape" name="Activity (NamedElement_Shape)" hint="NamedElement_DefaultShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_AymtQGXkEeWv7P_h5u3SSw" iconPath="icons/full/obj16/Activity.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_v9OFIIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Activity"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.NamedElement_DefaultShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TestCase_FunctionBehavior_NamedElement_Shape" identifier="org.eclipse.papyrus.sysml16di.TestCase_FunctionBehavior_NamedElement_Shape" name="TestCase FunctionBehavior (NamedElement_Shape)" hint="NamedElement_DefaultShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BUP4MGXYEeWv7P_h5u3SSw" iconPath="icons/full/obj16/FunctionBehavior.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_wJ4BEIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FunctionBehavior"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.NamedElement_DefaultShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TestCase_Interaction_NamedElement_Shape" identifier="org.eclipse.papyrus.sysml16di.TestCase_Interaction_NamedElement_Shape" name="TestCase Interaction (NamedElement_Shape)" hint="NamedElement_DefaultShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_moMIcGXbEeWv7P_h5u3SSw" iconPath="icons/full/obj16/Interaction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_wWrG8Ie8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Interaction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.NamedElement_DefaultShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TestCase_OpaqueBehavior_NamedElement_Shape" identifier="org.eclipse.papyrus.sysml16di.TestCase_OpaqueBehavior_NamedElement_Shape" name="TestCase OpaqueBehavior (NamedElement_Shape)" hint="NamedElement_DefaultShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_nBxGEGXbEeWv7P_h5u3SSw" iconPath="icons/full/obj16/OpaqueBehavior.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_wjNHEIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.OpaqueBehavior"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.NamedElement_DefaultShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TestCase_ProtocolStateMachine_NamedElement_Shape" identifier="org.eclipse.papyrus.sysml16di.TestCase_ProtocolStateMachine_NamedElement_Shape" name="TestCase ProtocolStateMachine (NamedElement_Shape)" hint="NamedElement_DefaultShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_ni5dMGXbEeWv7P_h5u3SSw" iconPath="icons/full/obj16/ProtocolStateMachine.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_w0TeIIe8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProtocolStateMachine"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.NamedElement_DefaultShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TestCase_StateMachine_NamedElement_Shape" identifier="org.eclipse.papyrus.sysml16di.TestCase_StateMachine_NamedElement_Shape" name="TestCase StateMachine (NamedElement_Shape)" hint="NamedElement_DefaultShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_cUc84GXdEeWv7P_h5u3SSw" iconPath="icons/full/obj16/StateMachine.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_xDDr0Ie8EeW05oI_3tpDGw" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.StateMachine"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.NamedElement_DefaultShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.PrivatePackageImport_PackageImport_Edge" identifier="org.eclipse.papyrus.sysml16di.PrivatePackageImport_PackageImport_Edge" name="PrivatePackageImport (PackageImport_Edge)" hint="PackageImport_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_uowzsJzxEeWe1L0yBJDEDA" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.PrivatePackageImport"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.PackageImport_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AssociationBlock_Shape" identifier="org.eclipse.papyrus.sysml16di.AssociationBlock_Shape" name="AssociationBlock" hint="AssociationClass_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_uowzTJzxEeWe1L0yBJDEDA" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AssociationBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.AssociationClass_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AssociationClass_Edge" identifier="org.eclipse.papyrus.sysml16di.AssociationClass_Edge" name="AssociationBlockEdge" hint="AssociationClass_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_uowzTJzxEeWe1L0yBJDEDA" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AssociationBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.AssociationClass_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Stakeholder_NamedElement_Shape" identifier="org.eclipse.papyrus.sysml16di.Stakeholder_NamedElement_Shape" name="Stakeholder (NamedElement_Shape)" hint="NamedElement_DefaultShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7HTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Stakeholder.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_uowzTJzxEeWe1L0yBJDEDA" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.StakeholderClass"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.NamedElement_DefaultShape"/>
+  </elementTypeConfigurations>
+</elementtypesconfigurations:ElementTypeSetConfiguration>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations
new file mode 100644
index 0000000..0109e95
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations
@@ -0,0 +1,1252 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<elementtypesconfigurations:ElementTypeSetConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmi:id="org.eclipse.papyrus.sysml16di.elementTypes" description="org.eclipse.papyrus.sysml16di.elementTypes" identifier="org.eclipse.papyrus.sysml16di.elementTypes" name="org.eclipse.papyrus.sysml16di.elementTypes" metamodelNsURI="http://www.eclipse.org/uml2/5.0.0/UML">
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AcceptChangeStructuralFeatureEventAction_AcceptEventAction_Shape" identifier="org.eclipse.papyrus.sysml16di.AcceptChangeStructuralFeatureEventAction_AcceptEventAction_Shape" name="AcceptChangeStructuralFeatureEventAction" hint="AcceptEventAction_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFqYMDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/AcceptChangeStructuralFeatureEventAction.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AcceptChangeStructuralFeatureEventAction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.AcceptEventAction_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AddFlowPropertyValueOnNestedPortAction" identifier="org.eclipse.papyrus.sysml16di.AddFlowPropertyValueOnNestedPortAction" name="AddFlowPropertyValueOnNestedPortAction" hint="Trigger_DeferrableTriggerLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_QCrVwEmTEemPZPxrFrrvTw" iconPath="/resources/icons/full/obj16/TriggerOnNestedPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AddFlowPropertyValueOnNestedPortAction"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_AttributeLabel" name="AdjunctProperty (Property_AttributeLabel)" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFqYMjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/AdjunctProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AdjunctProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_ClassAttributeLabel" name="AdjunctProperty (Property_ClassAttributeLabel)" hint="Property_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFqYNDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/AdjunctProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AdjunctProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_ComponentAttributeLabel" name="AdjunctProperty (Property_ComponentAttributeLabel)" hint="Property_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_QDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/AdjunctProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AdjunctProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_DataTypeAttributeLabel" name="AdjunctProperty (Property_DataTypeAttributeLabel)" hint="Property_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_QjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/AdjunctProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AdjunctProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_Edge" identifier="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_Edge" name="AdjunctProperty (Property_Edge)" hint="Property_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_RDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/AdjunctProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AdjunctProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_InterfaceAttributeLabel" name="AdjunctProperty (Property_InterfaceAttributeLabel)" hint="Property_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_RjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/AdjunctProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AdjunctProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_PrimitiveTypeAttributeLabel" name="AdjunctProperty (Property_PrimitiveTypeAttributeLabel)" hint="Property_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_SDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/AdjunctProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AdjunctProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_Shape" name="AdjunctProperty (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_SjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/AdjunctProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AdjunctProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_Shape_CN" name="AdjunctProperty (Property_Shape_CN)" hint="Property_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_TDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/AdjunctProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AdjunctProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.AdjunctProperty_Property_SignalAttributeLabel" name="AdjunctProperty (Property_SignalAttributeLabel)" hint="Property_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_TjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/AdjunctProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AdjunctProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AllocateActivityPartition_ActivityPartition_Shape" identifier="org.eclipse.papyrus.sysml16di.AllocateActivityPartition_ActivityPartition_Shape" name="AllocateActivityPartition (ActivityPartition_Shape)" hint="ActivityPartition_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_UDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/AllocateActivityPartition.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AllocateActivityPartition"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActivityPartition_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.AllocateActivityPartition_ActivityPartition_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.AllocateActivityPartition_ActivityPartition_Shape_CN" name="AllocateActivityPartition (ActivityPartition_Shape_CN)" hint="ActivityPartition_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_UjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/AllocateActivityPartition.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AllocateActivityPartition"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActivityPartition_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Allocate_Abstraction_Abstraction_Edge" identifier="org.eclipse.papyrus.sysml16di.Allocate_Abstraction_Abstraction_Edge" name="Allocate (Abstraction_Edge)" hint="Abstraction_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_VDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Allocate.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Allocate_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Allocate_Abstraction_Abstraction_Shape" identifier="org.eclipse.papyrus.sysml16di.Allocate_Abstraction_Abstraction_Shape" name="Allocate (Abstraction_Shape)" hint="Abstraction_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_VjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Allocate.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Allocate_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Allocate_Abstraction_Abstraction_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.Allocate_Abstraction_Abstraction_Shape_CN" name="Allocate (Abstraction_Shape_CN)" hint="Abstraction_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_WDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Allocate.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Allocate_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.BindingConnector_Connector_Edge" identifier="org.eclipse.papyrus.sysml16di.BindingConnector_Connector_Edge" name="BindingConnector" hint="Connector_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_WjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/BindingConnector.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.BindingConnector"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Connector_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Block_Class_ClassNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.Block_Class_ClassNestedClassifierLabel" name="Block (Class_ClassNestedClassifierLabel)" hint="Class_ClassNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFq_XDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Block.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Block"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ClassNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Block_Class_ComponentNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.Block_Class_ComponentNestedClassifierLabel" name="Block (Class_ComponentNestedClassifierLabel)" hint="Class_ComponentNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFrmUTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Block.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Block"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ComponentNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Block_Class_InterfaceNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.Block_Class_InterfaceNestedClassifierLabel" name="Block (Class_InterfaceNestedClassifierLabel)" hint="Class_InterfaceNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFrmUzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Block.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Block"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_InterfaceNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Block_Class_MetaclassShape" identifier="org.eclipse.papyrus.sysml16di.Block_Class_MetaclassShape" name="Block (Class_MetaclassShape)" hint="Class_MetaclassShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFrmVTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Block.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Block"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Block_Class_MetaclassShape_CN" identifier="org.eclipse.papyrus.sysml16di.Block_Class_MetaclassShape_CN" name="Block (Class_MetaclassShape_CN)" hint="Class_MetaclassShape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFrmVzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Block.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Block"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Block_Class_NestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.Block_Class_NestedClassifierLabel" name="Block (Class_NestedClassifierLabel)" hint="Class_NestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFrmWTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Block.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Block"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_NestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Block_Class_Shape" identifier="org.eclipse.papyrus.sysml16di.Block_Class_Shape" name="Block (Class_Shape)" hint="Class_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFrmWzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Block.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Block"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Block_Class_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.Block_Class_Shape_CN" name="Block (Class_Shape_CN)" hint="Class_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFrmXTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Block.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Block"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.BoundReference_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.BoundReference_Property_AttributeLabel" name="BoundReference (Property_AttributeLabel)" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFrmXzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/BoundReference.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.BoundReference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.BoundReference_Property_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.BoundReference_Property_ClassAttributeLabel" name="BoundReference (Property_ClassAttributeLabel)" hint="Property_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFsNYTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/BoundReference.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.BoundReference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.BoundReference_Property_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.BoundReference_Property_ComponentAttributeLabel" name="BoundReference (Property_ComponentAttributeLabel)" hint="Property_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFsNYzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/BoundReference.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.BoundReference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.BoundReference_Property_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.BoundReference_Property_DataTypeAttributeLabel" name="BoundReference (Property_DataTypeAttributeLabel)" hint="Property_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFsNZTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/BoundReference.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.BoundReference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.BoundReference_Property_Edge" identifier="org.eclipse.papyrus.sysml16di.BoundReference_Property_Edge" name="BoundReference (Property_Edge)" hint="Property_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFsNZzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/BoundReference.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.BoundReference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.BoundReference_Property_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.BoundReference_Property_InterfaceAttributeLabel" name="BoundReference (Property_InterfaceAttributeLabel)" hint="Property_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFsNaTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/BoundReference.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.BoundReference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.BoundReference_Property_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.BoundReference_Property_PrimitiveTypeAttributeLabel" name="BoundReference (Property_PrimitiveTypeAttributeLabel)" hint="Property_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFsNazvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/BoundReference.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.BoundReference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.BoundReference_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.BoundReference_Property_Shape" name="BoundReference (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFsNbTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/BoundReference.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.BoundReference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.BoundReference_Property_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.BoundReference_Property_Shape_CN" name="BoundReference (Property_Shape_CN)" hint="Property_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFsNbzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/BoundReference.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.BoundReference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.BoundReference_Property_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.BoundReference_Property_SignalAttributeLabel" name="BoundReference (Property_SignalAttributeLabel)" hint="Property_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFsNcTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/BoundReference.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.BoundReference"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ChangeStructuralFeatureEvent_ChangeEvent_Shape" identifier="org.eclipse.papyrus.sysml16di.ChangeStructuralFeatureEvent_ChangeEvent_Shape" name="ChangeStructuralFeatureEvent" hint="ChangeEvent_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFs0cTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ChangeStructuralFeatureEvent.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ChangeStructuralFeatureEvent"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ChangeEvent_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_AttributeLabel" name="ClassifierBehaviorProperty (Property_AttributeLabel)" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFs0czvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ClassifierBehaviorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_ClassAttributeLabel" name="ClassifierBehaviorProperty (Property_ClassAttributeLabel)" hint="Property_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFs0dTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ClassifierBehaviorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_ComponentAttributeLabel" name="ClassifierBehaviorProperty (Property_ComponentAttributeLabel)" hint="Property_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFs0dzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ClassifierBehaviorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_DataTypeAttributeLabel" name="ClassifierBehaviorProperty (Property_DataTypeAttributeLabel)" hint="Property_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFs0eTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ClassifierBehaviorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_Edge" identifier="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_Edge" name="ClassifierBehaviorProperty (Property_Edge)" hint="Property_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFs0ezvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ClassifierBehaviorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_InterfaceAttributeLabel" name="ClassifierBehaviorProperty (Property_InterfaceAttributeLabel)" hint="Property_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFs0fTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ClassifierBehaviorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_PrimitiveTypeAttributeLabel" name="ClassifierBehaviorProperty (Property_PrimitiveTypeAttributeLabel)" hint="Property_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFs0fzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ClassifierBehaviorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_Shape" name="ClassifierBehaviorProperty (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFs0gTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ClassifierBehaviorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_Shape_CN" name="ClassifierBehaviorProperty (Property_Shape_CN)" hint="Property_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFs0gzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ClassifierBehaviorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ClassifierBehaviorProperty_Property_SignalAttributeLabel" name="ClassifierBehaviorProperty (Property_SignalAttributeLabel)" hint="Property_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFs0hTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ClassifierBehaviorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Conform_Generalization_Edge" identifier="org.eclipse.papyrus.sysml16di.Conform_Generalization_Edge" name="Conform" hint="Generalization_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFs0hzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Conform.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Conform"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Generalization_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_ClassNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_ClassNestedClassifierLabel" name="ConjugatedInterfaceBlock (Class_ClassNestedClassifierLabel)" hint="Class_ClassNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_wRI2wEmSEemPZPxrFrrvTw" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ClassNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_ComponentNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_ComponentNestedClassifierLabel" name="ConjugatedInterfaceBlock (Class_ComponentNestedClassifierLabel)" hint="Class_ComponentNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_wRI2wkmSEemPZPxrFrrvTw" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ComponentNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_InterfaceNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_InterfaceNestedClassifierLabel" name="ConjugatedInterfaceBlock (Class_InterfaceNestedClassifierLabel)" hint="Class_InterfaceNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_wRJd0EmSEemPZPxrFrrvTw" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_InterfaceNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_MetaclassShape" identifier="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_MetaclassShape" name="ConjugatedInterfaceBlock (Class_MetaclassShape)" hint="Class_MetaclassShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_wRJd0kmSEemPZPxrFrrvTw" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_MetaclassShape_CN" identifier="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_MetaclassShape_CN" name="ConjugatedInterfaceBlock (Class_MetaclassShape_CN)" hint="Class_MetaclassShape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_wRKE4EmSEemPZPxrFrrvTw" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_NestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_NestedClassifierLabel" name="ConjugatedInterfaceBlock (Class_NestedClassifierLabel)" hint="Class_NestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_wRKE4kmSEemPZPxrFrrvTw" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_NestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_Shape" identifier="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_Shape" name="ConjugatedInterfaceBlock (Class_Shape)" hint="Class_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_wRKr8EmSEemPZPxrFrrvTw" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.ConjugatedInterfaceBlock_Class_Shape_CN" name="ConjugatedInterfaceBlock (Class_Shape_CN)" hint="Class_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_wRKr8kmSEemPZPxrFrrvTw" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_AttributeLabel" name="ConnectorProperty (Property_AttributeLabel)" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFtbgTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConnectorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConnectorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_ClassAttributeLabel" name="ConnectorProperty (Property_ClassAttributeLabel)" hint="Property_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFtbgzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConnectorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConnectorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_ComponentAttributeLabel" name="ConnectorProperty (Property_ComponentAttributeLabel)" hint="Property_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFtbhTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConnectorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConnectorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_DataTypeAttributeLabel" name="ConnectorProperty (Property_DataTypeAttributeLabel)" hint="Property_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFtbhzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConnectorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConnectorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_Edge" identifier="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_Edge" name="ConnectorProperty (Property_Edge)" hint="Property_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFtbiTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConnectorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConnectorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_InterfaceAttributeLabel" name="ConnectorProperty (Property_InterfaceAttributeLabel)" hint="Property_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFtbizvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConnectorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConnectorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_PrimitiveTypeAttributeLabel" name="ConnectorProperty (Property_PrimitiveTypeAttributeLabel)" hint="Property_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFtbjTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConnectorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConnectorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_Shape" name="ConnectorProperty (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFtbjzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConnectorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConnectorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_Shape_CN" name="ConnectorProperty (Property_Shape_CN)" hint="Property_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFtbkTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConnectorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConnectorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ConnectorProperty_Property_SignalAttributeLabel" name="ConnectorProperty (Property_SignalAttributeLabel)" hint="Property_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFtbkzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConnectorProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConnectorProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_ClassNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_ClassNestedClassifierLabel" name="ConstraintBlock (Class_ClassNestedClassifierLabel)" hint="Class_ClassNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFtblTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConstraintBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ClassNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_ComponentNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_ComponentNestedClassifierLabel" name="ConstraintBlock (Class_ComponentNestedClassifierLabel)" hint="Class_ComponentNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFtblzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConstraintBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ComponentNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_InterfaceNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_InterfaceNestedClassifierLabel" name="ConstraintBlock (Class_InterfaceNestedClassifierLabel)" hint="Class_InterfaceNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFtbmTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConstraintBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_InterfaceNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_MetaclassShape" identifier="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_MetaclassShape" name="ConstraintBlock (Class_MetaclassShape)" hint="Class_MetaclassShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCkTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConstraintBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_MetaclassShape_CN" identifier="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_MetaclassShape_CN" name="ConstraintBlock (Class_MetaclassShape_CN)" hint="Class_MetaclassShape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCkzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConstraintBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_NestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_NestedClassifierLabel" name="ConstraintBlock (Class_NestedClassifierLabel)" hint="Class_NestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuClTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConstraintBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_NestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_Shape" identifier="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_Shape" name="ConstraintBlock (Class_Shape)" hint="Class_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuClzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConstraintBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.ConstraintBlock_Class_Shape_CN" name="ConstraintBlock (Class_Shape_CN)" hint="Class_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCmTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ConstraintBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Continuous_Parameter_Parameter_ParameterLabel" identifier="org.eclipse.papyrus.sysml16di.Continuous_Parameter_Parameter_ParameterLabel" name="Continuous (Parameter_ParameterLabel)" hint="Parameter_ParameterLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCmzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Continuous.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Continuous_Parameter"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Parameter_ParameterLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Continuous_Parameter_Parameter_Shape" identifier="org.eclipse.papyrus.sysml16di.Continuous_Parameter_Parameter_Shape" name="Continuous (Parameter_Shape)" hint="Parameter_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCnTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Continuous.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Continuous_Parameter"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Parameter_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ControlOperator_Behavior_Behavior_InternalBehaviorLabel" identifier="org.eclipse.papyrus.sysml16di.ControlOperator_Behavior_Behavior_InternalBehaviorLabel" name="ControlOperator Behavior" hint="Behavior_InternalBehaviorLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCnzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ControlOperator.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ControlOperator_Behavior"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Behavior_InternalBehaviorLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ControlOperator_Operation_Operation_ClassOperationLabel" identifier="org.eclipse.papyrus.sysml16di.ControlOperator_Operation_Operation_ClassOperationLabel" name="ControlOperator (Operation_ClassOperationLabel)" hint="Operation_ClassOperationLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCoTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ControlOperator.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ControlOperator_Operation"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Operation_ClassOperationLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ControlOperator_Operation_Operation_ComponentOperationLabel" identifier="org.eclipse.papyrus.sysml16di.ControlOperator_Operation_Operation_ComponentOperationLabel" name="ControlOperator (Operation_ComponentOperationLabel)" hint="Operation_ComponentOperationLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCozvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ControlOperator.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ControlOperator_Operation"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Operation_ComponentOperationLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ControlOperator_Operation_Operation_DataTypeOperationLabel" identifier="org.eclipse.papyrus.sysml16di.ControlOperator_Operation_Operation_DataTypeOperationLabel" name="ControlOperator (Operation_DataTypeOperationLabel)" hint="Operation_DataTypeOperationLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCpTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ControlOperator.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ControlOperator_Operation"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Operation_DataTypeOperationLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ControlOperator_Operation_Operation_InterfaceOperationLabel" identifier="org.eclipse.papyrus.sysml16di.ControlOperator_Operation_Operation_InterfaceOperationLabel" name="ControlOperator (Operation_InterfaceOperationLabel)" hint="Operation_InterfaceOperationLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCpzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ControlOperator.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ControlOperator_Operation"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Operation_InterfaceOperationLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ControlOperator_Operation_Operation_OperationLabel" identifier="org.eclipse.papyrus.sysml16di.ControlOperator_Operation_Operation_OperationLabel" name="ControlOperator (Operation_OperationLabel)" hint="Operation_OperationLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCqTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ControlOperator.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ControlOperator_Operation"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Operation_OperationLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ControlOperator_Operation_Operation_PrimitiveTypeOperationLabel" identifier="org.eclipse.papyrus.sysml16di.ControlOperator_Operation_Operation_PrimitiveTypeOperationLabel" name="ControlOperator (Operation_PrimitiveTypeOperationLabel)" hint="Operation_PrimitiveTypeOperationLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCqzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ControlOperator.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ControlOperator_Operation"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Operation_PrimitiveTypeOperationLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Copy_Abstraction_Abstraction_Edge" identifier="org.eclipse.papyrus.sysml16di.Copy_Abstraction_Abstraction_Edge" name="Copy (Abstraction_Edge)" hint="Abstraction_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCrTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Copy.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Copy_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Copy_Abstraction_Abstraction_Shape" identifier="org.eclipse.papyrus.sysml16di.Copy_Abstraction_Abstraction_Shape" name="Copy (Abstraction_Shape)" hint="Abstraction_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCrzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Copy.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Copy_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Copy_Abstraction_Abstraction_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.Copy_Abstraction_Abstraction_Shape_CN" name="Copy (Abstraction_Shape_CN)" hint="Abstraction_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCsTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Copy.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Copy_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DeriveReqt_Abstraction_Abstraction_Edge" identifier="org.eclipse.papyrus.sysml16di.DeriveReqt_Abstraction_Abstraction_Edge" name="DeriveReqt (Abstraction_Edge)" hint="Abstraction_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCszvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/DeriveReqt.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DeriveReqt_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DeriveReqt_Abstraction_Abstraction_Shape" identifier="org.eclipse.papyrus.sysml16di.DeriveReqt_Abstraction_Abstraction_Shape" name="DeriveReqt (Abstraction_Shape)" hint="Abstraction_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCtTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/DeriveReqt.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DeriveReqt_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DeriveReqt_Abstraction_Abstraction_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.DeriveReqt_Abstraction_Abstraction_Shape_CN" name="DeriveReqt (Abstraction_Shape_CN)" hint="Abstraction_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuCtzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/DeriveReqt.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DeriveReqt_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Discrete_Parameter_Parameter_ParameterLabel" identifier="org.eclipse.papyrus.sysml16di.Discrete_Parameter_Parameter_ParameterLabel" name="Discrete (Parameter_ParameterLabel)" hint="Parameter_ParameterLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFupoTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Discrete.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Discrete_Parameter"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Parameter_ParameterLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Discrete_Parameter_Parameter_Shape" identifier="org.eclipse.papyrus.sysml16di.Discrete_Parameter_Parameter_Shape" name="Discrete (Parameter_Shape)" hint="Parameter_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFupozvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Discrete.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Discrete_Parameter"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Parameter_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_AttributeLabel" name="DistributedProperty (Property_AttributeLabel)" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuppTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/DistributedProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DistributedProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_ClassAttributeLabel" name="DistributedProperty (Property_ClassAttributeLabel)" hint="Property_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFuppzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/DistributedProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DistributedProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_ComponentAttributeLabel" name="DistributedProperty (Property_ComponentAttributeLabel)" hint="Property_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFupqTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/DistributedProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DistributedProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_DataTypeAttributeLabel" name="DistributedProperty (Property_DataTypeAttributeLabel)" hint="Property_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFupqzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/DistributedProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DistributedProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_Edge" identifier="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_Edge" name="DistributedProperty (Property_Edge)" hint="Property_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQsTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/DistributedProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DistributedProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_InterfaceAttributeLabel" name="DistributedProperty (Property_InterfaceAttributeLabel)" hint="Property_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQszvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/DistributedProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DistributedProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_PrimitiveTypeAttributeLabel" name="DistributedProperty (Property_PrimitiveTypeAttributeLabel)" hint="Property_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQtTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/DistributedProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DistributedProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_Shape" name="DistributedProperty (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQtzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/DistributedProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DistributedProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_Shape_CN" name="DistributedProperty (Property_Shape_CN)" hint="Property_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQuTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/DistributedProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DistributedProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.DistributedProperty_Property_SignalAttributeLabel" name="DistributedProperty (Property_SignalAttributeLabel)" hint="Property_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQuzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/DistributedProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DistributedProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ElementGroup_Comment_Shape" identifier="org.eclipse.papyrus.sysml16di.ElementGroup_Comment_Shape" name="ElementGroup (Comment_Shape)" hint="Comment_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQvTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ElementGroup.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ElementGroup"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Comment_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ElementGroup_Comment_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.ElementGroup_Comment_Shape_CN" name="ElementGroup (Comment_Shape_CN)" hint="Comment_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQvzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ElementGroup.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ElementGroup"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Comment_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_AttributeLabel" name="EndPathMultiplicity (Property_AttributeLabel)" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQwTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/EndPathMultiplicity.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.EndPathMultiplicity"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_ClassAttributeLabel" name="EndPathMultiplicity (Property_ClassAttributeLabel)" hint="Property_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQwzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/EndPathMultiplicity.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.EndPathMultiplicity"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_ComponentAttributeLabel" name="EndPathMultiplicity (Property_ComponentAttributeLabel)" hint="Property_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQxTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/EndPathMultiplicity.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.EndPathMultiplicity"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_DataTypeAttributeLabel" name="EndPathMultiplicity (Property_DataTypeAttributeLabel)" hint="Property_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQxzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/EndPathMultiplicity.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.EndPathMultiplicity"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_Edge" identifier="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_Edge" name="EndPathMultiplicity (Property_Edge)" hint="Property_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQyTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/EndPathMultiplicity.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.EndPathMultiplicity"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_InterfaceAttributeLabel" name="EndPathMultiplicity (Property_InterfaceAttributeLabel)" hint="Property_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQyzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/EndPathMultiplicity.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.EndPathMultiplicity"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_PrimitiveTypeAttributeLabel" name="EndPathMultiplicity (Property_PrimitiveTypeAttributeLabel)" hint="Property_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQzTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/EndPathMultiplicity.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.EndPathMultiplicity"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_Shape" name="EndPathMultiplicity (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQzzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/EndPathMultiplicity.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.EndPathMultiplicity"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_Shape_CN" name="EndPathMultiplicity (Property_Shape_CN)" hint="Property_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQ0TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/EndPathMultiplicity.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.EndPathMultiplicity"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.EndPathMultiplicity_Property_SignalAttributeLabel" name="EndPathMultiplicity (Property_SignalAttributeLabel)" hint="Property_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFvQ0zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/EndPathMultiplicity.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.EndPathMultiplicity"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Expose_Dependency_BranchEdge" identifier="org.eclipse.papyrus.sysml16di.Expose_Dependency_BranchEdge" name="Expose (Dependency_BranchEdge)" hint="Dependency_BranchEdge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv3wDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Expose.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Expose"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Dependency_BranchEdge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Expose_Dependency_Edge" identifier="org.eclipse.papyrus.sysml16di.Expose_Dependency_Edge" name="Expose (Dependency_Edge)" hint="Dependency_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv3wjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Expose.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Expose"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Dependency_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Expose_Dependency_Shape" identifier="org.eclipse.papyrus.sysml16di.Expose_Dependency_Shape" name="Expose (Dependency_Shape)" hint="Dependency_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv3xDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Expose.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Expose"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Dependency_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Expose_Dependency_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.Expose_Dependency_Shape_CN" name="Expose (Dependency_Shape_CN)" hint="Dependency_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv3xjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Expose.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Expose"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Dependency_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Port_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Port_AttributeLabel" name="FlowPort (Port_AttributeLabel)" hint="Port_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv3yDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowPort_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Port_BehaviorEdge" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Port_BehaviorEdge" name="FlowPort (Port_BehaviorEdge)" hint="Port_BehaviorEdge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv3yjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowPort_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_BehaviorEdge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Port_BehaviorShape" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Port_BehaviorShape" name="FlowPort (Port_BehaviorShape)" hint="Port_BehaviorShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv3zDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowPort_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_BehaviorShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Port_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Port_ClassAttributeLabel" name="FlowPort (Port_ClassAttributeLabel)" hint="Port_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv3zjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowPort_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Port_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Port_ComponentAttributeLabel" name="FlowPort (Port_ComponentAttributeLabel)" hint="Port_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv30DvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowPort_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Port_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Port_DataTypeAttributeLabel" name="FlowPort (Port_DataTypeAttributeLabel)" hint="Port_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv30jvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowPort_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Port_Edge" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Port_Edge" name="FlowPort (Port_Edge)" hint="Port_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv31DvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowPort_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Port_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Port_InterfaceAttributeLabel" name="FlowPort (Port_InterfaceAttributeLabel)" hint="Port_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv31jvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowPort_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Port_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Port_PrimitiveTypeAttributeLabel" name="FlowPort (Port_PrimitiveTypeAttributeLabel)" hint="Port_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv32DvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowPort_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Port_Shape" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Port_Shape" name="FlowPort (Port_Shape)" hint="Port_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv32jvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowPort_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Port_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Port_Shape_CN" name="FlowPort (Port_Shape_CN)" hint="Port_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv33DvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowPort_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowPort_Port_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowPort_Port_SignalAttributeLabel" name="FlowPort (Port_SignalAttributeLabel)" hint="Port_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv33jvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowPort_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowProperty_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowProperty_Property_AttributeLabel" name="FlowProperty (Property_AttributeLabel)" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv34DvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowProperty_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowProperty_Property_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowProperty_Property_ClassAttributeLabel" name="FlowProperty (Property_ClassAttributeLabel)" hint="Property_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFv34jvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowProperty_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowProperty_Property_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowProperty_Property_ComponentAttributeLabel" name="FlowProperty (Property_ComponentAttributeLabel)" hint="Property_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe0TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowProperty_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowProperty_Property_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowProperty_Property_DataTypeAttributeLabel" name="FlowProperty (Property_DataTypeAttributeLabel)" hint="Property_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe0zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowProperty_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowProperty_Property_Edge" identifier="org.eclipse.papyrus.sysml16di.FlowProperty_Property_Edge" name="FlowProperty (Property_Edge)" hint="Property_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe1TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowProperty_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowProperty_Property_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowProperty_Property_InterfaceAttributeLabel" name="FlowProperty (Property_InterfaceAttributeLabel)" hint="Property_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe1zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowProperty_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowProperty_Property_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowProperty_Property_PrimitiveTypeAttributeLabel" name="FlowProperty (Property_PrimitiveTypeAttributeLabel)" hint="Property_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe2TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowProperty_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowProperty_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.FlowProperty_Property_Shape" name="FlowProperty (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe2zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowProperty_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowProperty_Property_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.FlowProperty_Property_Shape_CN" name="FlowProperty (Property_Shape_CN)" hint="Property_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe3TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowProperty_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowProperty_Property_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FlowProperty_Property_SignalAttributeLabel" name="FlowProperty (Property_SignalAttributeLabel)" hint="Property_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe3zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowProperty_IN.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_ClassNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_ClassNestedClassifierLabel" name="FlowSpecification (Interface_ClassNestedClassifierLabel)" hint="Interface_ClassNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe4TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowSpecification.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowSpecification"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Interface_ClassNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_ClassifierShape" identifier="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_ClassifierShape" name="FlowSpecification (Interface_ClassifierShape)" hint="Interface_ClassifierShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe4zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowSpecification.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowSpecification"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Interface_ClassifierShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_ClassifierShape_CN" identifier="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_ClassifierShape_CN" name="FlowSpecification (Interface_ClassifierShape_CN)" hint="Interface_ClassifierShape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe5TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowSpecification.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowSpecification"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Interface_ClassifierShape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_ComponentNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_ComponentNestedClassifierLabel" name="FlowSpecification (Interface_ComponentNestedClassifierLabel)" hint="Interface_ComponentNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe5zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowSpecification.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowSpecification"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Interface_ComponentNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_InterfaceNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_InterfaceNestedClassifierLabel" name="FlowSpecification (Interface_InterfaceNestedClassifierLabel)" hint="Interface_InterfaceNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe6TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowSpecification.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowSpecification"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Interface_InterfaceNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_NestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_NestedClassifierLabel" name="FlowSpecification (Interface_NestedClassifierLabel)" hint="Interface_NestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe6zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowSpecification.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowSpecification"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Interface_NestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_Shape" identifier="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_Shape" name="FlowSpecification (Interface_Shape)" hint="Interface_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe7TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowSpecification.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowSpecification"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Interface_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.FlowSpecification_Interface_Shape_CN" name="FlowSpecification (Interface_Shape_CN)" hint="Interface_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe7zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FlowSpecification.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowSpecification"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Interface_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FullPort_Port_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FullPort_Port_AttributeLabel" name="FullPort (Port_AttributeLabel)" hint="Port_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe8TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FullPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FullPort_Port_BehaviorEdge" identifier="org.eclipse.papyrus.sysml16di.FullPort_Port_BehaviorEdge" name="FullPort (Port_BehaviorEdge)" hint="Port_BehaviorEdge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe8zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FullPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_BehaviorEdge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FullPort_Port_BehaviorShape" identifier="org.eclipse.papyrus.sysml16di.FullPort_Port_BehaviorShape" name="FullPort (Port_BehaviorShape)" hint="Port_BehaviorShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFwe9TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FullPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_BehaviorShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FullPort_Port_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FullPort_Port_ClassAttributeLabel" name="FullPort (Port_ClassAttributeLabel)" hint="Port_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF4DvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FullPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FullPort_Port_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FullPort_Port_ComponentAttributeLabel" name="FullPort (Port_ComponentAttributeLabel)" hint="Port_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF4jvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FullPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FullPort_Port_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FullPort_Port_DataTypeAttributeLabel" name="FullPort (Port_DataTypeAttributeLabel)" hint="Port_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF5DvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FullPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FullPort_Port_Edge" identifier="org.eclipse.papyrus.sysml16di.FullPort_Port_Edge" name="FullPort (Port_Edge)" hint="Port_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF5jvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FullPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FullPort_Port_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FullPort_Port_InterfaceAttributeLabel" name="FullPort (Port_InterfaceAttributeLabel)" hint="Port_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF6DvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FullPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FullPort_Port_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FullPort_Port_PrimitiveTypeAttributeLabel" name="FullPort (Port_PrimitiveTypeAttributeLabel)" hint="Port_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF6jvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FullPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FullPort_Port_Shape" identifier="org.eclipse.papyrus.sysml16di.FullPort_Port_Shape" name="FullPort (Port_Shape)" hint="Port_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF7DvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FullPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FullPort_Port_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.FullPort_Port_Shape_CN" name="FullPort (Port_Shape_CN)" hint="Port_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF7jvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FullPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.FullPort_Port_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.FullPort_Port_SignalAttributeLabel" name="FullPort (Port_SignalAttributeLabel)" hint="Port_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF8DvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/FullPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_ClassNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_ClassNestedClassifierLabel" name="InterfaceBlock (Class_ClassNestedClassifierLabel)" hint="Class_ClassNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF8jvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.InterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ClassNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_ComponentNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_ComponentNestedClassifierLabel" name="InterfaceBlock (Class_ComponentNestedClassifierLabel)" hint="Class_ComponentNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF9DvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.InterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ComponentNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_InterfaceNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_InterfaceNestedClassifierLabel" name="InterfaceBlock (Class_InterfaceNestedClassifierLabel)" hint="Class_InterfaceNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF9jvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.InterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_InterfaceNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_MetaclassShape" identifier="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_MetaclassShape" name="InterfaceBlock (Class_MetaclassShape)" hint="Class_MetaclassShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF-DvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.InterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_MetaclassShape_CN" identifier="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_MetaclassShape_CN" name="InterfaceBlock (Class_MetaclassShape_CN)" hint="Class_MetaclassShape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF-jvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.InterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_NestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_NestedClassifierLabel" name="InterfaceBlock (Class_NestedClassifierLabel)" hint="Class_NestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF_DvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.InterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_NestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_Shape" identifier="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_Shape" name="InterfaceBlock (Class_Shape)" hint="Class_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxF_jvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.InterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.InterfaceBlock_Class_Shape_CN" name="InterfaceBlock (Class_Shape_CN)" hint="Class_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxGADvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/InterfaceBlock.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.InterfaceBlock"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ItemFlow_InformationFlow_Edge" identifier="org.eclipse.papyrus.sysml16di.ItemFlow_InformationFlow_Edge" name="ItemFlow" hint="InformationFlow_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxGAjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ItemFlow.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ItemFlow"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InformationFlow_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Optional_Parameter_ParameterLabel" identifier="org.eclipse.papyrus.sysml16di.Optional_Parameter_ParameterLabel" name="Optional (Parameter_ParameterLabel)" hint="Parameter_ParameterLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxGBDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Optional.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Optional"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Parameter_ParameterLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Optional_Parameter_Shape" identifier="org.eclipse.papyrus.sysml16di.Optional_Parameter_Shape" name="Optional (Parameter_Shape)" hint="Parameter_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxGBjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Optional.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Optional"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Parameter_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_AttributeLabel" name="ParticipantProperty (Property_AttributeLabel)" hint="Property_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxs8TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ParticipantProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ParticipantProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_ClassAttributeLabel" name="ParticipantProperty (Property_ClassAttributeLabel)" hint="Property_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxs8zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ParticipantProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ParticipantProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_ComponentAttributeLabel" name="ParticipantProperty (Property_ComponentAttributeLabel)" hint="Property_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxs9TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ParticipantProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ParticipantProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_DataTypeAttributeLabel" name="ParticipantProperty (Property_DataTypeAttributeLabel)" hint="Property_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxs9zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ParticipantProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ParticipantProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_Edge" identifier="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_Edge" name="ParticipantProperty (Property_Edge)" hint="Property_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxs-TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ParticipantProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ParticipantProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_InterfaceAttributeLabel" name="ParticipantProperty (Property_InterfaceAttributeLabel)" hint="Property_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxs-zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ParticipantProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ParticipantProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_PrimitiveTypeAttributeLabel" name="ParticipantProperty (Property_PrimitiveTypeAttributeLabel)" hint="Property_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxs_TvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ParticipantProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ParticipantProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_Shape" identifier="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_Shape" name="ParticipantProperty (Property_Shape)" hint="Property_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxs_zvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ParticipantProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ParticipantProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_Shape_CN" name="ParticipantProperty (Property_Shape_CN)" hint="Property_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxtATvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ParticipantProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ParticipantProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ParticipantProperty_Property_SignalAttributeLabel" name="ParticipantProperty (Property_SignalAttributeLabel)" hint="Property_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxtAzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ParticipantProperty.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ParticipantProperty"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Property_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Problem_Comment_Shape" identifier="org.eclipse.papyrus.sysml16di.Problem_Comment_Shape" name="Problem (Comment_Shape)" hint="Comment_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxtBTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Problem.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Problem"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Comment_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Problem_Comment_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.Problem_Comment_Shape_CN" name="Problem (Comment_Shape_CN)" hint="Comment_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxtBzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Problem.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Problem"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Comment_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.PropertySpecificType_Classifier_SubjectShape" identifier="org.eclipse.papyrus.sysml16di.PropertySpecificType_Classifier_SubjectShape" name="PropertySpecificType" hint="Classifier_SubjectShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxtCTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/PropertySpecificType.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.PropertySpecificType"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Classifier_SubjectShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ProxyPort_Port_AttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ProxyPort_Port_AttributeLabel" name="ProxyPort (Port_AttributeLabel)" hint="Port_AttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxtCzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ProxyPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_AttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ProxyPort_Port_BehaviorEdge" identifier="org.eclipse.papyrus.sysml16di.ProxyPort_Port_BehaviorEdge" name="ProxyPort (Port_BehaviorEdge)" hint="Port_BehaviorEdge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxtDTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ProxyPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_BehaviorEdge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ProxyPort_Port_BehaviorShape" identifier="org.eclipse.papyrus.sysml16di.ProxyPort_Port_BehaviorShape" name="ProxyPort (Port_BehaviorShape)" hint="Port_BehaviorShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxtDzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ProxyPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_BehaviorShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ProxyPort_Port_ClassAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ProxyPort_Port_ClassAttributeLabel" name="ProxyPort (Port_ClassAttributeLabel)" hint="Port_ClassAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFxtETvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ProxyPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_ClassAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ProxyPort_Port_ComponentAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ProxyPort_Port_ComponentAttributeLabel" name="ProxyPort (Port_ComponentAttributeLabel)" hint="Port_ComponentAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUADvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ProxyPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_ComponentAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ProxyPort_Port_DataTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ProxyPort_Port_DataTypeAttributeLabel" name="ProxyPort (Port_DataTypeAttributeLabel)" hint="Port_DataTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUAjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ProxyPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_DataTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ProxyPort_Port_Edge" identifier="org.eclipse.papyrus.sysml16di.ProxyPort_Port_Edge" name="ProxyPort (Port_Edge)" hint="Port_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUBDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ProxyPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ProxyPort_Port_InterfaceAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ProxyPort_Port_InterfaceAttributeLabel" name="ProxyPort (Port_InterfaceAttributeLabel)" hint="Port_InterfaceAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUBjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ProxyPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_InterfaceAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ProxyPort_Port_PrimitiveTypeAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ProxyPort_Port_PrimitiveTypeAttributeLabel" name="ProxyPort (Port_PrimitiveTypeAttributeLabel)" hint="Port_PrimitiveTypeAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUCDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ProxyPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_PrimitiveTypeAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ProxyPort_Port_Shape" identifier="org.eclipse.papyrus.sysml16di.ProxyPort_Port_Shape" name="ProxyPort (Port_Shape)" hint="Port_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUCjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ProxyPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ProxyPort_Port_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.ProxyPort_Port_Shape_CN" name="ProxyPort (Port_Shape_CN)" hint="Port_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUDDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ProxyPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ProxyPort_Port_SignalAttributeLabel" identifier="org.eclipse.papyrus.sysml16di.ProxyPort_Port_SignalAttributeLabel" name="ProxyPort (Port_SignalAttributeLabel)" hint="Port_SignalAttributeLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUDjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ProxyPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_SignalAttributeLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Rate_Parameter_Parameter_ParameterLabel" identifier="org.eclipse.papyrus.sysml16di.Rate_Parameter_Parameter_ParameterLabel" name="Rate (Parameter_ParameterLabel)" hint="Parameter_ParameterLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUEDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Rate.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Rate_Parameter"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Parameter_ParameterLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Rate_Parameter_Parameter_Shape" identifier="org.eclipse.papyrus.sysml16di.Rate_Parameter_Parameter_Shape" name="Rate (Parameter_Shape)" hint="ActivityParameterNode_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUEjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Rate.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Rate_Parameter"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActivityParameterNode_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Rationale_Comment_Shape" identifier="org.eclipse.papyrus.sysml16di.Rationale_Comment_Shape" name="Rationale (Comment_Shape)" hint="Comment_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUFDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Rationale.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Rationale"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Comment_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Rationale_Comment_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.Rationale_Comment_Shape_CN" name="Rationale (Comment_Shape_CN)" hint="Comment_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUFjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Rationale.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Rationale"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Comment_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Refine_Abstraction_Abstraction_Edge" identifier="org.eclipse.papyrus.sysml16di.Refine_Abstraction_Abstraction_Edge" name="Refine (Abstraction_Edge)" hint="Abstraction_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUGDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Refine.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Refine_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Refine_Abstraction_Abstraction_Shape" identifier="org.eclipse.papyrus.sysml16di.Refine_Abstraction_Abstraction_Shape" name="Refine (Abstraction_Shape)" hint="Abstraction_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUGjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Refine.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Refine_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Refine_Abstraction_Abstraction_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.Refine_Abstraction_Abstraction_Shape_CN" name="Refine (Abstraction_Shape_CN)" hint="Abstraction_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUHDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Refine.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Refine_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Requirement_Class_ClassNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.Requirement_Class_ClassNestedClassifierLabel" name="Requirement (Class_ClassNestedClassifierLabel)" hint="Class_ClassNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUHjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Requirement.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Requirement"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ClassNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Requirement_Class_ComponentNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.Requirement_Class_ComponentNestedClassifierLabel" name="Requirement (Class_ComponentNestedClassifierLabel)" hint="Class_ComponentNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUIDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Requirement.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Requirement"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ComponentNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Requirement_Class_InterfaceNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.Requirement_Class_InterfaceNestedClassifierLabel" name="Requirement (Class_InterfaceNestedClassifierLabel)" hint="Class_InterfaceNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUIjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Requirement.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Requirement"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_InterfaceNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Requirement_Class_MetaclassShape" identifier="org.eclipse.papyrus.sysml16di.Requirement_Class_MetaclassShape" name="Requirement (Class_MetaclassShape)" hint="Class_MetaclassShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUJDvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Requirement.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Requirement"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Requirement_Class_MetaclassShape_CN" identifier="org.eclipse.papyrus.sysml16di.Requirement_Class_MetaclassShape_CN" name="Requirement (Class_MetaclassShape_CN)" hint="Class_MetaclassShape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFyUJjvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Requirement.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Requirement"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Requirement_Class_NestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.Requirement_Class_NestedClassifierLabel" name="Requirement (Class_NestedClassifierLabel)" hint="Class_NestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7ETvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Requirement.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Requirement"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_NestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Requirement_Class_Shape" identifier="org.eclipse.papyrus.sysml16di.Requirement_Class_Shape" name="Requirement (Class_Shape)" hint="Class_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7EzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Requirement.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Requirement"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Requirement_Class_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.Requirement_Class_Shape_CN" name="Requirement (Class_Shape_CN)" hint="Class_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7FTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Requirement.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Requirement"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Satisfy_Abstraction_Abstraction_Edge" identifier="org.eclipse.papyrus.sysml16di.Satisfy_Abstraction_Abstraction_Edge" name="Satisfy (Abstraction_Edge)" hint="Abstraction_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7FzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Satisfy.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Satisfy_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Satisfy_Abstraction_Abstraction_Shape" identifier="org.eclipse.papyrus.sysml16di.Satisfy_Abstraction_Abstraction_Shape" name="Satisfy (Abstraction_Shape)" hint="Abstraction_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7GTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Satisfy.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Satisfy_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Satisfy_Abstraction_Abstraction_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.Satisfy_Abstraction_Abstraction_Shape_CN" name="Satisfy (Abstraction_Shape_CN)" hint="Abstraction_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7GzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Satisfy.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Satisfy_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Stakeholder_Classifier_SubjectShape" identifier="org.eclipse.papyrus.sysml16di.Stakeholder_Classifier_SubjectShape" name="Stakeholder" hint="Classifier_SubjectShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7HTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Stakeholder.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Stakeholder"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Classifier_SubjectShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TestCase_Behavior_Behavior_InternalBehaviorLabel" identifier="org.eclipse.papyrus.sysml16di.TestCase_Behavior_Behavior_InternalBehaviorLabel" name="TestCase Behavior" hint="Behavior_InternalBehaviorLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7HzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/TestCase.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.TestCase_Behavior"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Behavior_InternalBehaviorLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_ClassOperationLabel" identifier="org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_ClassOperationLabel" name="TestCase (Operation_ClassOperationLabel)" hint="Operation_ClassOperationLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7ITvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/TestCase.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.TestCase_Operation"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Operation_ClassOperationLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_ComponentOperationLabel" identifier="org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_ComponentOperationLabel" name="TestCase (Operation_ComponentOperationLabel)" hint="Operation_ComponentOperationLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7IzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/TestCase.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.TestCase_Operation"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Operation_ComponentOperationLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_DataTypeOperationLabel" identifier="org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_DataTypeOperationLabel" name="TestCase (Operation_DataTypeOperationLabel)" hint="Operation_DataTypeOperationLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7JTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/TestCase.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.TestCase_Operation"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Operation_DataTypeOperationLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_InterfaceOperationLabel" identifier="org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_InterfaceOperationLabel" name="TestCase (Operation_InterfaceOperationLabel)" hint="Operation_InterfaceOperationLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7JzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/TestCase.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.TestCase_Operation"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Operation_InterfaceOperationLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_OperationLabel" identifier="org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_OperationLabel" name="TestCase (Operation_OperationLabel)" hint="Operation_OperationLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7KTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/TestCase.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.TestCase_Operation"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Operation_OperationLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_PrimitiveTypeOperationLabel" identifier="org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_PrimitiveTypeOperationLabel" name="TestCase (Operation_PrimitiveTypeOperationLabel)" hint="Operation_PrimitiveTypeOperationLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7KzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/TestCase.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.TestCase_Operation"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Operation_PrimitiveTypeOperationLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Trace_Abstraction_Abstraction_Edge" identifier="org.eclipse.papyrus.sysml16di.Trace_Abstraction_Abstraction_Edge" name="Trace (Abstraction_Edge)" hint="Abstraction_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7LTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Trace.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Trace_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Trace_Abstraction_Abstraction_Shape" identifier="org.eclipse.papyrus.sysml16di.Trace_Abstraction_Abstraction_Shape" name="Trace (Abstraction_Shape)" hint="Abstraction_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7LzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Trace.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Trace_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Trace_Abstraction_Abstraction_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.Trace_Abstraction_Abstraction_Shape_CN" name="Trace (Abstraction_Shape_CN)" hint="Abstraction_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BFy7MTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Trace.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Trace_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.TriggerOnNestedPort_Trigger_Trigger_DeferrableTriggerLabel" identifier="org.eclipse.papyrus.sysml16di.TriggerOnNestedPort_Trigger_Trigger_DeferrableTriggerLabel" name="TriggerOnNestedPort Trigger" hint="Trigger_DeferrableTriggerLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0JMTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/TriggerOnNestedPort.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Trigger"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Trigger_DeferrableTriggerLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ValueType_DataType_ClassNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.ValueType_DataType_ClassNestedClassifierLabel" name="ValueType (DataType_ClassNestedClassifierLabel)" hint="DataType_ClassNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0JMzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ValueType.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ValueType"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.DataType_ClassNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ValueType_DataType_ComponentNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.ValueType_DataType_ComponentNestedClassifierLabel" name="ValueType (DataType_ComponentNestedClassifierLabel)" hint="DataType_ComponentNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0JNTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ValueType.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ValueType"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.DataType_ComponentNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ValueType_DataType_InterfaceNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.ValueType_DataType_InterfaceNestedClassifierLabel" name="ValueType (DataType_InterfaceNestedClassifierLabel)" hint="DataType_InterfaceNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0JNzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ValueType.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ValueType"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.DataType_InterfaceNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ValueType_DataType_NestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.ValueType_DataType_NestedClassifierLabel" name="ValueType (DataType_NestedClassifierLabel)" hint="DataType_NestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0JOTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ValueType.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ValueType"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.DataType_NestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ValueType_DataType_Shape" identifier="org.eclipse.papyrus.sysml16di.ValueType_DataType_Shape" name="ValueType (DataType_Shape)" hint="DataType_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0JOzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ValueType.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ValueType"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.DataType_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.ValueType_DataType_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.ValueType_DataType_Shape_CN" name="ValueType (DataType_Shape_CN)" hint="DataType_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0JPTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/ValueType.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ValueType"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.DataType_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Verify_Abstraction_Abstraction_Edge" identifier="org.eclipse.papyrus.sysml16di.Verify_Abstraction_Abstraction_Edge" name="Verify (Abstraction_Edge)" hint="Abstraction_Edge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0JPzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Verify.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Verify_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Edge"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Verify_Abstraction_Abstraction_Shape" identifier="org.eclipse.papyrus.sysml16di.Verify_Abstraction_Abstraction_Shape" name="Verify (Abstraction_Shape)" hint="Abstraction_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wQTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Verify.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Verify_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Verify_Abstraction_Abstraction_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.Verify_Abstraction_Abstraction_Shape_CN" name="Verify (Abstraction_Shape_CN)" hint="Abstraction_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wQzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Verify.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Verify_Abstraction"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.View_Class_ClassNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.View_Class_ClassNestedClassifierLabel" name="View (Class_ClassNestedClassifierLabel)" hint="Class_ClassNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wRTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/View.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.View"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ClassNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.View_Class_ComponentNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.View_Class_ComponentNestedClassifierLabel" name="View (Class_ComponentNestedClassifierLabel)" hint="Class_ComponentNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wRzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/View.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.View"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ComponentNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.View_Class_InterfaceNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.View_Class_InterfaceNestedClassifierLabel" name="View (Class_InterfaceNestedClassifierLabel)" hint="Class_InterfaceNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wSTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/View.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.View"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_InterfaceNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.View_Class_MetaclassShape" identifier="org.eclipse.papyrus.sysml16di.View_Class_MetaclassShape" name="View (Class_MetaclassShape)" hint="Class_MetaclassShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wSzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/View.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.View"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.View_Class_MetaclassShape_CN" identifier="org.eclipse.papyrus.sysml16di.View_Class_MetaclassShape_CN" name="View (Class_MetaclassShape_CN)" hint="Class_MetaclassShape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wTTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/View.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.View"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.View_Class_NestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.View_Class_NestedClassifierLabel" name="View (Class_NestedClassifierLabel)" hint="Class_NestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wTzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/View.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.View"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_NestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.View_Class_Shape" identifier="org.eclipse.papyrus.sysml16di.View_Class_Shape" name="View (Class_Shape)" hint="Class_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wUTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/View.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.View"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.View_Class_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.View_Class_Shape_CN" name="View (Class_Shape_CN)" hint="Class_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wUzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/View.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.View"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Viewpoint_Class_ClassNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.Viewpoint_Class_ClassNestedClassifierLabel" name="Viewpoint (Class_ClassNestedClassifierLabel)" hint="Class_ClassNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wVTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Viewpoint.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Viewpoint"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ClassNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Viewpoint_Class_ComponentNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.Viewpoint_Class_ComponentNestedClassifierLabel" name="Viewpoint (Class_ComponentNestedClassifierLabel)" hint="Class_ComponentNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wVzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Viewpoint.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Viewpoint"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_ComponentNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Viewpoint_Class_InterfaceNestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.Viewpoint_Class_InterfaceNestedClassifierLabel" name="Viewpoint (Class_InterfaceNestedClassifierLabel)" hint="Class_InterfaceNestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wWTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Viewpoint.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Viewpoint"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_InterfaceNestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Viewpoint_Class_MetaclassShape" identifier="org.eclipse.papyrus.sysml16di.Viewpoint_Class_MetaclassShape" name="Viewpoint (Class_MetaclassShape)" hint="Class_MetaclassShape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wWzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Viewpoint.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Viewpoint"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Viewpoint_Class_MetaclassShape_CN" identifier="org.eclipse.papyrus.sysml16di.Viewpoint_Class_MetaclassShape_CN" name="Viewpoint (Class_MetaclassShape_CN)" hint="Class_MetaclassShape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wXTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Viewpoint.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Viewpoint"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_MetaclassShape_CN"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Viewpoint_Class_NestedClassifierLabel" identifier="org.eclipse.papyrus.sysml16di.Viewpoint_Class_NestedClassifierLabel" name="Viewpoint (Class_NestedClassifierLabel)" hint="Class_NestedClassifierLabel" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wXzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Viewpoint.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Viewpoint"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_NestedClassifierLabel"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Viewpoint_Class_Shape" identifier="org.eclipse.papyrus.sysml16di.Viewpoint_Class_Shape" name="Viewpoint (Class_Shape)" hint="Class_Shape" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wYTvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Viewpoint.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Viewpoint"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape"/>
+  </elementTypeConfigurations>
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16di.Viewpoint_Class_Shape_CN" identifier="org.eclipse.papyrus.sysml16di.Viewpoint_Class_Shape_CN" name="Viewpoint (Class_Shape_CN)" hint="Class_Shape_CN" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+    <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_BF0wYzvNEeeIn_UJiGU5aQ" iconPath="/resources/icons/full/obj16/Viewpoint.gif" bundleId="org.eclipse.papyrus.sysml16.edit"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Viewpoint"/>
+    <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Class_Shape_CN"/>
+  </elementTypeConfigurations>
+</elementtypesconfigurations:ElementTypeSetConfiguration>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/east.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/east.svg
new file mode 100644
index 0000000..f0c1f57
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/east.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_IN_A_EAST.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAF1JREFU
+OI3Fk7kNACAMA23239lUQUEglKcg/R2xAUpCZ0aLfglIhla7CgyOSA6BhyQxJcjCm6ACAwAlhQvz
+Y4e0r5H2kKoR1gYeykTaIlQkRwdZybVEk0S64PffOAHmLTUTLLyRfwAAAABJRU5ErkJggg==
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/north.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/north.svg
new file mode 100644
index 0000000..0156836
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/north.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_IN_A_NORTH.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAFlJREFU
+OI3lkjsOACAIQ633v3PdDCCfGOIko7TNAwTJ0anZclcBAAggRXxL8GNAtXFPM20jC/E0O4AkMhL5
+prT2K1djSLMiiARVz72CJ4yCwzNKQ0Z17OC2FkWdLxk6N++lAAAAAElFTkSuQmCC
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/south.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/south.svg
new file mode 100644
index 0000000..1d15e61
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/south.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_IN_A_SOUTH.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAFdJREFU
+OI3tkzEOwDAMAg3//zNZIxeTSFW3MlkCzosNSfVGTCYAAYgbRsBeTBALcIUJ8gCkbc7jFJAEN3cI
+nbEXThD2gCunDF0gqWfiHdzoB1Th02+80QJbwjAd41MApwAAAABJRU5ErkJggg==
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/west.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/west.svg
new file mode 100644
index 0000000..d21843f
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/west.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_IN_A_WEST.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAFpJREFU
+OI2lkjEOADAIAqX//zOdTDoo0uh+F0RBMjZzVrQrANDGHAUJd5JRQBIqibWCktgldhLkGVVRSro+
+I34e6U2ZK9kJKtgWdLAlULAlSKiCIz5LrGZ9xguZ6DUTCyyfmAAAAABJRU5ErkJggg==
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/east.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/east.svg
new file mode 100644
index 0000000..b3a673a
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/east.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_INOUT_A_EAST.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAGBJREFU
+OI3VkzkOwCAMBDP+/58nVaQcXqdAKeIKtAdrA6jbStWS+jMDQMC0Hw0SMWGVCCrd+m5SHXAWvJmg
+jrGnUlm+BY6H9NZC4lQn6lpKB1xaiIMa0j1mkOInjP9/ph0Wp0QZPKv13wAAAABJRU5ErkJggg==
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/north.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/north.svg
new file mode 100644
index 0000000..dd29b25
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/north.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_INOUT_A_NORTH.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAGpJREFU
+OI2lUssOACAIktb//zJdmw/SxamFYoEgaT9YigRAAHJCKXA3KpFUIGuoRIKAmpZxqyogiezsRdIv
+3A3qzsxsd4oUL2PsIHjwMrHlwSRG+FV+bZ73IbxAGdk2cRJjmUK1SB7BgykOhj9BHyL4QfoAAAAA
+SUVORK5CYII=
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/south.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/south.svg
new file mode 100644
index 0000000..f10f712
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/south.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_INOUT_A_SOUTH.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAGpJREFU
+OI2lUssOACAIktb//zJdmw/SxamFYoEgaT9YigRAAHJCKXA3KpFUIGuoRIKAmpZxqyogiezsRdIv
+3A3qzsxsd4oUL2PsIHjwMrHlwSRG+FV+bZ73IbxAGdk2cRJjmUK1SB7BgykOhj9BHyL4QfoAAAAA
+SUVORK5CYII=
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/west.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/west.svg
new file mode 100644
index 0000000..84cf259
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/west.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_INOUT_A_WEST.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAGBJREFU
+OI3VkzkOwCAMBDP+/58nVaQcXqdAKeIKtAdrA6jbStWS+jMDQMC0Hw0SMWGVCCrd+m5SHXAWvJmg
+jrGnUlm+BY6H9NZC4lQn6lpKB1xaiIMa0j1mkOInjP9/ph0Wp0QZPKv13wAAAABJRU5ErkJggg==
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/east.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/east.svg
new file mode 100644
index 0000000..8b32a45
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/east.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_NA_EAST.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1005"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="-9"
+     inkscape:window-y="-9"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAF1JREFU
+OI3VkzsOwCAMQ7Hvf2d3q/jEASl0aCYg8RM2ApJapVhSfwYAIABy+xTgBl2PbkASovUMYdToBTsI
+T8QZ5M4rZB77im7K+cBBnM3BgoNkGS0ZnIb4wv//mR4MDkIhrumESwAAAABJRU5ErkJggg==
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/north.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/north.svg
new file mode 100644
index 0000000..24c350a
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/north.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_NA_NORTH.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAGZJREFU
+OI21kkESgDAIAxP//+d4RUxwHJRTp5RlykJJ2MQxJUmK5NghAmrhBLEAV5AgN0B9KImSOEEugF7s
+zh1iv1ALpjsA4K8aXwOevLv8txrTtJMdIAwxdXMm1hqjhbRIPdZ7cALi1kYdpsE2kgAAAABJRU5E
+rkJggg==
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/south.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/south.svg
new file mode 100644
index 0000000..bdecdee
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/south.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_NA_SOUTH.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAGZJREFU
+OI21kkESgDAIAxP//+d4RUxwHJRTp5RlykJJ2MQxJUmK5NghAmrhBLEAV5AgN0B9KImSOEEugF7s
+zh1iv1ALpjsA4K8aXwOevLv8txrTtJMdIAwxdXMm1hqjhbRIPdZ7cALi1kYdpsE2kgAAAABJRU5E
+rkJggg==
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/west.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/west.svg
new file mode 100644
index 0000000..92fbe6d
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/west.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_NA_WEST.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAF1JREFU
+OI3VkzsOwCAMQ7Hvf2d3q/jEASl0aCYg8RM2ApJapVhSfwYAIABy+xTgBl2PbkASovUMYdToBTsI
+T8QZ5M4rZB77im7K+cBBnM3BgoNkGS0ZnIb4wv//mR4MDkIhrumESwAAAABJRU5ErkJggg==
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/east.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/east.svg
new file mode 100644
index 0000000..dfa32f1
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/east.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_OUT_A_EAST.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAFpJREFU
+OI2lkjEOADAIAqX//zOdTDoo0uh+F0RBMjZzVrQrANDGHAUJd5JRQBIqibWCktgldhLkGVVRSro+
+I34e6U2ZK9kJKtgWdLAlULAlSKiCIz5LrGZ9xguZ6DUTCyyfmAAAAABJRU5ErkJggg==
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/north.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/north.svg
new file mode 100644
index 0000000..767da10
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/north.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_OUT_A_NORTH.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAFdJREFU
+OI3tkzEOwDAMAg3//zNZIxeTSFW3MlkCzosNSfVGTCYAAYgbRsBeTBALcIUJ8gCkbc7jFJAEN3cI
+nbEXThD2gCunDF0gqWfiHdzoB1Th02+80QJbwjAd41MApwAAAABJRU5ErkJggg==
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/south.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/south.svg
new file mode 100644
index 0000000..5b8d033
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/south.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_OUT_A_SOUTH.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAFlJREFU
+OI3lkjsOACAIQ633v3PdDCCfGOIko7TNAwTJ0anZclcBAAggRXxL8GNAtXFPM20jC/E0O4AkMhL5
+prT2K1djSLMiiARVz72CJ4yCwzNKQ0Z17OC2FkWdLxk6N++lAAAAAElFTkSuQmCC
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/west.svg b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/west.svg
new file mode 100644
index 0000000..c462714
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/west.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   sodipodi:docname="FlowPort_OUT_A_WEST.svg">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="837"
+     inkscape:window-height="480"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="14.75"
+     inkscape:cx="8"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <image
+     width="16"
+     height="16"
+     preserveAspectRatio="none"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAF1JREFU
+OI3Fk7kNACAMA23239lUQUEglKcg/R2xAUpCZ0aLfglIhla7CgyOSA6BhyQxJcjCm6ACAwAlhQvz
+Y4e0r5H2kKoR1gYeykTaIlQkRwdZybVEk0S64PffOAHmLTUTLLyRfwAAAABJRU5ErkJggg==
+"
+     id="image10"
+     x="0"
+     y="0" />
+</svg>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/site/mediawiki/palette.mediawiki b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/site/mediawiki/palette.mediawiki
new file mode 100644
index 0000000..ebbddfa
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/site/mediawiki/palette.mediawiki
@@ -0,0 +1,22 @@
+
+= 1 Introduction =
+
+
+= 2 Convention =
+
+==Palette==
+
+All palette should follow the following convention:
+* drawerConfigurations.id=org.eclipse.papyrus.sysML.[bdd|ibd|par|req].palette.[edge|node]
+* drawerConfigurations.label=SysML [BDD|IBD|PAR|REQ] [Edges|Nodes]
+* ownedConfigurations.id=org.eclipse.papyrus.sysML.[bdd|ibd|par|req].palette.[edge|node].XXX
+
+= 3 Support =
+
+To report bugs, suggest improvements, view the status of the Papyrus SysML project, discuss different Papyrus subjects, etc. please use the following references:
+
+* [http://www.eclipse.org/papyrus/ The Papyrus project home page]
+* [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Papyrus The Papyrus bug submission home page]
+
+= 4 References =
+# [http://www.omg.org/spec/SysML/ OMG SysML]
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/site/xdoc/intro.xml b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/site/xdoc/intro.xml
new file mode 100644
index 0000000..91f3536
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/site/xdoc/intro.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+
+	<properties>
+		<title>SysML Intro</title>
+	</properties>
+
+	<body>
+
+		<section name="Introduction">
+			<subsection name="Purpose">
+				<p>In order to enhance the communauty and the diffusion of Papyrus,
+					new features and enhancements should be documented through a small
+					video uploaded to youtube channel.
+				</p>
+			</subsection>
+		</section>
+		<section name="Convention">
+			<subsection name="Palette">
+				<p>each palette should follow the convention:
+				</p>
+				<source>
+				<![CDATA[<?xml version="1.0" encoding="ASCII"?>
+<paletteconfiguration:PaletteConfiguration
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:paletteconfiguration="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.7"
+    id="org.eclipse.papyrus.sysML.[bdd,ibd,par,req].palette.model"
+    label="SysML [BDD|IBD|PAR|REQ] Palette">
+  <drawerConfigurations
+      id="org.eclipse.papyrus.sysML.[bdd|ibd|par|req].palette.[edge|node]"
+      label="SysML IBD [Edges|Nodes]"
+      description="Nodes">
+    <ownedConfigurations
+        xsi:type="paletteconfiguration:ToolConfiguration"
+        id="org.eclipse.papyrus.sysML.[bdd|ibd|par|req].palette.[edge|node].XXXX"
+        label="Block"
+        description="Create a Block">
+      <icon
+          pluginID="org.eclipse.papyrus.sysml"
+          iconPath="icons/blocks/Block.gif"/>
+      <elementDescriptors
+          elementTypeId="org.eclipse.papyrus.SysML14.Block_3085"/>
+      <elementDescriptors
+          elementTypeId="org.eclipse.papyrus.SysML14.Block_2073"/>
+    </ownedConfigurations>
+    </drawerConfigurations>]]>
+				</source>
+			</subsection>
+		</section>
+		<section name="References">
+			<ul>
+				<li><a href="http://www.omg.org/spec/SysML/">OMG SysML</a></li>
+			</ul>
+		</section>
+	</body>
+</document>
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/Activator.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/Activator.java
new file mode 100644
index 0000000..9792a28
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/Activator.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * 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.sysml16.diagram.common"; //$NON-NLS-1$
+
+	/**
+	 * Returns an image descriptor for the image file at the given plug-in relative path.
+	 *
+	 * @param path
+	 *            The path.
+	 * @return The image descriptor.
+	 */
+	public static ImageDescriptor getImageDescriptor(final String path) {
+		return imageDescriptorFromPlugin(PLUGIN_ID, path);
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/advices/ActorPartGraphicalEditHelperAdvice.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/advices/ActorPartGraphicalEditHelperAdvice.java
new file mode 100644
index 0000000..9922b33
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/advices/ActorPartGraphicalEditHelperAdvice.java
@@ -0,0 +1,100 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.advices;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.jface.window.Window;
+import org.eclipse.papyrus.sysml16.diagram.common.command.ConfigurePartCommand;
+import org.eclipse.papyrus.sysml16.diagram.common.dialog.CreateOrSelectActorPartTypeDialog;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.command.RenamePostCreationCommand;
+import org.eclipse.papyrus.sysml16.service.types.advice.ActorPartEditHelperAdvice;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+
+/**
+ * The helperadvice class used for ActorPart
+ *
+ */
+public class ActorPartGraphicalEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getBeforeConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getBeforeConfigureCommand(ConfigureRequest request) {
+		configureRequest(request);
+		return super.getBeforeConfigureCommand(request);
+	}
+
+	/**
+	 * @param request
+	 */
+	private void configureRequest(ConfigureRequest request) {
+		Map<String, Object> newParameters = new HashMap<String, Object>();
+
+		ICommand configureCommand = null;
+
+		Shell shell = Display.getDefault().getActiveShell();
+		// Start dialog to identify the new part type
+		Property part = (Property) request.getElementToConfigure();
+		Package partPkg = part.getNearestPackage();
+
+
+		CreateOrSelectActorPartTypeDialog dialog = new CreateOrSelectActorPartTypeDialog(shell, partPkg);
+		dialog.open();
+		if (dialog.getReturnCode() == Window.OK) {
+
+			final ICommand typeCreationCommand = dialog.getNewTypeCreateCommand();
+			final String newTypeName = dialog.getSavedNewTypeNameText();
+			final Type partType = (Type) dialog.getExistingType();
+
+			// Abort if type creation command exists but is not executable
+			if ((typeCreationCommand != null) && (!typeCreationCommand.canExecute())) {
+				configureCommand = UnexecutableCommand.INSTANCE;
+			} else {
+				configureCommand = CompositeCommand.compose(configureCommand, typeCreationCommand);
+			}
+
+			// Create the configure command that will set the constraint property type
+			ICommand setTypeCommand = new ConfigurePartCommand(request, partType, typeCreationCommand);
+			configureCommand = CompositeCommand.compose(configureCommand, setTypeCommand);
+			if (typeCreationCommand != null && typeCreationCommand.canExecute()) {
+				RenamePostCreationCommand renamePostCreationCommand = new RenamePostCreationCommand(request, newTypeName, typeCreationCommand);
+				configureCommand = CompositeCommand.compose(configureCommand, renamePostCreationCommand);
+			}
+		} else {
+			throw new OperationCanceledException("Actor part creation cancelled by user"); //$NON-NLS-1$
+		}
+
+		newParameters.put(ActorPartEditHelperAdvice.SET_ACTOR_ICOMMAND, configureCommand);
+		request.addParameters(newParameters);
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/advices/ConstraintPropertyGraphicalEditHelperAdvice.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/advices/ConstraintPropertyGraphicalEditHelperAdvice.java
new file mode 100644
index 0000000..873121a
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/advices/ConstraintPropertyGraphicalEditHelperAdvice.java
@@ -0,0 +1,100 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.advices;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.jface.window.Window;
+import org.eclipse.papyrus.sysml16.diagram.common.command.ConfigurePartCommand;
+import org.eclipse.papyrus.sysml16.diagram.common.dialog.CreateOrSelectConstraintPropertyTypeDialog;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.command.RenamePostCreationCommand;
+import org.eclipse.papyrus.sysml16.service.types.advice.ConstraintPropertyEditHelperAdvice;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+
+/**
+ * The helperadvice class used for ConstraintPropertyGraphical
+ *
+ */
+public class ConstraintPropertyGraphicalEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getBeforeConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getBeforeConfigureCommand(ConfigureRequest request) {
+		configureRequest(request);
+		return super.getBeforeConfigureCommand(request);
+	}
+
+	/**
+	 * @param request
+	 */
+	private void configureRequest(ConfigureRequest request) {
+		Map<String, Object> newParameters = new HashMap<String, Object>();
+
+		ICommand configureCommand = null;
+
+		Shell shell = Display.getDefault().getActiveShell();
+		// Start dialog to identify the new part type
+		Property part = (Property) request.getElementToConfigure();
+		Package partPkg = part.getNearestPackage();
+
+
+		CreateOrSelectConstraintPropertyTypeDialog dialog = new CreateOrSelectConstraintPropertyTypeDialog(shell, partPkg);
+		dialog.open();
+		if (dialog.getReturnCode() == Window.OK) {
+
+			final ICommand typeCreationCommand = dialog.getNewTypeCreateCommand();
+			final String newTypeName = dialog.getSavedNewTypeNameText();
+			final Type partType = (Type) dialog.getExistingType();
+
+			// Abort if type creation command exists but is not executable
+			if ((typeCreationCommand != null) && (!typeCreationCommand.canExecute())) {
+				configureCommand = UnexecutableCommand.INSTANCE;
+			} else {
+				configureCommand = CompositeCommand.compose(configureCommand, typeCreationCommand);
+			}
+
+			// Create the configure command that will set the constraint property type
+			ICommand setTypeCommand = new ConfigurePartCommand(request, partType, typeCreationCommand);
+			configureCommand = CompositeCommand.compose(configureCommand, setTypeCommand);
+			if (typeCreationCommand != null && typeCreationCommand.canExecute()) {
+				RenamePostCreationCommand renamePostCreationCommand = new RenamePostCreationCommand(request, newTypeName, typeCreationCommand);
+				configureCommand = CompositeCommand.compose(configureCommand, renamePostCreationCommand);
+			}
+		} else {
+			throw new OperationCanceledException("Constraint Property creation cancelled by user"); //$NON-NLS-1$
+		}
+
+		newParameters.put(ConstraintPropertyEditHelperAdvice.SET_CONSTRAINT_ICOMMAND, configureCommand);
+		request.addParameters(newParameters);
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/advices/CreateOrSelectBlockPropertyTypeEditHelperAdvice.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/advices/CreateOrSelectBlockPropertyTypeEditHelperAdvice.java
new file mode 100644
index 0000000..b5368ea
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/advices/CreateOrSelectBlockPropertyTypeEditHelperAdvice.java
@@ -0,0 +1,99 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.advices;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.jface.window.Window;
+import org.eclipse.papyrus.sysml16.diagram.common.command.ConfigurePartCommand;
+import org.eclipse.papyrus.sysml16.diagram.common.dialog.CreateOrSelectBlockPropertyTypeDialog;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.command.RenamePostCreationCommand;
+import org.eclipse.papyrus.sysml16.service.types.advice.AfterConfigureCommandEditHelperAdvice;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+
+/**
+ * Add a popup to create or select a Block for the property type of the element using this advice
+ */
+public class CreateOrSelectBlockPropertyTypeEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getBeforeConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getBeforeConfigureCommand(ConfigureRequest request) {
+		configureRequest(request);
+		return super.getBeforeConfigureCommand(request);
+	}
+
+	/**
+	 * @param request
+	 */
+	protected void configureRequest(ConfigureRequest request) {
+		Map<String, Object> newParameters = new HashMap<String, Object>();
+
+		ICommand configureCommand = null;
+
+		Shell shell = Display.getDefault().getActiveShell();
+		Property property = (Property) request.getElementToConfigure();
+		Package owner = property.getNearestPackage();
+
+
+		CreateOrSelectBlockPropertyTypeDialog dialog = new CreateOrSelectBlockPropertyTypeDialog(shell, owner);
+
+		dialog.open();
+		if (dialog.getReturnCode() == Window.OK) {
+
+			final ICommand typeCreationCommand = dialog.getNewTypeCreateCommand();
+			final String newTypeName = dialog.getSavedNewTypeNameText();
+			final Type partType = (Type) dialog.getExistingType();
+
+			// Abort if type creation command exists but is not executable
+			if ((typeCreationCommand != null) && (!typeCreationCommand.canExecute())) {
+				configureCommand = UnexecutableCommand.INSTANCE;
+			} else {
+				configureCommand = CompositeCommand.compose(configureCommand, typeCreationCommand);
+			}
+
+			// Create the configure command that will set the constraint property type
+			ICommand setTypeCommand = new ConfigurePartCommand(request, partType, typeCreationCommand);
+			configureCommand = CompositeCommand.compose(configureCommand, setTypeCommand);
+			if (typeCreationCommand != null && typeCreationCommand.canExecute()) {
+				RenamePostCreationCommand renamePostCreationCommand = new RenamePostCreationCommand(request, newTypeName, typeCreationCommand);
+				configureCommand = CompositeCommand.compose(configureCommand, renamePostCreationCommand);
+			}
+		} else {
+			throw new OperationCanceledException("Creation cancelled by user"); //$NON-NLS-1$
+		}
+
+		newParameters.put(AfterConfigureCommandEditHelperAdvice.AFTER_CONFIGURE_COMMAND, configureCommand);
+		request.addParameters(newParameters);
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/advices/ValueEditHelperAdvice.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/advices/ValueEditHelperAdvice.java
new file mode 100644
index 0000000..813d85a
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/advices/ValueEditHelperAdvice.java
@@ -0,0 +1,100 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.advices;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.jface.window.Window;
+import org.eclipse.papyrus.sysml16.diagram.common.command.ConfigurePartCommand;
+import org.eclipse.papyrus.sysml16.diagram.common.dialog.CreateOrSelectValuePropertyTypeDialog;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.command.RenamePostCreationCommand;
+import org.eclipse.papyrus.sysml16.service.types.advice.AfterConfigureCommandEditHelperAdvice;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+
+/**
+ * The helperadvice class used for Value
+ * It creates the popup to help the value creation
+ *
+ */
+public class ValueEditHelperAdvice extends AbstractEditHelperAdvice {
+
+	/**
+	 * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getBeforeConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+	 *
+	 * @param request
+	 * @return
+	 */
+	@Override
+	protected ICommand getBeforeConfigureCommand(ConfigureRequest request) {
+		configureRequest(request);
+		return super.getBeforeConfigureCommand(request);
+	}
+
+	/**
+	 * @param request
+	 */
+	protected void configureRequest(ConfigureRequest request) {
+		Map<String, Object> newParameters = new HashMap<String, Object>();
+
+		ICommand configureCommand = null;
+
+		Shell shell = Display.getDefault().getActiveShell();
+		Property property = (Property) request.getElementToConfigure();
+		Package owner = property.getNearestPackage();
+
+		CreateOrSelectValuePropertyTypeDialog dialog = new CreateOrSelectValuePropertyTypeDialog(shell, owner);
+
+		dialog.open();
+		if (dialog.getReturnCode() == Window.OK) {
+
+			final ICommand typeCreationCommand = dialog.getNewTypeCreateCommand();
+			final String newTypeName = dialog.getSavedNewTypeNameText();
+			final Type partType = (Type) dialog.getExistingType();
+
+			// Abort if type creation command exists but is not executable
+			if ((typeCreationCommand != null) && (!typeCreationCommand.canExecute())) {
+				configureCommand = UnexecutableCommand.INSTANCE;
+			} else {
+				configureCommand = CompositeCommand.compose(configureCommand, typeCreationCommand);
+			}
+
+			// Create the configure command that will set the constraint property type
+			ICommand setTypeCommand = new ConfigurePartCommand(request, partType, typeCreationCommand);
+			configureCommand = CompositeCommand.compose(configureCommand, setTypeCommand);
+			if (typeCreationCommand != null && typeCreationCommand.canExecute()) {
+				RenamePostCreationCommand renamePostCreationCommand = new RenamePostCreationCommand(request, newTypeName, typeCreationCommand);
+				configureCommand = CompositeCommand.compose(configureCommand, renamePostCreationCommand);
+			}
+		} else {
+			throw new OperationCanceledException("Value creation cancelled by user"); //$NON-NLS-1$
+		}
+
+		newParameters.put(AfterConfigureCommandEditHelperAdvice.AFTER_CONFIGURE_COMMAND, configureCommand);
+		request.addParameters(newParameters);
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/command/ConfigurePartCommand.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/command/ConfigurePartCommand.java
new file mode 100644
index 0000000..91a7109
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/command/ConfigurePartCommand.java
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.command;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.ConfigureElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.papyrus.infra.services.edit.utils.GMFCommandUtils;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * Configure a part with the created/selected type
+ */
+public class ConfigurePartCommand extends ConfigureElementCommand {
+
+
+	private Type partType;
+	private ICommand typeCreationCommand;
+
+
+	/**
+	 * Constructor.
+	 *
+	 * @param request
+	 *            configuration request
+	 * @param partType
+	 *            the featuring type of the part
+	 * @param typeCreationCommand
+	 *            if needed create the type
+	 */
+	public ConfigurePartCommand(ConfigureRequest request, Type partType, ICommand typeCreationCommand) {
+		super(request);
+		this.partType = partType;
+		this.typeCreationCommand = typeCreationCommand;
+	}
+
+	@Override
+	protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+
+		Property part = (Property) getElementToEdit();
+		if (partType != null) {
+			part.setType(partType);
+		} else {
+			Type newType = (Type) GMFCommandUtils.getCommandEObjectResult(typeCreationCommand);
+			part.setType(newType);
+		}
+		return CommandResult.newOKCommandResult(part);
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/css/dom/GMFSYSMLElementAdapter.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/css/dom/GMFSYSMLElementAdapter.java
new file mode 100644
index 0000000..8839911
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/css/dom/GMFSYSMLElementAdapter.java
@@ -0,0 +1,367 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.css.dom;
+
+
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.notation.BasicCompartment;
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.gmfdiag.css.dom.GMFElementAdapter;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.tools.util.ListHelper;
+import org.eclipse.papyrus.sysml16.diagram.common.css.helper.CSSDOMSYSMLSemanticElementHelper;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.util.DeprecatedElementUtil;
+import org.eclipse.papyrus.uml.diagram.common.stereotype.display.helper.StereotypeDisplayConstant;
+import org.eclipse.papyrus.uml.diagram.common.stereotype.display.helper.StereotypeDisplayUtil;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Event;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * DOM Element Adapter for SYSML Elements
+ *
+ * Supports applied stereotypes and stereotype properties
+ */
+public class GMFSYSMLElementAdapter extends GMFElementAdapter {
+
+
+	/**
+	 * Name of the CSS Simple Selector to match on the Stereotype Compartment Shape
+	 */
+	private static final String STEREOTYPE_COMMENT = "StereotypeComment"; //$NON-NLS-1$
+
+	/** The stereotype helper. */
+	public final StereotypeDisplayUtil stereotypeHelper = StereotypeDisplayUtil.getInstance();
+
+	/** The Constant IS_CONSTRAINT. */
+	private static final String IS_CONSTRAINT = "isConstraint"; //$NON-NLS-1$
+
+	/** The Constant IS_PART. */
+	private static final String IS_PART = "isPart"; //$NON-NLS-1$
+
+	/** The Constant IS_REFERENCE. */
+	private static final String IS_REFERENCE = "isReference"; //$NON-NLS-1$
+
+	/** The Constant APPLIED_STEREOTYPES_PROPERTY. */
+	public static final String APPLIED_STEREOTYPES_PROPERTY = "appliedStereotypes"; //$NON-NLS-1$
+
+	/** The Constant TYPE_APPLIED_STEREOTYPES_PROPERTY */
+	private static final String TYPE_APPLIED_STEREOTYPES_PROPERTY = "typeAppliedStereotypes"; //$NON-NLS-1$
+
+	/** The Constant DEPRECATED. */
+	public static final String DEPRECATED = "deprecated"; //$NON-NLS-1$
+
+	/** The Constant IS_ABSTRACT. */
+	private static final String IS_ABSTRACT = "isAbstract"; //$NON-NLS-1$
+
+	/** The Constant IS_TIME_EVENT_ACTION. */
+	private static final String IS_TIME_EVENT_ACTION_PROPERTY = "isTimeEventAction"; //$NON-NLS-1$
+
+	/** The Constant IS_FRAMEZABLE. */
+	public static final String IS_FRAME = "isFrame"; //$NON-NLS-1$
+
+	/**
+	 * The CSS Separator for qualifiers, when we must use CSS ID
+	 * When we can use CSS String, we use the standard UML "::" qualifier separator
+	 *
+	 * NOTE: Separator "__" does not work
+	 */
+	public static final String QUALIFIER_SEPARATOR = "--"; //$NON-NLS-1$
+
+	public GMFSYSMLElementAdapter(View view, ExtendedCSSEngine engine) {
+		super(view, engine);
+		helper = CSSDOMSYSMLSemanticElementHelper.getInstance();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * Applied Stereotypes are manipulated as DOM Attributes
+	 */
+	@Override
+	protected String doGetAttribute(String attr) {
+		String parentValue = super.doGetAttribute(attr);
+		if (parentValue != null) {
+			return parentValue;
+		}
+
+		// This is present only for performance issues
+		// isAbstract isn't a SysML feature but will be called many time for UML
+		// and is very slow to answer (Check : L172)
+		if (IS_ABSTRACT.equals(attr)) {
+			return null;
+		}
+
+		// get stereotype Label attribute
+		if (stereotypeHelper.isStereotypeLabel(semanticElement)) {
+			String value = getStereotypeLabelAttribute(attr);
+			if (value != null && !value.isEmpty()) {
+				return value;
+			}
+		}
+
+		// get stereotype Compartment attribute
+		if (stereotypeHelper.isStereotypeCompartment(semanticElement) || stereotypeHelper.isStereotypeBrace(semanticElement)) {
+			String value = getStereotypeCompartmentAttribute(attr);
+			if (value != null && !value.isEmpty()) {
+				return value;
+			}
+		}
+
+		// get stereotype Property attribute
+		if (stereotypeHelper.isStereotypeProperty(semanticElement) || stereotypeHelper.isStereotypeBraceProperty(semanticElement)) {
+			String value = getStereotypePropertyAttribute(attr);
+			if (value != null && !value.isEmpty()) {
+				return value;
+			}
+		}
+
+		if (semanticElement instanceof Element) {
+			// Applied stereotypes
+			Element currentElement = (Element) semanticElement;
+
+			// IMPORTANT set the faster test first
+			if (DEPRECATED.equals(attr)) {
+				return String.valueOf(DeprecatedElementUtil.isDeprecatedElement(semanticElement));
+			}
+			boolean isProperty = semanticElement instanceof Property;
+			// manage of isConstraint=true attribute for Property
+			if (IS_CONSTRAINT.equals(attr) && isProperty) {
+				IElementMatcher constraint = ((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTPROPERTY)).getMatcher();
+				return String.valueOf(constraint.matches((Property) semanticElement));
+			}
+			// manage of isPart=true attribute for Property
+			if (IS_PART.equals(attr) && isProperty) {
+				IElementMatcher part = ((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_PART)).getMatcher();
+				return String.valueOf(part.matches((Property) semanticElement));
+			}
+			// manage of isReference=true attribute for Property
+			if (IS_REFERENCE.equals(attr) && isProperty) {
+				IElementMatcher reference = ((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_REFERENCE)).getMatcher();
+				return String.valueOf(reference.matches((Property) semanticElement));
+			}
+
+
+			// Get applied STereotypes Attributes
+			if (APPLIED_STEREOTYPES_PROPERTY.equals(attr)) {
+				List<String> appliedStereotypes = new LinkedList<String>();
+				for (Stereotype stereotype : currentElement.getAppliedStereotypes()) {
+					appliedStereotypes.add(stereotype.getName());
+					appliedStereotypes.add(stereotype.getQualifiedName());
+				}
+				if (!appliedStereotypes.isEmpty()) {
+					return ListHelper.deepToString(appliedStereotypes, CSS_VALUES_SEPARATOR);
+				}
+				return null;
+			}
+
+			if (TYPE_APPLIED_STEREOTYPES_PROPERTY.equals(attr) && semanticElement instanceof TypedElement) {
+				Type type = ((TypedElement) semanticElement).getType();
+				if (type != null) {
+					List<String> appliedStereotypes = new LinkedList<>();
+					for (Stereotype stereotype : type.getAppliedStereotypes()) {
+						appliedStereotypes.add(stereotype.getName());
+						appliedStereotypes.add(stereotype.getQualifiedName());
+					}
+
+					if (!appliedStereotypes.isEmpty()) {
+						return ListHelper.deepToString(appliedStereotypes, CSS_VALUES_SEPARATOR);
+					}
+				}
+			}
+
+			for (EObject stereotypeApplication : currentElement.getStereotypeApplications()) {
+				EStructuralFeature feature = stereotypeApplication.eClass().getEStructuralFeature(attr);
+				if (feature != null) {
+					if (feature.isMany()) {
+						List<?> values = (List<?>) stereotypeApplication.eGet(feature);
+						List<String> cssValues = new LinkedList<String>();
+						for (Object value : values) {
+							cssValues.add(getCSSValue(feature, value));
+						}
+						return ListHelper.deepToString(cssValues, CSS_VALUES_SEPARATOR);
+					} else {
+						Object value = stereotypeApplication.eGet(feature);
+						return getCSSValue(feature, value);
+					}
+				}
+				return null;
+			}
+
+			if (attr.contains(QUALIFIER_SEPARATOR)) {
+				List<String> qualifiers = ListHelper.asList(attr.split(QUALIFIER_SEPARATOR)); // Writable list
+				String propertyName = qualifiers.remove(qualifiers.size() - 1); // Last element is the property name
+				// Remaining strings can be used to build the Stereotype's qualified name
+				String stereotypeName = ListHelper.deepToString(qualifiers, "::"); //$NON-NLS-1$
+				Stereotype appliedStereotype = currentElement.getAppliedStereotype(stereotypeName);
+				if (appliedStereotype != null) {
+					EObject stereotypeApplication = currentElement.getStereotypeApplication(appliedStereotype);
+					EStructuralFeature feature = stereotypeApplication.eClass().getEStructuralFeature(propertyName);
+					if (feature != null) {
+						Object value = stereotypeApplication.eGet(feature);
+						return getCSSValue(feature, value);
+					}
+				}
+			}
+			// manage of isTimeEventAction=true attribute for AcceptEventAction
+			if (IS_TIME_EVENT_ACTION_PROPERTY.equals(attr)) {
+				if (semanticElement instanceof AcceptEventAction) {
+					return String.valueOf(isAcceptTimeEventAction((AcceptEventAction) semanticElement));
+				}
+			}
+			// manage of isFraezable=true attribute for displaying header/frame
+			if (IS_FRAME.equals(attr)) {
+				if (notationElement.eContainer() == notationElement.getDiagram()) {
+					return String.valueOf(true);
+				} else {
+					return String.valueOf(false);
+				}
+			}
+		}
+		return null;
+	}
+
+
+	/**
+	 * Retrieve the Matching String Value for the StereotypeCompartment Element
+	 *
+	 * @param attr
+	 *            Attribute of the String to match with
+	 * @return The matching value for this Attribute
+	 */
+	protected String getStereotypeCompartmentAttribute(String attr) {
+		if (StereotypeDisplayConstant.STEREOTYPE_COMPARTMENT_NAME.equals(attr)) {
+			BasicCompartment propertyCompartment = (BasicCompartment) semanticElement;
+			return stereotypeHelper.getName(propertyCompartment);
+		}
+		return "";//$NON-NLS-1$
+	}
+
+	/**
+	 * Retrieve the Matching String Value for the StereotypeCompartment Element
+	 *
+	 * @param attr
+	 *            Attribute of the String to match with
+	 * @return The matching value for this Attribute
+	 */
+	protected String getStereotypePropertyAttribute(String attr) {
+		// CSS can match property level
+		if (StereotypeDisplayConstant.STEREOTYPE_PROPERTY_NAME.equals(attr)) {
+			DecorationNode propertyLabel = (DecorationNode) semanticElement;
+			if (propertyLabel.getElement() instanceof Property) {
+				Property prop = (Property) propertyLabel.getElement();
+				return prop.getName();
+			}
+			// CSS can match Container Name
+		} else if (StereotypeDisplayConstant.STEREOTYPE_COMPARTMENT_NAME.equals(attr)) {
+			EObject propertyCompartment = ((DecorationNode) semanticElement).eContainer();
+			if (stereotypeHelper.isStereotypeCompartment(propertyCompartment)) {
+
+				return stereotypeHelper.getName((DecorationNode) propertyCompartment);
+			}
+
+		}
+		return "";//$NON-NLS-1$
+	}
+
+	/**
+	 * Get the matching Value of the Attribute
+	 *
+	 * @param attr
+	 *            Attribute of the String to match with
+	 * @return The matching value for this Attribute
+	 */
+	protected String getStereotypeLabelAttribute(String attr) {
+		if (StereotypeDisplayConstant.STEREOTYPE_LABEL_NAME.equals(attr)) {
+			DecorationNode label = (DecorationNode) semanticElement;
+			return stereotypeHelper.getName(label);
+		}
+
+		if (KIND.equals(attr) && stereotypeHelper.isStereotypeLabel(semanticElement)) {
+			return StereotypeDisplayConstant.STEREOTYPE_LABEL_TYPE;
+		}
+		return null;
+	}
+
+	@Override
+	protected String getCSSValue(EStructuralFeature feature, Object value) {
+		if (feature instanceof EReference && value instanceof NamedElement) {
+			String name = ((NamedElement) value).getName();
+			return name == null || name.isEmpty() ? EMPTY_VALUE : name; // Bug 467716: Never return null or empty string if the value is not null
+		}
+		return super.getCSSValue(feature, value);
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.infra.gmfdiag.css.dom.GMFElementAdapter#getLocalName()
+	 *
+	 * @return The Local name for the CSS matching.
+	 */
+	@Override
+	public String getLocalName() {
+		// In case of StereotypeComment type, the selector should match on the Stereotype Comment.
+		if (localName == null && stereotypeHelper.isStereotypeComment(getNotationElement())) {
+			return STEREOTYPE_COMMENT;
+		}
+		return super.getLocalName();
+	}
+
+	/**
+	 * Checks if is accept time event action.
+	 *
+	 * @param action
+	 *            the action
+	 * @return true, if is accept time event action
+	 */
+	public boolean isAcceptTimeEventAction(AcceptEventAction action) {
+		boolean hasTimeEvent = false;
+		boolean hasOthersTriggers = false;
+		// Get triggers
+		if (action.getTriggers() != null) {
+			for (Trigger trigger : action.getTriggers()) {
+				if (trigger != null) {
+					Event event = trigger.getEvent();
+					if (event instanceof TimeEvent) {
+						hasTimeEvent = true;
+					} else {
+						hasOthersTriggers = true;
+					}
+				}
+			}
+		}
+		// only time events have been encountered.
+		return hasTimeEvent && !hasOthersTriggers;
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/css/dom/GMFSYSMLElementProvider.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/css/dom/GMFSYSMLElementProvider.java
new file mode 100644
index 0000000..6b0d9fe
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/css/dom/GMFSYSMLElementProvider.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.css.dom;
+
+import org.eclipse.e4.ui.css.core.engine.CSSEngine;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.provider.IPapyrusElementProvider;
+import org.eclipse.papyrus.sysml16.diagram.common.css.helper.CSSDOMSYSMLSemanticElementHelper;
+import org.w3c.dom.Element;
+
+/**
+ * An IElementProvider for SysML-specific CSS concepts
+ *
+ * Provides a specialization of GMFElementAdapter for SysML Elements
+ */
+public class GMFSYSMLElementProvider implements IPapyrusElementProvider {
+
+	@Override
+	public Element getElement(Object element, CSSEngine engine) {
+
+		if (!(element instanceof View)) {
+			throw new IllegalArgumentException("Unknown element : " + element);//$NON-NLS-1$
+		}
+
+		if (!(engine instanceof ExtendedCSSEngine)) {
+			throw new IllegalArgumentException("Invalid CSS Engine : " + engine);//$NON-NLS-1$
+		}
+
+		return new GMFSYSMLElementAdapter((View) element, (ExtendedCSSEngine) engine);
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.infra.gmfdiag.css.provider.IPapyrusElementProvider#getPrimaryView(org.eclipse.emf.ecore.EObject)
+	 *
+	 * @param notationElement
+	 * @return
+	 */
+	@Override
+	public View getPrimaryView(EObject notationElement) {
+		return CSSDOMSYSMLSemanticElementHelper.getInstance().findPrimaryView(notationElement);
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/css/dom/GMFSYSMLElementProviderFactory.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/css/dom/GMFSYSMLElementProviderFactory.java
new file mode 100644
index 0000000..3df6ec2
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/css/dom/GMFSYSMLElementProviderFactory.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.diagram.common.css.dom;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ICSSElementProviderFactory;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.provider.IPapyrusElementProvider;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Element;
+
+
+/**
+ * IElementProvider Factory for Diagrams related to SysML Elements.
+ */
+public class GMFSYSMLElementProviderFactory implements ICSSElementProviderFactory {
+
+	@Override
+	public boolean isProviderFor(CSSDiagram diagram) {
+		if (diagram.getElement() instanceof Element) {
+			// Retrieve the UML2 element
+			Element element = (Element) diagram.getElement();
+
+			// Introspect its packages to check if SysML profile is applied
+			return SysMLResource.isSysMLProfileApplied(element);
+		}
+		return false;
+	}
+
+	@Override
+	public IPapyrusElementProvider createProvider(CSSDiagram diagram) {
+		return new GMFSYSMLElementProvider();
+	}
+
+
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/css/helper/CSSDOMSYSMLSemanticElementHelper.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/css/helper/CSSDOMSYSMLSemanticElementHelper.java
new file mode 100644
index 0000000..7e10aaa
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/css/helper/CSSDOMSYSMLSemanticElementHelper.java
@@ -0,0 +1,80 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.css.helper;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.papyrus.infra.gmfdiag.css.helper.CSSDOMSemanticElementHelper;
+import org.eclipse.papyrus.uml.diagram.common.stereotype.display.helper.StereotypeDisplayUtil;
+
+/**
+ * This class is a helper for retrieving view and semantic element from a compatible object related to UML.
+ */
+public class CSSDOMSYSMLSemanticElementHelper extends CSSDOMSemanticElementHelper {
+
+
+	/**
+	 * singleton instance
+	 */
+	private static CSSDOMSYSMLSemanticElementHelper elementHelper;
+
+	/** Private Constructor. */
+	protected CSSDOMSYSMLSemanticElementHelper() {
+		super();
+	}
+
+	/**
+	 * Returns the singleton instance of this class
+	 *
+	 * @return the singleton instance.
+	 */
+	public static CSSDOMSYSMLSemanticElementHelper getInstance() {
+		if (elementHelper == null) {
+			elementHelper = new CSSDOMSYSMLSemanticElementHelper();
+		}
+		return elementHelper;
+	}
+
+
+
+	/**
+	 * @see org.eclipse.papyrus.infra.gmfdiag.css.helper.CSSDOMSemanticElementHelper#findSemanticElement(org.eclipse.emf.ecore.EObject)
+	 *
+	 * @param notationElement
+	 * @return
+	 */
+	@Override
+	public EObject findSemanticElement(EObject notationElement) {
+		StereotypeDisplayUtil stereotypeHelper = StereotypeDisplayUtil.getInstance();
+		// Add Stereotype Comment
+		if (notationElement instanceof Shape && stereotypeHelper.isStereotypeComment(notationElement)) {
+			return notationElement;
+		}
+
+		// Add Stereotype Label
+		if (notationElement instanceof DecorationNode && stereotypeHelper.isStereotypeLabel(notationElement)) {
+			return notationElement;
+		}
+
+		// Add StereotypeProperty to the DOM model
+		if (notationElement instanceof DecorationNode && (stereotypeHelper.isStereotypeProperty(notationElement) || stereotypeHelper.isStereotypeBraceProperty(notationElement))) {
+			return notationElement;
+		}
+		return super.findSemanticElement(notationElement);
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/dialog/CreateOrSelectActorPartTypeDialog.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/dialog/CreateOrSelectActorPartTypeDialog.java
new file mode 100644
index 0000000..2869c82
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/dialog/CreateOrSelectActorPartTypeDialog.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.dialog;
+
+import org.eclipse.papyrus.sysml16.diagram.common.internal.dialog.CreateOrSelectTypeWithNameDialog;
+import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * Dialog for initialization of Part (Property) type (the type is either selected or created).
+ */
+public class CreateOrSelectActorPartTypeDialog extends CreateOrSelectTypeWithNameDialog {
+
+	/** Constructor */
+	public CreateOrSelectActorPartTypeDialog(Shell shell, NamedElement owner) {
+		super(shell, owner, UMLElementTypes.ACTOR,
+				UMLPackage.eINSTANCE.getTypedElement_Type(),
+				UMLPackage.eINSTANCE.getActor(),
+				UMLElementTypes.PACKAGE,
+				UMLPackage.eINSTANCE.getPackage_PackagedElement(), null);
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/dialog/CreateOrSelectBlockPropertyTypeDialog.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/dialog/CreateOrSelectBlockPropertyTypeDialog.java
new file mode 100644
index 0000000..6327dfc
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/dialog/CreateOrSelectBlockPropertyTypeDialog.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.dialog;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.dialog.CreateOrSelectTypeWithNameDialog;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * Dialog for initialization of Part (Property) type (the type is either selected or created).
+ */
+public class CreateOrSelectBlockPropertyTypeDialog extends CreateOrSelectTypeWithNameDialog {
+
+	public CreateOrSelectBlockPropertyTypeDialog(Shell shell, NamedElement owner) {
+		super(shell, owner, ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_BLOCK), UMLPackage.eINSTANCE.getTypedElement_Type(), BlocksPackage.eINSTANCE.getBlock(), UMLElementTypes.PACKAGE,
+				UMLPackage.eINSTANCE.getPackage_PackagedElement(), null, getConstraintBlockAsStereotype());
+	}
+
+	/**
+	 * If we create a Part type by a ConstraintBlock, thisPart will become a ConstraintProperty and representation will immediately disappear.
+	 * So we filter ConstraintBlock type => Only strict Block are allowed
+	 *
+	 * @return
+	 */
+	private static List<?> getConstraintBlockAsStereotype() {
+		// We create a mock Stereotype to pass in the good code section of SemanticUMLContentProvider.isCompatibleMetaclass (bad gestion of static stereotypes)
+		Stereotype mockStereotype = UMLFactory.eINSTANCE.createStereotype();
+		// We use this stereotype with namespace instead of ConstraintsPackage.eINSTANCE.getConstraintBlock()
+		mockStereotype.setName("SysML::Constraints::ConstraintBlock");
+		return Arrays.asList(mockStereotype);
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/dialog/CreateOrSelectConstraintPropertyTypeDialog.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/dialog/CreateOrSelectConstraintPropertyTypeDialog.java
new file mode 100644
index 0000000..de7d11a
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/dialog/CreateOrSelectConstraintPropertyTypeDialog.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.dialog;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.dialog.CreateOrSelectTypeWithNameDialog;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * Dialog for initialization of Part (Property) type (the type is either selected or created).
+ */
+public class CreateOrSelectConstraintPropertyTypeDialog extends CreateOrSelectTypeWithNameDialog {
+
+	/** Constructor */
+	public CreateOrSelectConstraintPropertyTypeDialog(Shell shell, NamedElement owner) {
+		super(shell, owner, ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK),
+				UMLPackage.eINSTANCE.getTypedElement_Type(),
+				ConstraintBlocksPackage.eINSTANCE.getConstraintBlock(),
+				UMLElementTypes.PACKAGE,
+				UMLPackage.eINSTANCE.getPackage_PackagedElement(), null);
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/dialog/CreateOrSelectValuePropertyTypeDialog.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/dialog/CreateOrSelectValuePropertyTypeDialog.java
new file mode 100644
index 0000000..bc2cb09
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/dialog/CreateOrSelectValuePropertyTypeDialog.java
@@ -0,0 +1,187 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.dialog;
+
+import org.eclipse.gmf.runtime.diagram.ui.internal.commands.ElementTypeLabelProvider;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.jface.viewers.ComboViewer;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.papyrus.infra.services.edit.commands.ConfigureFeatureCommandFactory;
+import org.eclipse.papyrus.infra.services.edit.commands.IConfigureCommandFactory;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.dialog.CreateOrSelectTypeWithNameDialog;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
+import org.eclipse.papyrus.uml.tools.utils.NamedElementUtil;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
+import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * Dialog for initialization of Value (Property) type (the type is either selected or created).
+ */
+public class CreateOrSelectValuePropertyTypeDialog extends CreateOrSelectTypeWithNameDialog {
+
+	protected ComboViewer newTypeKindComboViewer = null;
+
+	protected Combo newTypeKindCombo = null;
+
+	protected IElementType[] valueTypeKind = { UMLElementTypes.DATA_TYPE,
+			ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_VALUETYPE),
+			UMLElementTypes.PRIMITIVE_TYPE, UMLElementTypes.ENUMERATION };
+
+	protected IElementType newTypeKind = UMLElementTypes.DATA_TYPE;
+
+	/** Constructor */
+	public CreateOrSelectValuePropertyTypeDialog(Shell shell, NamedElement owner) {
+		super(shell, owner, UMLElementTypes.DATA_TYPE, UMLPackage.eINSTANCE.getTypedElement_Type(), null, UMLElementTypes.PACKAGE, UMLPackage.eINSTANCE.getPackage_PackagedElement(), null);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected void createFormCreationSection(Composite pParent, FormToolkit pToolkit) {
+		// create the section
+		String lSectionTitle = getCreationSectionTitle();
+		Section lSection = pToolkit.createSection(pParent, ExpandableComposite.EXPANDED | ExpandableComposite.TITLE_BAR);
+		lSection.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+		if (lSectionTitle != null) {
+			lSection.setText(lSectionTitle);
+		}
+
+		ScrolledForm lInsideScrolledForm = pToolkit.createScrolledForm(lSection);
+		lInsideScrolledForm.setExpandHorizontal(true);
+		lInsideScrolledForm.setExpandVertical(true);
+		Composite lBody = lInsideScrolledForm.getBody();
+
+		GridLayout lLayout = new GridLayout(3, false);
+		lBody.setLayout(lLayout);
+
+		// content of the section
+		creationRadio = pToolkit.createButton(lBody, getCreationSectionRadioLabel(), SWT.RADIO);
+		creationRadio.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1));
+
+		pToolkit.createLabel(lBody, getNewTypeNameLabel(), SWT.NONE);
+		newTypeNameText = pToolkit.createText(lBody, "", SWT.BORDER);//$NON-NLS-1$
+		newTypeNameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
+		newTypeNameText.setFocus();
+
+		// manage type selection
+		pToolkit.createLabel(lBody, getNewTypeContainerNameLabel(), SWT.NONE);
+		newTypeContainerNameText = pToolkit.createText(lBody, labelProvider.getText(newTypeContainer), SWT.BORDER | SWT.READ_ONLY);
+		newTypeContainerNameText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+		newTypeContainerButton = pToolkit.createButton(lBody, "...", SWT.FLAT);//$NON-NLS-1$
+		newTypeContainerButton.setLayoutData(new GridData(SWT.NONE));
+
+		pToolkit.createLabel(lBody, "New Label", SWT.NONE);
+		newTypeKindCombo = new Combo(lBody, SWT.DROP_DOWN | SWT.READ_ONLY);
+		newTypeKindComboViewer = new ComboViewer(newTypeKindCombo);
+		pToolkit.adapt(newTypeKindCombo);
+		newTypeKindCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
+		newTypeKindComboViewer.setLabelProvider(new ElementTypeLabelProvider());
+		newTypeKindComboViewer.add(valueTypeKind);
+		newTypeKindComboViewer.setSelection(new StructuredSelection(valueTypeKind[0]));
+
+		lInsideScrolledForm.reflow(true);
+		lSection.setClient(lInsideScrolledForm);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected void buildNewTypeCreateCommand() {
+		// The new element is expected to be a NamedElement.
+		IElementEditService commandService = ElementEditServiceUtils.getCommandProvider(newTypeContainer);
+		if (commandService != null) {
+			CreateElementRequest createTypeRequest = new CreateElementRequest(newTypeContainer, newTypeKind);
+			createTypeRequest.setParameter(IConfigureCommandFactory.CONFIGURE_COMMAND_FACTORY_ID, new ConfigureFeatureCommandFactory(UMLPackage.eINSTANCE.getNamedElement_Name(), newTypeNameText.getText()));
+			newTypeCreateCommand = commandService.getEditCommand(createTypeRequest);
+		}
+		setSavedNewTypeNameText(newTypeNameText.getText());
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected void hookListeners() {
+		super.hookListeners();
+
+		// listener to select invocation type
+		ModifyListener newTypeKindListener = new ModifyListener() {
+
+			/**
+			 * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
+			 */
+			@Override
+			public void modifyText(ModifyEvent e) {
+				ISelection sel = newTypeKindComboViewer.getSelection();
+				if (sel instanceof StructuredSelection) {
+					Object type = ((StructuredSelection) sel).getFirstElement();
+					if (type instanceof IElementType) {
+						newTypeKind = (IElementType) type;
+					} else {
+						newTypeKind = null;
+					}
+
+					// reset name
+					setNewTypeName(null);
+				}
+			}
+		};
+		newTypeKindCombo.addModifyListener(newTypeKindListener);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected void setNewTypeName(String text) {
+		String name = text;
+		if (text == null) {
+			name = NamedElementUtil.getDefaultNameWithIncrementFromBase(newTypeKind.getEClass().getName(), newTypeContainer.eContents());
+			if (newTypeKind == ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_VALUETYPE)) {
+				name = NamedElementUtil.getDefaultNameWithIncrementFromBase(BlocksPackage.eINSTANCE.getValueType().getName(), newTypeContainer.eContents());
+			}
+			newTypeNameText.setText(name);
+
+		} else {
+			newTypeNameText.setText(name);
+			newTypeName = name;
+		}
+
+		validateNewTypeName();
+		refreshOkButton();
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/edit/parts/LabelInListEditpart.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/edit/parts/LabelInListEditpart.java
new file mode 100644
index 0000000..f8eee62
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/edit/parts/LabelInListEditpart.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.edit.parts;
+
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IPrimaryEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpart.IControlParserForDirectEdit;
+import org.eclipse.papyrus.uml.diagram.common.editparts.EditableLabelForNodeEditPart;
+
+/**
+ * to be given into papyrus.
+ * This is a generic editpart that can be used to represent a element that is displayed in a list.
+ * This editpart allow selection and the edition by an xtext technology.
+ * 
+ * @deprecated
+ */
+@Deprecated
+public class LabelInListEditpart extends EditableLabelForNodeEditPart implements ITextAwareEditPart, IPrimaryEditPart, IControlParserForDirectEdit {
+
+	/**
+	 * Constructor.
+	 *
+	 * @param view
+	 */
+	public LabelInListEditpart(View view) {
+		super(view);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.diagram.common.editparts.EditableLabelForNodeEditPart#isSelectable()
+	 */
+	@Override
+	public boolean isSelectable() {
+		return getFigure().isShowing();
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/edit/parts/SysMLConnectorAppliedStereotypeEditPart.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/edit/parts/SysMLConnectorAppliedStereotypeEditPart.java
new file mode 100644
index 0000000..7a0fd2c
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/edit/parts/SysMLConnectorAppliedStereotypeEditPart.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.edit.parts;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * This editPart is a specialization of a connectorEeditpart that overload the setText about the label of AppliedStereotype.
+ */
+public class SysMLConnectorAppliedStereotypeEditPart extends org.eclipse.papyrus.uml.diagram.composite.edit.parts.ConnectorAppliedStereotypeEditPart {
+
+	/**
+	 * The String that must display a bindingConnector
+	 */
+	protected static final String STEREOTYPE_LABEL_BINDINGCONNECTOR = "equal";
+	/**
+	 * String that replace the name of the stereotype BindingConnector
+	 */
+	protected static final String BINDING_CONNECTOR = "BindingConnector";
+
+	/**
+	 * Constructor.
+	 *
+	 * @param view
+	 */
+	public SysMLConnectorAppliedStereotypeEditPart(View view) {
+		super(view);
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.uml.diagram.composite.edit.parts.ConnectorAppliedStereotypeEditPart#setLabelTextHelper(org.eclipse.draw2d.IFigure, java.lang.String)
+	 *
+	 * @param figure
+	 * @param text
+	 */
+	@Override
+	protected void setLabelTextHelper(IFigure figure, String text) {
+		String newtext = text.replaceAll(BINDING_CONNECTOR, STEREOTYPE_LABEL_BINDINGCONNECTOR);
+		super.setLabelTextHelper(figure, newtext);
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/edit/parts/SysMLConnectorEditPart.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/edit/parts/SysMLConnectorEditPart.java
new file mode 100644
index 0000000..04fef03
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/edit/parts/SysMLConnectorEditPart.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.edit.parts;
+
+import org.eclipse.draw2d.Connection;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.diagram.common.figure.SysMLConnectorFigure;
+
+/**
+ * This editpart has been specialized in order to replace default figure by a custom figure to change display of stereotype application.
+ */
+public class SysMLConnectorEditPart extends org.eclipse.papyrus.uml.diagram.composite.edit.parts.ConnectorEditPart {
+
+	/**
+	 * Constructor.
+	 *
+	 * @param view
+	 */
+	public SysMLConnectorEditPart(View view) {
+		super(view);
+	}
+
+	@Override
+	protected Connection createConnectionFigure() {
+		return new SysMLConnectorFigure();
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/figure/SysMLConnectorFigure.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/figure/SysMLConnectorFigure.java
new file mode 100644
index 0000000..b270cd9
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/figure/SysMLConnectorFigure.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.figure;
+
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * This figure is a specialization of a connector in order to overload the display of the BindingConnector display.
+ */
+public class SysMLConnectorFigure extends org.eclipse.papyrus.uml.diagram.composite.custom.figures.ConnectorFigure {
+
+	/**
+	 * The String that must display a bindingConnector
+	 */
+	protected static final String STEREOTYPE_LABEL_BINDINGCONNECTOR = "equal"; //$NON-NLS-1$
+	/**
+	 * String that replace the name of the stereotype BindingConnector
+	 */
+	protected static final String BINDING_CONNECTOR = "BindingConnector";
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.diagram.common.figure.edge.UMLEdgeFigure#setStereotypeDisplay(java.lang.String, org.eclipse.swt.graphics.Image)
+	 */
+	@Override
+	public void setStereotypeDisplay(String stereotypes, Image image) {
+		String newStereotypeString = stereotypes.replaceAll(BINDING_CONNECTOR, STEREOTYPE_LABEL_BINDINGCONNECTOR);
+		super.setStereotypeDisplay(newStereotypeString, image);
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/command/RenamePostCreationCommand.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/command/RenamePostCreationCommand.java
new file mode 100644
index 0000000..ded5ec7
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/command/RenamePostCreationCommand.java
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.internal.command;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.ConfigureElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.papyrus.infra.services.edit.utils.GMFCommandUtils;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * Name an element after a creation command.
+ * This class is internal since the element should be created with the correct name in the first place.
+ * Currently the is a lack of naming strategy in Papyrus core framework.
+ * (update name in applystereotypehelper, see Bug 497306)
+ */
+public class RenamePostCreationCommand extends ConfigureElementCommand {
+
+	private ICommand creationCommand;
+
+	private String newName;
+
+	/**
+	 * Constructor.
+	 *
+	 * @param request
+	 *            configuration request
+	 * @param partType
+	 *            the featuring type of the part
+	 * @param typeCreationCommand
+	 *            if needed create the type
+	 */
+	public RenamePostCreationCommand(ConfigureRequest request, String newName, ICommand creationCommand) {
+		super(request);
+		this.newName = newName;
+		this.creationCommand = creationCommand;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+	 */
+	@Override
+	protected CommandResult doExecuteWithResult(final IProgressMonitor monitor, final IAdaptable info) throws ExecutionException {
+		NamedElement newNamedElement = (NamedElement) GMFCommandUtils.getCommandEObjectResult(creationCommand);
+		newNamedElement.setName(newName);
+		return CommandResult.newOKCommandResult(getElementToEdit());
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/dialog/CreateOrSelectTypeWithNameDialog.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/dialog/CreateOrSelectTypeWithNameDialog.java
new file mode 100644
index 0000000..77a2457
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/dialog/CreateOrSelectTypeWithNameDialog.java
@@ -0,0 +1,104 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.internal.dialog;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.uml.diagram.common.dialogs.CreateOrSelectTypeDialog;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * This class is used to keep the typed new name even after the widget is disposed
+ * It's internal since the capability should be moved to papyrus core in CreateOrSelectTypeDialog
+ */
+// TODO :Bug 497304 move all the code/feature/open api in CreateOrSelectTypeDialog
+public class CreateOrSelectTypeWithNameDialog extends CreateOrSelectTypeDialog {
+
+	private String savedNewTypeNameText;
+
+	/**
+	 * Constructor.
+	 *
+	 * @param shell
+	 * @param defaultContainer
+	 * @param elementType
+	 * @param editedFeature
+	 * @param elementEClass
+	 * @param containerType
+	 * @param containerFeature
+	 * @param containerEClass
+	 */
+	public CreateOrSelectTypeWithNameDialog(Shell shell, EObject defaultContainer, IElementType elementType, EStructuralFeature editedFeature, EClass elementEClass, IElementType containerType, EStructuralFeature containerFeature, EClass containerEClass) {
+		super(shell, defaultContainer, elementType, editedFeature, elementEClass, containerType, containerFeature, containerEClass);
+	}
+
+	/**
+	 * Constructor.
+	 *
+	 * @param shell
+	 * @param defaultContainer
+	 * @param elementType
+	 * @param editedFeature
+	 * @param elementEClass
+	 * @param containerType
+	 * @param containerFeature
+	 * @param containerEClass
+	 * @param notWantedMetaclasses
+	 */
+	public CreateOrSelectTypeWithNameDialog(Shell shell, EObject defaultContainer, IElementType elementType, EStructuralFeature editedFeature, EClass elementEClass, IElementType containerType, EStructuralFeature containerFeature, EClass containerEClass,
+			List<?> notWantedMetaclasses) {
+		super(shell, defaultContainer, elementType, editedFeature, elementEClass, containerType, containerFeature, containerEClass, notWantedMetaclasses);
+	}
+
+	/**
+	 * @return the savedNewTypeNameText
+	 */
+	public String getSavedNewTypeNameText() {
+		return savedNewTypeNameText;
+	}
+
+	/**
+	 * @param savedNewTypeNameText
+	 *            the savedNewTypeNameText to set
+	 */
+	public void setSavedNewTypeNameText(String savedNewTypeNameText) {
+		this.savedNewTypeNameText = savedNewTypeNameText;
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.uml.diagram.common.dialogs.CreateOrSelectTypeDialog#buildNewTypeCreateCommand()
+	 *
+	 */
+	@Override
+	protected void buildNewTypeCreateCommand() {
+		super.buildNewTypeCreateCommand();
+		savedNewTypeNameText = newTypeNameText.getText();
+	}
+
+	/**
+	 * @return
+	 * @deprecated use getSavedNewTypeNameText
+	 */
+	@Deprecated() // use getSavedNewTypeNameText()
+	public String getSavedNewTypeName() {
+		return savedNewTypeNameText;
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/factory/AbstractBasicViewFactory.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/factory/AbstractBasicViewFactory.java
new file mode 100644
index 0000000..d4eedaf
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/factory/AbstractBasicViewFactory.java
@@ -0,0 +1,116 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.internal.factory;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.TitleStyle;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.ModelEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.part.UMLVisualIDRegistry;
+
+/**
+ * This abstract view factory is used to allow reuse code from GMF generated diagram.
+ */
+public abstract class AbstractBasicViewFactory implements IBasicViewFactory {
+
+	@Override
+	public View createView(IAdaptable semanticAdapter, View containerView, String semanticHint, int index, boolean persisted, PreferencesHint preferencesHint) {
+		return createElementView(semanticAdapter.getAdapter(EObject.class), containerView, semanticHint, index, persisted, preferencesHint);
+	}
+
+	/**
+	 * This method is used to create a label in the context of based GMF diagram
+	 * 
+	 * @param owner
+	 *            the container of the new view
+	 * @param hint
+	 *            the number that is associated to the created view
+	 * @return the decoration node that is the serialization of the label
+	 */
+	protected Node createLabel(View owner, String hint) {
+		DecorationNode rv = NotationFactory.eINSTANCE.createDecorationNode();
+		rv.setType(hint);
+		ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true);
+		return rv;
+	}
+
+	/**
+	 * this method is used to add a version number in the serialization of a diagram
+	 * 
+	 * @param containerView
+	 * @param target
+	 */
+	protected void stampShortcut(View containerView, Node target) {
+		if (!ModelEditPart.MODEL_ID.equals(UMLVisualIDRegistry.getModelID(containerView))) {
+			EAnnotation shortcutAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
+			shortcutAnnotation.setSource("Shortcut"); //$NON-NLS-1$
+			shortcutAnnotation.getDetails().put("modelID", ModelEditPart.MODEL_ID); //$NON-NLS-1$
+			target.getEAnnotations().add(shortcutAnnotation);
+		}
+	}
+
+	/**
+	 * This method comes from GMF based generation diagram
+	 * it is sued to create compartment.
+	 * 
+	 * @param owner
+	 *            the container of the compartment
+	 * @param hint
+	 *            the number that will be associated to the node
+	 * @param canCollapse
+	 *            true if the compartment can be collapse
+	 * @param hasTitle
+	 *            true if the compartment can have a title
+	 * @param canSort
+	 *            true if the compartment can be sorted
+	 * @param canFilter
+	 *            true if the compartment can be filtered
+	 * @return the created compartment
+	 */
+	protected Node createCompartment(View owner, String hint, boolean canCollapse, boolean hasTitle, boolean canSort, boolean canFilter) {
+		Node rv;
+		if (canCollapse) {
+			rv = NotationFactory.eINSTANCE.createBasicCompartment();
+		} else {
+			rv = NotationFactory.eINSTANCE.createDecorationNode();
+		}
+
+		rv.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+
+		if (hasTitle) {
+			TitleStyle ts = NotationFactory.eINSTANCE.createTitleStyle();
+			rv.getStyles().add(ts);
+		}
+		if (canSort) {
+			rv.getStyles().add(NotationFactory.eINSTANCE.createSortingStyle());
+		}
+		if (canFilter) {
+			rv.getStyles().add(NotationFactory.eINSTANCE.createFilteringStyle());
+		}
+		rv.setType(hint);
+		ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true);
+		return rv;
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/factory/IBasicViewFactory.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/factory/IBasicViewFactory.java
new file mode 100644
index 0000000..2642f05
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/factory/IBasicViewFactory.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.internal.factory;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.view.factories.ViewFactory;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * it define the the contract in order to be able to create a serialization of a figure in the diagram
+ * it is used to allowing reuse code from GMF generated diagram
+ */
+public interface IBasicViewFactory extends ViewFactory {
+
+	/**
+	 * Create the the view, a element that represents the serialization of a figure inside the GMF framework
+	 * 
+	 * @param domainElement
+	 *            in our case this a SysML element
+	 * @param containerView
+	 *            the container of the created view
+	 * @param semanticHint
+	 *            the identifier that will associated to the created view
+	 * @param index
+	 *            the index where will be created the view ( if you don't know -1)
+	 * @param persisted
+	 *            true means that the node will be serialized in the file
+	 * @param preferencesHint
+	 *            a constant that is specific to a diagram
+	 * @return the created view
+	 */
+	View createElementView(EObject domainElement, View containerView, String semanticHint, int index, boolean persisted, PreferencesHint preferencesHint);
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/factory/SysMLConnectorViewFactory.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/factory/SysMLConnectorViewFactory.java
new file mode 100644
index 0000000..494abba
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/factory/SysMLConnectorViewFactory.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.internal.factory;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.Connector;
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ConnectorAppliedStereotypeEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ConnectorEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ConnectorMultiplicitySourceEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ConnectorMultiplicityTargetEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ConnectorNameEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.part.UMLVisualIDRegistry;
+
+/**
+ * This class is an extraction of the generated class to serialize the appearance of a connector in SysML.
+ */
+public class SysMLConnectorViewFactory extends AbstractBasicViewFactory {
+
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.diagram.common.internal.factory.IBasicViewFactory#createElementView(org.eclipse.emf.ecore.EObject, org.eclipse.gmf.runtime.notation.View, java.lang.String, int, boolean,
+	 *      org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint)
+	 */
+	@Override
+	public View createElementView(EObject domainElement, View containerView, String semanticHint, int index, boolean persisted, PreferencesHint preferencesHint) {
+		Connector edge = NotationFactory.eINSTANCE.createConnector();
+		edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
+		RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
+		List<RelativeBendpoint> points = new ArrayList<>(2);
+		points.add(new RelativeBendpoint());
+		points.add(new RelativeBendpoint());
+		bendpoints.setPoints(points);
+		edge.setBendpoints(bendpoints);
+		ViewUtil.insertChildView(containerView, edge, index, persisted);
+		edge.setType(UMLVisualIDRegistry.getType(ConnectorEditPart.VISUAL_ID));
+		edge.setElement(domainElement);
+		// initializePreferences
+		final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint.getPreferenceStore();
+		PreferenceInitializerForElementHelper.initFontStyleFromPrefs(edge, prefStore, "Connector");
+		Node label6025 = createLabel(edge, UMLVisualIDRegistry.getType(ConnectorAppliedStereotypeEditPart.VISUAL_ID));
+		label6025.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+		Location location6025 = (Location) label6025.getLayoutConstraint();
+		location6025.setX(0);
+		location6025.setY(60);
+		Node label6050 = createLabel(edge, UMLVisualIDRegistry.getType(ConnectorNameEditPart.VISUAL_ID));
+		label6050.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+		Location location6050 = (Location) label6050.getLayoutConstraint();
+		location6050.setX(0);
+		location6050.setY(-20);
+		Node label6051 = createLabel(edge, UMLVisualIDRegistry.getType(ConnectorMultiplicitySourceEditPart.VISUAL_ID));
+		label6051.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+		Location location6051 = (Location) label6051.getLayoutConstraint();
+		location6051.setX(0);
+		location6051.setY(20);
+		Node label6052 = createLabel(edge, UMLVisualIDRegistry.getType(ConnectorMultiplicityTargetEditPart.VISUAL_ID));
+		label6052.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+		Location location6052 = (Location) label6052.getLayoutConstraint();
+		location6052.setX(0);
+		location6052.setY(20);
+		return edge;
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/factory/util/ClassifierViewFactoryUtil.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/factory/util/ClassifierViewFactoryUtil.java
new file mode 100644
index 0000000..d2adec8
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/factory/util/ClassifierViewFactoryUtil.java
@@ -0,0 +1,83 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.internal.factory.util;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.TitleStyle;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.ModelEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.part.UMLVisualIDRegistry;
+
+/**
+ *
+ */
+public final class ClassifierViewFactoryUtil {
+
+
+	/**
+	 * Constructor. Avoid Utility class instantiation
+	 *
+	 */
+	private ClassifierViewFactoryUtil() {
+	}
+
+	public static Node createLabel(View owner, String hint) {
+		DecorationNode rv = NotationFactory.eINSTANCE.createDecorationNode();
+		rv.setType(hint);
+		ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true);
+		return rv;
+	}
+
+	public static void stampShortcut(View containerView, Node target) {
+		if (!ModelEditPart.MODEL_ID.equals(UMLVisualIDRegistry.getModelID(containerView))) {
+			EAnnotation shortcutAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
+			shortcutAnnotation.setSource("Shortcut"); //$NON-NLS-1$
+			shortcutAnnotation.getDetails().put("modelID", ModelEditPart.MODEL_ID); //$NON-NLS-1$
+			target.getEAnnotations().add(shortcutAnnotation);
+		}
+	}
+
+	public static Node createCompartment(View owner, String hint, boolean canCollapse, boolean hasTitle, boolean canSort, boolean canFilter) {
+		Node rv;
+		if (canCollapse) {
+			rv = NotationFactory.eINSTANCE.createBasicCompartment();
+		} else {
+			rv = NotationFactory.eINSTANCE.createDecorationNode();
+		}
+
+		rv.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+
+		if (hasTitle) {
+			TitleStyle ts = NotationFactory.eINSTANCE.createTitleStyle();
+			rv.getStyles().add(ts);
+		}
+		if (canSort) {
+			rv.getStyles().add(NotationFactory.eINSTANCE.createSortingStyle());
+		}
+		if (canFilter) {
+			rv.getStyles().add(NotationFactory.eINSTANCE.createFilteringStyle());
+		}
+		rv.setType(hint);
+		ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true);
+		return rv;
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/provider/SysML16ExpandViewProvider.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/provider/SysML16ExpandViewProvider.java
new file mode 100644
index 0000000..4d3dcca
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/internal/provider/SysML16ExpandViewProvider.java
@@ -0,0 +1,177 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.internal.provider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.services.view.CreateChildViewOperation;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest.ViewDescriptor;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.architecture.representation.PapyrusRepresentationKind;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionLanguage;
+import org.eclipse.papyrus.infra.gmfdiag.expansion.expansionmodel.AbstractRepresentation;
+import org.eclipse.papyrus.infra.gmfdiag.expansion.expansionmodel.Representation;
+import org.eclipse.papyrus.infra.gmfdiag.expansion.expansionmodel.providers.ExpandViewProvider;
+import org.eclipse.papyrus.infra.gmfdiag.expansion.expansionmodel.rendering.ChildrenListRepresentation;
+import org.eclipse.papyrus.infra.types.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.types.MetamodelTypeConfiguration;
+import org.eclipse.papyrus.infra.types.SpecializationTypeConfiguration;
+import org.eclipse.papyrus.infra.viewpoints.policy.ViewPrototype;
+import org.eclipse.papyrus.uml.diagram.common.actions.ShowHideContentsAction;
+
+/**
+ * Class created for bug 528773. This ViewProvider works only on diagrams described in the sysml16.architecture file
+ * (see method {@link #isAllowedLanguage(CreateChildViewOperation)}) .
+ * 
+ * This View Provider has been defined to find the view to create by the {@link ShowHideContentsAction}.
+ * This action has a generic behavior, creating {@link ViewDescriptor} with a semanticHint=null. Its work fine with generated diagram,
+ * but not compartment defined by the expansion model.
+ * 
+ * So This ViewProvider cross the expansion model to be able to find the semanticHint of the view to create according to the compartment, when the semanticHint exists.
+ */
+public class SysML16ExpandViewProvider extends ExpandViewProvider {
+
+	/**
+	 * The name of the language on which works this ViewProvider
+	 */
+	private static final String SYSML_16 = "SysML 1.6"; //$NON-NLS-1$
+
+	/**
+	 * 
+	 * @param operation
+	 *            a create child view operation
+	 * @return
+	 *         <code>true</code> if the current diagram comes from the description language dedicated to SysML 1.6
+	 */
+	private boolean isAllowedLanguage(final CreateChildViewOperation operation) {
+		final View currentView = operation.getContainerView();
+		if (null != currentView) {
+			final Diagram diagram = currentView.getDiagram();
+			final ViewPrototype viewPrototype = org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramUtils.getPrototype(diagram);
+			if (null != viewPrototype) {
+				final PapyrusRepresentationKind kind = viewPrototype.getRepresentationKind();
+				if (null != kind && null != kind.getLanguage()) {
+					final ArchitectureDescriptionLanguage language = kind.getLanguage();
+					return isAllowedLanguage(language.getName());
+				}
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * 
+	 * @param language
+	 *            a language
+	 * @return
+	 *         <code>true</code> if the current language is allowed
+	 */
+	protected boolean isAllowedLanguage(final String language) {
+		return SYSML_16.equals(language);
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.infra.gmfdiag.expansion.expansionmodel.providers.ExpandViewProvider#getNodeGraphicalType(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.notation.View, java.lang.String)
+	 *
+	 * @param semanticAdapter
+	 * @param containerView
+	 * @param semanticHint
+	 * @return
+	 */
+	@Override
+	protected String getNodeGraphicalType(final IAdaptable semanticAdapter, final View containerView, final String semanticHint) {
+		if (null == semanticHint) {
+			final String currentDiagramType = getDiagramType(containerView);
+			final String containerType = containerView.getType();
+			final List<String> possibleChildrenIDs = this.diagramExpansionRegistry.mapChildreen.get(currentDiagramType).parentChildrenRelation.get(containerType);
+
+			if (possibleChildrenIDs != null) {
+				final List<String> supportedChildrenIDs = new ArrayList<>();
+				for (final String currentChildId : possibleChildrenIDs) {
+					final ChildrenListRepresentation childrenListRepresentation = this.diagramExpansionRegistry.mapChildreen.get(currentDiagramType);
+					final AbstractRepresentation answer = childrenListRepresentation.IDMap.get(currentChildId);
+					if (answer instanceof Representation) {
+						ElementTypeConfiguration elementTypeConfiguration = ((Representation) answer).getGraphicalElementTypeRef();
+						List<MetamodelTypeConfiguration> res = getSupportedMetamodelTypeConfiguration(semanticAdapter, elementTypeConfiguration);
+						if (!res.isEmpty()) {
+							supportedChildrenIDs.add(currentChildId);
+						}
+					}
+				}
+
+				if (supportedChildrenIDs.size() == 1) {// other case not yet supported, we are waiting concrete case to continue implementationS
+					return supportedChildrenIDs.get(0);
+				}
+			}
+
+		}
+		return null;// not super because the super return a value !=null even when the element is not supported for the compartment
+	}
+
+	/**
+	 * 
+	 * @param semanticAdapter
+	 *            the semantic adapter for the element we would like to be able to create in a compartment
+	 * @param elementTypeConfiguration
+	 *            an element type configuration
+	 * @return
+	 *         <code>true</code> if the elementTypeConfiguration is defined on a type (or a subtype) of the current element we are trying to create.
+	 */
+	private List<MetamodelTypeConfiguration> getSupportedMetamodelTypeConfiguration(final IAdaptable semanticAdapter, final ElementTypeConfiguration elementTypeConfiguration) {
+		final List<MetamodelTypeConfiguration> metamodelTypeConfiguration = new ArrayList<>();
+		if (elementTypeConfiguration instanceof MetamodelTypeConfiguration) {
+			final MetamodelTypeConfiguration mtc = (MetamodelTypeConfiguration) elementTypeConfiguration;
+			final EClass metamodelEClass = mtc.getEClass();
+			if (null != metamodelEClass) {
+				final EObject currentEObject = semanticAdapter.getAdapter(EObject.class);
+				if (metamodelEClass.isInstance(currentEObject)) {
+					metamodelTypeConfiguration.add((MetamodelTypeConfiguration) elementTypeConfiguration);
+				}
+			}
+		} else if (elementTypeConfiguration instanceof SpecializationTypeConfiguration) {
+			final SpecializationTypeConfiguration stc = (SpecializationTypeConfiguration) elementTypeConfiguration;
+			final List<ElementTypeConfiguration> specialiedTypes = stc.getSpecializedTypes();
+			for (final ElementTypeConfiguration current : specialiedTypes) {
+				final List<MetamodelTypeConfiguration> result = getSupportedMetamodelTypeConfiguration(semanticAdapter, current);
+				metamodelTypeConfiguration.addAll(result);
+			}
+		}
+		return metamodelTypeConfiguration;
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.infra.gmfdiag.expansion.expansionmodel.providers.ExpandViewProvider#providesFromExpansionModel(org.eclipse.gmf.runtime.diagram.core.services.view.CreateChildViewOperation)
+	 *
+	 * @param operation
+	 * @return
+	 */
+	@Override
+	protected boolean providesFromExpansionModel(final CreateChildViewOperation operation) {
+		boolean result = false;
+		final String semanticHint = operation.getSemanticHint();
+		if (isAllowedLanguage(operation) && (null == semanticHint || semanticHint.isEmpty())) {
+			result = null != getNodeGraphicalType(operation.getSemanticAdapter(), operation.getContainerView(), semanticHint);
+		}
+		return result;
+	}
+
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/provider/AbstractParserProvider.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/provider/AbstractParserProvider.java
new file mode 100644
index 0000000..5eef5bd
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/provider/AbstractParserProvider.java
@@ -0,0 +1,74 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.provider;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
+import org.eclipse.gmf.runtime.common.core.service.IOperation;
+import org.eclipse.gmf.runtime.common.ui.services.parser.GetParserOperation;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserProvider;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * Parser provider for labels used by diagrams.
+ */
+public abstract class AbstractParserProvider extends AbstractProvider implements IParserProvider {
+
+	/** map from graphical hint to parsers */
+	protected Map<String, IParser> graphicalHintToParser = new HashMap<>();
+
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean provides(IOperation operation) {
+		if (operation instanceof GetParserOperation) {
+			IAdaptable hint = ((GetParserOperation) operation).getHint();
+			return getParser(hint) != null;
+		}
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public IParser getParser(IAdaptable hint) {
+		String parserHint = hint.getAdapter(String.class);
+		if (parserHint != null) {
+			IParser parser = graphicalHintToParser.get(parserHint);
+			if (parser != null) {
+				return parser;
+			}
+		}
+
+		View view = hint.getAdapter(View.class);
+		if (view != null) {
+			IParser parser = graphicalHintToParser.get(view.getType());
+			if (parser != null) {
+				return parser;
+			}
+		}
+
+		return null;
+	}
+
+}
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/util/GraphicalSysMLServiceTypeUtil.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/util/GraphicalSysMLServiceTypeUtil.java
new file mode 100644
index 0000000..6c289e2
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.common/src/org/eclipse/papyrus/sysml16/diagram/common/util/GraphicalSysMLServiceTypeUtil.java
@@ -0,0 +1,32 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.util;
+
+/**
+ * List SysML 1.6 graphical element type ids
+ */
+public final class GraphicalSysMLServiceTypeUtil {
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PARAMETER_BORDER_ITEM = "org.eclipse.papyrus.sysml16di.Parameter_BorderItem"; //$NON-NLS-1$
+
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINT_LABEL = "org.eclipse.papyrus.sysml16di.Constraint_Label";//$NON-NLS-1$
+	
+	public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINT_PROPERTY_COMPOSITE = "org.eclipse.papyrus.sysml16di.ConstraintPropertyComposite"; //$NON-NLS-1$
+	
+	private GraphicalSysMLServiceTypeUtil() {
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.classpath b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.project b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.project
new file mode 100644
index 0000000..0de74b8
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.diagram.internalblock</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.core.resources.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.core.runtime.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.jdt.core.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.jdt.ui.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.m2e.core.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.pde.api.tools.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/META-INF/MANIFEST.MF b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..e0decce
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Localization: plugin
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.diagram.internalblock;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.papyrus.sysml16.diagram.internalblock.Activator
+Bundle-Vendor: %Bundle-Vendor
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.gmf.runtime.diagram.core;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.diagram.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.sysml16.diagram.common;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.papyrus.sysml16.diagram.internalblock,
+ org.eclipse.papyrus.sysml16.diagram.internalblock.internal.factory;x-internal:=true
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.diagram.internalblock
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/about.html b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/build.properties b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/build.properties
new file mode 100644
index 0000000..6c93f7a
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = plugin.xml,\
+               META-INF/,\
+               .,\
+               about.html,\
+               resources/,\
+               plugin.properties
+src.includes = about.html
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/plugin.properties b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/plugin.properties
new file mode 100644
index 0000000..82cf804
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/plugin.properties
@@ -0,0 +1,17 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name= Papyrus SysML 1.6 Internal Block Diagram
+Bundle-Description=This plug-in contains the internal block diagram of SysML 1.6
+Bundle-Vendor=Eclipse Modeling Project
+
+
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/plugin.xml b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/plugin.xml
new file mode 100644
index 0000000..8f9165d
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/plugin.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+   <extension
+         point="org.eclipse.papyrus.infra.gmfdiag.common.diagramExpansion">
+      <diagramexpansion
+            model="resources/configuration/internaBlockDiagramConfig.expansionmodel">
+      </diagramexpansion>
+   </extension>   
+  
+</plugin>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/pom.xml b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/pom.xml
new file mode 100644
index 0000000..74175de
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/pom.xml
@@ -0,0 +1,14 @@
+<?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.sysml</groupId>	
+		<artifactId>org.eclipse.papyrus.sysml16.diagram</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.diagram.internalblock</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.diagram.internalblock</name>
+	<description>This plugin is in charge of defining the SysML 1.6 Internal Block Diagram using the following frameworks: viewpoint, expansion model, palette and css.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/configuration/internaBlockDiagramConfig.expansionmodel b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/configuration/internaBlockDiagramConfig.expansionmodel
new file mode 100644
index 0000000..0547c72
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/configuration/internaBlockDiagramConfig.expansionmodel
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<expansionmodel:DiagramExpansion xmlns:expansionmodel="http:///expansionmodel.ecore" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="SysML 1.6 IBD" xmi:id="org.eclipse.papyrus.sysml16.ibd.expansionmodel" xmi:version="2.0">
+  <usages diagramType="SysML 1.6 Internal Block Diagram" name="SysML 1.6 IBD Context" representations="_x0QaAFLcEeWce8tK71CTcg _j7dP0HytEeWustL01XNGSA" xmi:id="_rC19oNnoEeSqwOe5_frWm1">
+    <gmftRepresentations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeEditPart" name="Block based on Class representation of composite diagram" reusedID="Class_Shape" subRepresentations="" viewFactory="org.eclipse.papyrus.sysml16.diagram.internalblock.internal.factory.BlockCompositeViewFactory" xmi:id="_x0QaAFLcEeWce8tK71CTcg"/>
+    <gmftRepresentations editPartQualifiedName="org.eclipse.papyrus.sysml16.diagram.common.edit.parts.SysMLConnectorEditPart" name="SysmlConnector based on Composite Connector" reusedID="Connector_Edge" subRepresentations="_EDXlcHzEEeWVMv-LGO6tZw" viewFactory="org.eclipse.papyrus.sysml16.diagram.common.internal.factory.SysMLConnectorViewFactory" xmi:id="_j7dP0HytEeWustL01XNGSA"/>
+    <gmftRepresentations editPartQualifiedName="org.eclipse.papyrus.sysml16.diagram.common.edit.parts.SysMLConnectorAppliedStereotypeEditPart" name="Applied Stereotype label for a connector" reusedID="6025" viewFactory="org.eclipse.gmf.runtime.diagram.ui.view.factories.optimal.DecorationNodeViewFactory" xmi:id="_EDXlcHzEEeWVMv-LGO6tZw"/>
+  </usages>
+  <libraries name="Independent Representations" xmi:id="_rC19oNnoEeSqwOe5_frWm3">
+  </libraries>
+</expansionmodel:DiagramExpansion>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/icons/obj16/Diagram_InternalBlock.gif b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/icons/obj16/Diagram_InternalBlock.gif
new file mode 100644
index 0000000..ca02c19
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/icons/obj16/Diagram_InternalBlock.gif
Binary files differ
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/palette/internalBlockDiagram.paletteconfiguration b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/palette/internalBlockDiagram.paletteconfiguration
new file mode 100644
index 0000000..928015b
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/palette/internalBlockDiagram.paletteconfiguration
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<paletteconfiguration:PaletteConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:paletteconfiguration="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.8" id="org.eclipse.papyrus.sysML.ibd.palette.model" label="SysML IBD Palette">
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.node" label="Blocks" description="Element listed in Internal Block Diagram">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.node.ActorPart" label="ActorPart" description="An Actor Part is a property typed by an Actor" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Property.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ActorPart_Property_AttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ActorPart_Property_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.edge.BindingConnector" label="Binding Connector" description="A Binding Connector is a connector which specifies that the properties at both ends of the connector have equal values." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Connector.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BindingConnector_Connector_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.node.BoundReference" label="BoundReference" description="The BoundReference stereotype can be applied to properties that have binding connectors, to highlight their usage as" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Property.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_AttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_ClassAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_ComponentAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_DataTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_Edge"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_InterfaceAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_PrimitiveTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.BoundReference_Property_SignalAttributeLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.edge.Connector" label="Connector" description="A Connector specifies links that enables communication between two or more instances." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Connector.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Connector_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.edge.Dependency" label="Dependency" description="A Dependency is a Relationship that signifies that a single model Element or a set of model Elements requires other model Elements for their specification or implementation." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Dependency.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Dependency_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.node.Part" label="Part" description="Create a Part" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Property.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Part_Property_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Part_Property_AttributeLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.node.PropertySpecificType" label="PropertySpecificType" description="The PropertySpecificType stereotype is automatically applied to the classifier that types a property with a propertyspecific type." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/PropertySpecificType.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.PropertySpecificType_Class_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.node.Reference" label="Reference" description="Create a Reference" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Property.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Reference_Property_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Reference_Property_AttributeLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+  </drawerConfigurations>
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.edge" label="Ports and Flow" description="Element listed in Internal Block Diagram">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.node.FlowPort" label="FlowPort" description="A FlowPorts is an interaction point through which input and/or output of items such as data, material, or energy may flow. (Deprecated)" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/FlowPort.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowPort_Port_AttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowPort_Port_ClassAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowPort_Port_ComponentAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowPort_Port_DataTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowPort_Port_Edge"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowPort_Port_InterfaceAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowPort_Port_PrimitiveTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowPort_Port_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowPort_Port_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FlowPort_Port_SignalAttributeLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.node.FullPort" label="Full Port" description="Full ports specify a separate element of the system from the owning block or its internal parts." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/FullPort.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FullPort_Port_AttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FullPort_Port_ClassAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FullPort_Port_ComponentAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FullPort_Port_DataTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FullPort_Port_Edge"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FullPort_Port_InterfaceAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FullPort_Port_PrimitiveTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FullPort_Port_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FullPort_Port_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.FullPort_Port_SignalAttributeLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.edge.ItemFlow" label="Item Flow" description="An ItemFlow describes the flow of items across a connector or an association." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/ItemFlow.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ItemFlow_InformationFlow_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.node.Port" label="Port" description="A Port is a property of an EncapsulatedClassifier that specifies a distinct interaction point between that EncapsulatedClassifier and its environment or between the (behavior of the) EncapsulatedClassifier and its internal parts." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Port.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Port_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.ibd.palette.node.ProxyPort" label="Proxy Port" description="Proxy ports identify features of the owning block or its internal parts that are available to external blocks through external connectors to the ports." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/ProxyPort.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ProxyPort_Port_AttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ProxyPort_Port_ClassAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ProxyPort_Port_ComponentAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ProxyPort_Port_DataTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ProxyPort_Port_Edge"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ProxyPort_Port_InterfaceAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ProxyPort_Port_PrimitiveTypeAttributeLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ProxyPort_Port_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ProxyPort_Port_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ProxyPort_Port_SignalAttributeLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+  </drawerConfigurations>
+</paletteconfiguration:PaletteConfiguration>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/style/internalBlockDiagram.css b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/style/internalBlockDiagram.css
new file mode 100644
index 0000000..db8b3c7
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/style/internalBlockDiagram.css
@@ -0,0 +1,292 @@
+/*****************************************************************************
+ * 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *  Francois Le Fevre (CEA LIST) francois.le-fevre@cea.fr
+ *****************************************************************************/
+/*
+ * SHARED ELEMENTS
+ */
+
+Compartment{
+	visible: false;
+	showTitle: false;
+}
+
+Compartment[kind=structure]{
+	showTitle: false;
+}
+
+Package > Compartment[kind="packagedelements"],
+Model > Compartment[kind="packagedelements"]{
+	visible: true;
+	showTitle: false;
+}
+
+[deprecated=true] {
+	lineColor: orange;
+}
+
+[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=parameters],
+[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=constraints]{
+	visible: true;
+}
+
+[appliedStereotypes~="FlowSpecification"]{
+	elementIcon:false;
+	displayIcon:false;
+}
+
+[appliedStereotypes~="FlowSpecification"] > Compartment[kind=flowproperties]{
+	visible: true;
+}
+
+[appliedStereotypes~="ValueType"] > Compartment[kind=attributes],
+[appliedStereotypes~="ValueType"] > Compartment[kind=operations]{
+	visible: true;
+}
+
+/*
+ * Comment
+ */
+Class[appliedStereotypes~="Comment"]{
+	visible:true;
+}
+
+/*
+ * Stereotype ElementGroup
+ */
+ 
+Class[appliedStereotypes~="ElementGroup"] {
+    visible:true;
+    showTitle:true;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="name"]{
+	visible:true;
+}
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="criterion"]{
+	visible:true;
+}
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="size"]{
+	visible:true;
+}
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="member"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="orderedMember"]{
+	visible:true;
+}
+
+/*
+ * Problem
+ */
+Class[appliedStereotypes~="Problem"]{
+	visible:true;
+}
+
+/*
+ * Rationale
+ */
+Class[appliedStereotypes~="Rational"]{
+	visible:true;
+}
+
+/*
+ * Stakeholder
+ */
+Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+} 
+ 
+[appliedStereotypes~="Stakeholder"] > Compartment[kind=attributes],
+[appliedStereotypes~="Stakeholder"] > Compartment[kind=operations],
+[appliedStereotypes~="Stakeholder"] > Compartment[kind=constraints]{
+	visible: true;
+}
+
+Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] > [property="concernList"]{
+	visible:true;
+}
+Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] > [property="concern"]{
+	visible:true;
+}
+
+/*
+ * Stereotype View
+ */
+Class[appliedStereotypes~="View"] > Compartment[kind=attributes],
+Class[appliedStereotypes~="View"] > Compartment[kind=operations]{
+    visible:true;
+    showTitle:false;
+} 
+
+Class[appliedStereotypes~="View"] > Compartment[kind="nestedclassifiers"]{
+    visible:false;
+    showTitle:false;
+} 
+ 
+Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:true;
+}
+
+Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] > [property="stakeholder"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] > [property="viewpoint"]{
+	visible:true;
+}
+
+/*
+ * Stereotype Viewpoint
+ */
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+} 
+ 
+[appliedStereotypes~="Viewpoint"] > Compartment[kind=attributes],
+[appliedStereotypes~="Viewpoint"] > Compartment[kind=operations]{
+	visible:true;
+}
+
+[appliedStereotypes~="Viewpoint"] > Compartment[kind="internal structure"],
+[appliedStereotypes~="Viewpoint"] > Compartment[kind="symbol"]
+{
+	visible:false;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="stakeholder"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="purpose"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="concernList"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="language"]{
+	visible:true;
+}
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="method"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="presentation"]{
+	visible:true;
+}
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="concern"]{
+	visible:true;
+}
+
+/*
+ * SPECIFIC ELEMENTS
+ */
+ 
+Port > Compartment[kind="symbol"]{
+	visible: true;
+}
+ 
+
+InternalBlockDiagram Compartment{
+	visible: false;
+	showTitle: true;
+}
+
+
+
+Port[appliedStereotypes~="FlowPort"][isAtomic=true][direction=in] {
+	svgFile: "platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/position.svg";
+}
+
+Port[appliedStereotypes~="FlowPort"][isAtomic=true][direction=out] {
+	svgFile: "platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/position.svg";
+}
+
+Port[appliedStereotypes~="FlowPort"][isAtomic=true][direction=inout] {
+	svgFile: "platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/position.svg";
+}
+
+Port[appliedStereotypes~="FlowPort"][isAtomic=false] {
+	svgFile: "platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/position.svg";
+}
+
+InternalBlockDiagram [appliedStereotypes~="Block"] > Compartment[kind=structure],
+InternalBlockDiagram Property > Compartment[kind=structure]{
+	visible: true;
+}
+
+/*
+ * Stereotype Block
+ */
+Class[appliedStereotypes~="Block"] > Compartment[kind=internalstructure]{
+	visible: true;
+	showTitle:false;
+} 
+
+/*
+ * A property typed by a Block that does not have composite aggregation is classified as a reference property. 
+ * A reference property is shown by a dashed-outline box, consistent with UML. 
+ * They are shown with dashed rectangles because they are reference properties.
+ */
+Property[isReference=true] {	
+	borderStyle:dash; /*dashDot; dashDotDot; dot; */
+	lineWidth:2;
+}
+
+
+/*
+ * Stereotype Requirement
+ */
+Class[appliedStereotypes~="Requirement"] > Compartment[kind=nestedclassifiers]{
+    visible:false;
+    showTitle:false;
+}
+ 
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+}
+
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="derived"],[property="derivedFrom"],[property="satisfiedBy"],[property="refinedBy"],[property="tracedTo"],[property="verifiedBy"],[property="master"]{
+	visible:false;
+}
+
+Class[appliedStereotypes~="Requirement"] > Compartment[kind="operations"] {
+    visible:false;
+}
+
+/*
+ * No use to show multiplicities, stereotypeLabel <<BindingConnector>> and connector name for bindingConnectors in parametric diagram
+ */
+Connector > Label:targetMultiplicity {
+        visible:false;
+}
+Connector > Label:sourceMultiplicity {
+        visible:false;
+}
+Connector > Label:name {
+        visible:false;
+}
+Connector > Label:stereotype {
+        visible:false;
+}
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/src/org/eclipse/papyrus/sysml16/diagram/internalblock/Activator.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/src/org/eclipse/papyrus/sysml16/diagram/internalblock/Activator.java
new file mode 100644
index 0000000..8675374
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/src/org/eclipse/papyrus/sysml16/diagram/internalblock/Activator.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.internalblock;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * 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.sysml16.diagram.internalblock"; //$NON-NLS-1$
+
+	/**
+	 * Returns an image descriptor for the image file at the given plug-in relative path.
+	 *
+	 * @param path
+	 *            The path.
+	 * @return The image descriptor.
+	 */
+	public static ImageDescriptor getImageDescriptor(final String path) {
+		return imageDescriptorFromPlugin(PLUGIN_ID, path);
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/src/org/eclipse/papyrus/sysml16/diagram/internalblock/internal/factory/BlockCompositeViewFactory.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/src/org/eclipse/papyrus/sysml16/diagram/internalblock/internal/factory/BlockCompositeViewFactory.java
new file mode 100644
index 0000000..dd96df5
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock/src/org/eclipse/papyrus/sysml16/diagram/internalblock/internal/factory/BlockCompositeViewFactory.java
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.internalblock.internal.factory;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.factory.AbstractBasicViewFactory;
+import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeFloatingLabelEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeNameEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.part.UMLVisualIDRegistry;
+
+/**
+ * Extraction from classdiagram UML view Provider.
+ */
+public class BlockCompositeViewFactory extends AbstractBasicViewFactory {
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.diagram.common.internal.factory.IBasicViewFactory#createElementView(org.eclipse.emf.ecore.EObject, org.eclipse.gmf.runtime.notation.View, java.lang.String, int, boolean,
+	 *      org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint)
+	 */
+	@Override
+	public Node createElementView(final EObject domainElement, final View containerView, final String semanticHint, final int index, final boolean persisted, final PreferencesHint preferencesHint) {
+		Shape node = NotationFactory.eINSTANCE.createShape();
+		node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+		node.setType(UMLVisualIDRegistry.getType(ClassCompositeEditPart.VISUAL_ID));
+		ViewUtil.insertChildView(containerView, node, index, persisted);
+		node.setElement(domainElement);
+		// initializeFromPreferences
+		final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint.getPreferenceStore();
+		PreferenceInitializerForElementHelper.initFontStyleFromPrefs(node, prefStore, "Class");
+		createLabel(node, UMLVisualIDRegistry.getType(ClassCompositeNameEditPart.VISUAL_ID));
+		Node label6089 = createLabel(node, UMLVisualIDRegistry.getType(ClassCompositeFloatingLabelEditPart.VISUAL_ID));
+		label6089.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+		Location location6089 = (Location) label6089.getLayoutConstraint();
+		location6089.setX(0);
+		location6089.setY(5);
+		createCompartment(node, UMLVisualIDRegistry.getType(ClassCompositeCompartmentEditPart.VISUAL_ID), true, true, false, false);
+		PreferenceInitializerForElementHelper.initCompartmentsStatusFromPrefs(node, prefStore, "Class");
+		return node;
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.classpath b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.project b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.project
new file mode 100644
index 0000000..cb72234
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.diagram.parametric</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.core.resources.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.core.runtime.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.jdt.core.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.jdt.ui.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.m2e.core.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.pde.api.tools.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/META-INF/MANIFEST.MF b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..ed989a8
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/META-INF/MANIFEST.MF
@@ -0,0 +1,33 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Localization: plugin
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.diagram.parametric;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.papyrus.sysml16.diagram.parametric.Activator
+Bundle-Vendor: %Bundle-Vendor
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.gmf.runtime.diagram.core;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.diagram.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.service.types;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.dnd;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.sysml16.diagram.common;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.service.types;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.papyrus.sysml16.diagram.parametric,
+ org.eclipse.papyrus.sysml16.diagram.parametric.command,
+ org.eclipse.papyrus.sysml16.diagram.parametric.dnd,
+ org.eclipse.papyrus.sysml16.diagram.parametric.edit.part,
+ org.eclipse.papyrus.sysml16.diagram.parametric.internal.factory,
+ org.eclipse.papyrus.sysml16.diagram.parametric.locator,
+ org.eclipse.papyrus.sysml16.diagram.parametric.provider
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.diagram.parametric
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/about.html b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/build.properties b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/build.properties
new file mode 100644
index 0000000..6c93f7a
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = plugin.xml,\
+               META-INF/,\
+               .,\
+               about.html,\
+               resources/,\
+               plugin.properties
+src.includes = about.html
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/plugin.properties b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/plugin.properties
new file mode 100644
index 0000000..8556cae
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/plugin.properties
@@ -0,0 +1,17 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name= Papyrus SysML 1.6 Parametric Diagram
+Bundle-Description=This plug-in contains the parametric diagram of SysML 1.6
+Bundle-Vendor=Eclipse Modeling Project
+
+
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/plugin.xml b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/plugin.xml
new file mode 100644
index 0000000..0f73946
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/plugin.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+
+   <!-- Expansion -->
+   <extension
+         point="org.eclipse.papyrus.infra.gmfdiag.common.diagramExpansion">
+      <diagramexpansion
+            model="resources/configuration/parametricDiagramConfig.expansionmodel">
+      </diagramexpansion>
+   </extension>
+      <!-- Parser provider declaration -->
+<extension point="org.eclipse.gmf.runtime.common.ui.services.parserProviders">
+	<ParserProvider class="org.eclipse.papyrus.sysml16.diagram.parametric.provider.ParserProvider">
+		<Priority name="Low"/>
+	</ParserProvider>
+</extension>
+<extension point="org.eclipse.papyrus.infra.gmfdiag.dnd.dropStrategy">
+   <strategy strategy="org.eclipse.papyrus.sysml16.diagram.parametric.dnd.ParameterDropStrategy"></strategy>
+   <strategy strategy="org.eclipse.papyrus.sysml16.diagram.parametric.dnd.ConstraintDropStrategy"></strategy>
+   <strategy strategy="org.eclipse.papyrus.sysml16.diagram.parametric.dnd.ConstraintPropertyDropStrategy"></strategy>
+   <strategy strategy="org.eclipse.papyrus.sysml16.diagram.parametric.dnd.ConstraintBlockDropStrategy"></strategy>   
+</extension>
+
+</plugin>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/pom.xml b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/pom.xml
new file mode 100644
index 0000000..6d83176
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/pom.xml
@@ -0,0 +1,14 @@
+<?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.sysml</groupId>	
+		<artifactId>org.eclipse.papyrus.sysml16.diagram</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.diagram.parametric</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.diagram.parametric</name>
+	<description>This plugin is in charge of defining the SysML 1.6 Parametric Diagram using the following frameworks: viewpoint, expansion model, palette and css.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/resources/configuration/parametricDiagramConfig.expansionmodel b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/resources/configuration/parametricDiagramConfig.expansionmodel
new file mode 100644
index 0000000..5253b7b
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/resources/configuration/parametricDiagramConfig.expansionmodel
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<expansionmodel:DiagramExpansion xmlns:expansionmodel="http:///expansionmodel.ecore" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="SysML 1.6 Parametric" xmi:id="org.eclipse.papyrus.sysml16.parametric.expansionmodel" xmi:version="2.0">
+  <usages diagramType="SysML 1.6 Parametric Diagram" name="SysML 1.6 Parametric Context" representations="_mUSiYILiEeW6xruev4cRfQ" xmi:id="_rC19oNnoEeSqwOe5_frWm1">
+    <gmftRepresentations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeEditPart" inducedRepresentations="_U9-hYILjEeW6xruev4cRfQ _ZMHeQPRlEeakH_jG3IBwLw" name="Block based on Class representation of composite diagram" reusedID="Class_Shape" subRepresentations="_Zs7FQPRlEeakH_jG3IBwLw" viewFactory="org.eclipse.papyrus.sysml16.diagram.parametric.internal.factory.BlockCompositeViewFactory" xmi:id="_mUSiYILiEeW6xruev4cRfQ"/>
+  </usages>
+  <libraries name="Overload existing compartment of the composite diagram" xmi:id="_T4rGMILjEeW6xruev4cRfQ">
+    <representations children="_CKVjwIMFEeW6xruev4cRfQ" hint="Class_StructureCompartment" name="Reuse compartment of internal structure of the Composite class" xmi:id="_U9-hYILjEeW6xruev4cRfQ" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_1uXq8N0DEeS-X4lB2Ut-YA"/>
+    </representations>
+  </libraries>
+  <libraries name="Sub representations" xmi:id="_9nQaIIMEEeW6xruev4cRfQ">
+    <representations editPartQualifiedName="org.eclipse.papyrus.uml.diagram.composite.edit.parts.PropertyPartEditPartCN" inducedRepresentations="_-La5QIPXEeWhLaOZG6fRyw" name="ConstraintBlockProperty" subRepresentations="_meiusIOfEeWhLaOZG6fRyw" viewFactory="org.eclipse.papyrus.sysml16.diagram.parametric.internal.factory.ConstraintPropertyViewFactory" xmi:id="_CKVjwIMFEeW6xruev4cRfQ" xsi:type="expansionmodel:Representation">
+      <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConstraintPropertyComposite" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations editPartQualifiedName="org.eclipse.papyrus.sysml16.diagram.parametric.edit.part.ParameterBorderItermEditPart" inducedRepresentations="_uamt4IPBEeWhLaOZG6fRyw" name="Border item that represents PropertyValue of SysML" viewFactory="org.eclipse.papyrus.sysml16.diagram.parametric.internal.factory.BorderItemViewFactory" xmi:id="_meiusIOfEeWhLaOZG6fRyw" xsi:type="expansionmodel:Representation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_EoAOIN0DEeSiOexlyH3Ifw"/>
+    <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Parameter_BorderItem" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations editPartQualifiedName="org.eclipse.papyrus.sysml16.diagram.common.edit.parts.LabelInListEditpart" name="Constraint As Label" viewFactory="org.eclipse.gmf.runtime.diagram.ui.view.factories.optimal.ShapeViewFactory" xmi:id="_CvOcoFVqEeW77p7V_ZuW3Q" xsi:type="expansionmodel:Representation">
+      <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Constraint_Label" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+    <representations children="_Zs7FQPRlEeakH_jG3IBwLw" description="Add border item children in Class_Shape" hint="Class_Shape" name="BorderItemClassShapeInducedRepresentation" xmi:id="_ZMHeQPRlEeakH_jG3IBwLw" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_EoAOIN0DEeSiOexlyH3Ifw"/>
+    </representations>
+    <representations description="Border item that represents PropertyValue of SysML on Class_Shape" editPartQualifiedName="org.eclipse.papyrus.sysml16.diagram.parametric.edit.part.ParameterBorderItermEditPart" inducedRepresentations="_uamt4IPBEeWhLaOZG6fRyw" name="BorderItemClassShapeRepresentation" viewFactory="org.eclipse.papyrus.sysml16.diagram.parametric.internal.factory.BorderItemViewFactory" xmi:id="_Zs7FQPRlEeakH_jG3IBwLw" xsi:type="expansionmodel:Representation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_EoAOIN0DEeSiOexlyH3Ifw"/>
+    <graphicalElementTypeRef href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Parameter_BorderItemClassShape" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration"/>
+    </representations>
+  </libraries>
+  <libraries name="inducedRepresentation" xmi:id="_sYz1QIPBEeWhLaOZG6fRyw">
+    <representations editPartQualifiedName="org.eclipse.papyrus.sysml16.diagram.parametric.edit.part.ParameterBorderItemNameEditPart" hint="ParameterLabel" name="a parameterLabel" xmi:id="_uamt4IPBEeWhLaOZG6fRyw" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_dG-hoN0HEeSfTfTnKh2G1Q"/>
+    </representations>
+    <representations children="_CvOcoFVqEeW77p7V_ZuW3Q" hint="constraints" name="Compartment constraint" xmi:id="_-La5QIPXEeWhLaOZG6fRyw" xsi:type="expansionmodel:InducedRepresentation">
+      <kind href="platform:/plugin/org.eclipse.papyrus.uml.diagram.common/model/UMLRepresentationKind.xmi#_vbTKYN0DEeS-X4lB2Ut-YA"/>
+    </representations>
+  </libraries>
+</expansionmodel:DiagramExpansion>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/resources/icons/obj16/Diagram_Parametric.png b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/resources/icons/obj16/Diagram_Parametric.png
new file mode 100644
index 0000000..2b3e965
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/resources/icons/obj16/Diagram_Parametric.png
Binary files differ
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/resources/palette/parametric.paletteconfiguration b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/resources/palette/parametric.paletteconfiguration
new file mode 100644
index 0000000..8cfd136
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/resources/palette/parametric.paletteconfiguration
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<paletteconfiguration:PaletteConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:paletteconfiguration="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.8" id="org.eclipse.papyrus.sysML.par.palette.model" label="SysML PAR Palette">
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="org.eclipse.papyrus.sysML.par.palette" label="Constraints" description="Element listed in Parametric Diagram">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.par.palette.node.ConstraintProperty" label="ConstraintProperty" description="A constraint property is a property of any block that is typed by a constraint block." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Property.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ConstraintPropertyComposite"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+  </drawerConfigurations>
+</paletteconfiguration:PaletteConfiguration>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/resources/style/parametricDiagram.css b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/resources/style/parametricDiagram.css
new file mode 100644
index 0000000..f9b24b1
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/resources/style/parametricDiagram.css
@@ -0,0 +1,270 @@
+/*****************************************************************************
+ * 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *  Benoit Maggi (CEA LIST) benoit.maggi@cea.fr
+ *****************************************************************************/
+/*
+ * SHARED ELEMENTS
+ */
+
+Compartment{
+	visible: false;
+	showTitle: false;
+}
+
+Compartment[kind=structure]{
+	showTitle: false;
+}
+
+Package > Compartment[kind="packagedelements"],
+Model > Compartment[kind="packagedelements"]{
+	visible: true;
+	showTitle: false;
+}
+
+[deprecated=true] {
+	lineColor: orange;
+}
+
+[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=parameters],
+[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=constraints]{
+	visible: true;
+}
+
+[appliedStereotypes~="FlowSpecification"]{
+	elementIcon:false;
+	displayIcon:false;
+}
+
+[appliedStereotypes~="FlowSpecification"] > Compartment[kind=flowproperties]{
+	visible: true;
+}
+
+[appliedStereotypes~="ValueType"] > Compartment[kind=attributes],
+[appliedStereotypes~="ValueType"] > Compartment[kind=operations]{
+	visible: true;
+}
+
+/*
+ * Comment
+ */
+Class[appliedStereotypes~="Comment"]{
+	visible:true;
+}
+
+/*
+ * Stereotype ElementGroup
+ */
+ 
+Class[appliedStereotypes~="ElementGroup"] {
+    visible:true;
+    showTitle:true;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="name"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="criterion"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="size"]{
+	visible:true;
+}
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="member"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="orderedMember"]{
+	visible:true;
+}
+
+/*
+ * Problem
+ */
+Class[appliedStereotypes~="Problem"]{
+	visible:true;
+}
+
+/*
+ * Rationale
+ */
+Class[appliedStereotypes~="Rational"]{
+	visible:true;
+}
+
+/*
+ * Stakeholder
+ */
+Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+} 
+ 
+[appliedStereotypes~="Stakeholder"] > Compartment[kind=attributes],
+[appliedStereotypes~="Stakeholder"] > Compartment[kind=operations],
+[appliedStereotypes~="Stakeholder"] > Compartment[kind=constraints]{
+	visible: true;
+}
+
+Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] > [property="concernList"]{
+	visible:true;
+}
+Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] > [property="concern"]{
+	visible:true;
+}
+
+/*
+ * Stereotype View
+ */
+Class[appliedStereotypes~="View"] > Compartment[kind=attributes],
+Class[appliedStereotypes~="View"] > Compartment[kind=operations]{
+    visible:true;
+    showTitle:false;
+} 
+
+Class[appliedStereotypes~="View"] > Compartment[kind="nestedclassifiers"]{
+    visible:false;
+    showTitle:false;
+} 
+ 
+Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:true;
+}
+
+Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] > [property="stakeholder"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] > [property="viewpoint"]{
+	visible:true;
+}
+
+/*
+ * Stereotype Viewpoint
+ */
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+} 
+ 
+[appliedStereotypes~="Viewpoint"] > Compartment[kind=attributes],
+[appliedStereotypes~="Viewpoint"] > Compartment[kind=operations]{
+	visible:true;
+}
+
+[appliedStereotypes~="Viewpoint"] > Compartment[kind="internal structure"],
+[appliedStereotypes~="Viewpoint"] > Compartment[kind="symbol"]
+{
+	visible:false;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="stakeholder"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="purpose"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="concernList"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="language"]{
+	visible:true;
+}
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="method"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="presentation"]{
+	visible:true;
+}
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="concern"]{
+	visible:true;
+}
+
+/*
+ * SPECIFIC ELEMENTS
+ */
+
+Attribute[appliedStereotypes~="Block"]  > Compartment {
+	visible:false;
+}
+
+Port > Compartment[kind="symbol"]{
+	visible: true;
+}
+
+ParametricDiagram Compartment{
+	visible: false;
+	showTitle: true;
+}
+
+Class[appliedStereotypes~="Block"] > Compartment[kind=internalstructure],
+Class[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=internalstructure]{
+	visible: true;
+}
+
+
+
+CompositeStructureDiagram Property[isConstraint=true]
+{
+	radiusWidth:30;
+	radiusHeight:30;
+}
+
+/*
+ * No use to show multiplicities, stereotypeLabel <<BindingConnector>> and connector name for bindingConnectors in parametric diagram
+ */
+Connector > Label:targetMultiplicity {
+        visible:false;
+}
+Connector > Label:sourceMultiplicity {
+        visible:false;
+}
+Connector > Label:name {
+        visible:false;
+}
+Connector > Label:stereotype {
+        visible:false;
+}
+/*
+ * In general, showing multiplicities is not useful for properties (they will be [1] anyway)
+ */
+Property {
+	maskLabel: name type;
+}
+
+Port[appliedStereotypes~="FlowPort"][isAtomic=true][direction=in] {
+	svgFile: "platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_IN/position.svg";
+}
+
+Port[appliedStereotypes~="FlowPort"][isAtomic=true][direction=out] {
+	svgFile: "platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_OUT/position.svg";
+}
+
+Port[appliedStereotypes~="FlowPort"][isAtomic=true][direction=inout] {
+	svgFile: "platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_INOUT/position.svg";
+}
+
+Port[appliedStereotypes~="FlowPort"][isAtomic=false] {
+	svgFile: "platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/icons/FlowPort_NA/position.svg";
+}
+ 
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/Activator.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/Activator.java
new file mode 100644
index 0000000..9fd7741
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/Activator.java
@@ -0,0 +1,105 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.resource.ImageDescriptor;
+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.sysml16.diagram.parametric"; //$NON-NLS-1$
+
+	/**
+	 * The shared instance.
+	 */
+	private static Activator plugin;
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(final BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @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 an image descriptor for the image file at the given plug-in relative path
+	 *
+	 * @param path
+	 *            The path.
+	 * @return The image descriptor.
+	 */
+	public static ImageDescriptor getImageDescriptor(final String path) {
+		return imageDescriptorFromPlugin(PLUGIN_ID, path);
+	}
+
+	/**
+	 * Default plug-in.
+	 * 
+	 * @return The default plug-in.
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * Log the status.
+	 * 
+	 * @param status
+	 *            The status.
+	 */
+	public static void log(final IStatus status) {
+		Activator.getDefault().getLog().log(status);
+	}
+
+	/**
+	 * Log the message.
+	 * 
+	 * @param severity
+	 *            The severity.
+	 * @param message
+	 *            The log message.
+	 */
+	public static void log(final int severity, final String message) {
+		log(new Status(severity, PLUGIN_ID, message));
+	}
+
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/command/ConstraintBlockParameterCreationCommand.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/command/ConstraintBlockParameterCreationCommand.java
new file mode 100644
index 0000000..633f50a
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/command/ConstraintBlockParameterCreationCommand.java
@@ -0,0 +1,163 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.command;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.AbstractCommand;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.commands.CreateElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.diagram.common.util.GraphicalSysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.diagram.parametric.Activator;
+import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * The command which allow to create a constraint block parameter.
+ */
+public class ConstraintBlockParameterCreationCommand extends AbstractCommand {
+
+	/**
+	 * The graphical target edit part where add the created constraint block parameter.
+	 */
+	protected IGraphicalEditPart targetEditPart;
+
+	/**
+	 * The container of the constraint block parameter to create.
+	 */
+	protected EObject targetElement;
+
+	/**
+	 * The type element of the constraint block parameter to create.
+	 */
+	protected EObject typeElement;
+
+	/**
+	 * The location point where add the block constraint parameter.
+	 */
+	protected Point point;
+
+	/**
+	 * The property creation command.
+	 */
+	protected CreateElementCommand propertyCreationCommand;
+
+	/**
+	 * Constructor.
+	 *
+	 * @param label
+	 *            The operation label, should never be <code>null</code>.
+	 * @param typeElement
+	 *            The type element of the constraint block parameter to create.
+	 * @param targetEditPart
+	 *            The graphical target edit part where add the created constraint block parameter.
+	 * @param targetElement
+	 *            The container of the constraint block parameter to create.
+	 * @param point
+	 *            The location point where add the block constraint parameter.
+	 */
+	public ConstraintBlockParameterCreationCommand(final String label, final IGraphicalEditPart targetEditPart, final EObject targetElement, final EObject typeElement, final Point point) {
+		super(label);
+		this.targetEditPart = targetEditPart;
+		this.targetElement = targetElement;
+		this.typeElement = typeElement;
+		this.point = point;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.gmf.runtime.common.core.command.AbstractCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+	 */
+	@Override
+	protected CommandResult doExecuteWithResult(final IProgressMonitor progressMonitor, final IAdaptable info) throws ExecutionException {
+		// Create the parameter corresponding to the ConstraintBlock
+		final CreateElementRequest createPropertyCommand = new CreateElementRequest(targetElement, UMLElementTypes.PROPERTY);
+		propertyCreationCommand = new CreateElementCommand(createPropertyCommand);
+		propertyCreationCommand.execute(progressMonitor, info);
+
+		CommandResult commandResult = propertyCreationCommand.getCommandResult();
+		if (commandResult != null && commandResult.getStatus().isOK()) {
+			// Set the parameter type with ConstraintBlock
+			final EObject createdProperty = propertyCreationCommand.getNewElement();
+			createdProperty.eSet(UMLPackage.eINSTANCE.getTypedElement_Type(), typeElement);
+
+			final ISpecializationType type = (ISpecializationType) ElementTypeRegistry.getInstance().getType(GraphicalSysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINT_PROPERTY_COMPOSITE);
+
+			// Create the node corresponding to the parameter
+			final View notationView = targetEditPart.getNotationView();
+			String semanticHint = ((IHintedType) type).getSemanticHint();
+			Node node = ViewService.createNode(notationView, createdProperty, semanticHint, ((GraphicalEditPart) targetEditPart).getDiagramPreferencesHint());
+
+			if (node == null) {
+				Activator.log(IStatus.WARNING, "Impossible to create the view " + semanticHint);//$NON-NLS-1$
+			} else {
+				if (point != null && node.getLayoutConstraint() instanceof Bounds) {
+					IFigure parentFigure = targetEditPart.getFigure().getParent();
+					while (null != parentFigure) {
+						point.translate(-(parentFigure.getBounds().x + parentFigure.getInsets().left), -(parentFigure.getBounds().y + parentFigure.getInsets().top));
+						parentFigure = parentFigure.getParent();
+					}
+					((Bounds) node.getLayoutConstraint()).setX(point.x);
+					((Bounds) node.getLayoutConstraint()).setY(point.y);
+				}
+			}
+		}
+		return commandResult;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.gmf.runtime.common.core.command.AbstractCommand#doRedoWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+	 */
+	@Override
+	protected CommandResult doRedoWithResult(final IProgressMonitor progressMonitor, final IAdaptable info) throws ExecutionException {
+		if (propertyCreationCommand != null && propertyCreationCommand.canRedo()) {
+			propertyCreationCommand.redo(progressMonitor, info);
+		}
+		return CommandResult.newOKCommandResult();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.gmf.runtime.common.core.command.AbstractCommand#doUndoWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+	 */
+	@Override
+	protected CommandResult doUndoWithResult(final IProgressMonitor progressMonitor, final IAdaptable info) throws ExecutionException {
+		if (propertyCreationCommand != null && propertyCreationCommand.canUndo()) {
+			propertyCreationCommand.undo(progressMonitor, info);
+		}
+		return CommandResult.newOKCommandResult();
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/ConstraintBlockDropStrategy.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/ConstraintBlockDropStrategy.java
new file mode 100644
index 0000000..7a269fa
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/ConstraintBlockDropStrategy.java
@@ -0,0 +1,125 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.dnd;
+
+import java.util.List;
+
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.requests.DropObjectsRequest;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.papyrus.infra.gmfdiag.dnd.strategy.ExpansionElementDropStrategy;
+import org.eclipse.papyrus.sysml16.diagram.parametric.command.ConstraintBlockParameterCreationCommand;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeCompartmentEditPart;
+
+/**
+ * This strategy is a specialization in order to be able to drop Constraint inside constraint Property
+ *
+ */
+public class ConstraintBlockDropStrategy extends ExpansionElementDropStrategy implements IParametricDropStrategy {
+
+	private static final int LOWEST_PRIORITY = -1000;
+	/**
+	 * ID tje internal Structure of a block
+	 */
+	private static final String INTERNAL_STRUCTURE_ID = ClassCompositeCompartmentEditPart.VISUAL_ID;
+
+	@Override
+	public String getCategoryID() {
+		return PARAMETRIC_DROP_CATEGORY_ID;
+	}
+
+	@Override
+	public String getCategoryLabel() {
+		return PARAMETRIC_DROP_CATEGORY_LABEL;
+	}
+
+	@Override
+	public String getID() {
+		return "org.eclipse.papyrus.sysml16.diagram.parametric.dnd.ConstraintBlockDropStrategy"; //$NON-NLS-1$
+	}
+
+	@Override
+	public String getLabel() {
+		return "Constraint Block drag and drop inside parametric diagram"; //$NON-NLS-1$
+	}
+
+	@Override
+	public String getDescription() {
+		return "This strategy is is a specialization in order to be able to drop a Constraint Block inside Parametric diagram."; //$NON-NLS-1$
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.infra.gmfdiag.dnd.strategy.ExpansionElementDropStrategy#getPriority()
+	 *
+	 * @return
+	 */
+	@Override
+	public int getPriority() {
+		return LOWEST_PRIORITY;
+	}
+
+	@Override
+	public Command doGetCommand(Request request, final EditPart targetEditPart) {
+		if (RequestConstants.REQ_MOVE_CHILDREN.equals(request.getType())) {
+			return null;
+		}
+
+		final CompositeCommand cc = new CompositeCommand(getLabel());
+		if (targetEditPart instanceof GraphicalEditPart) {
+			IGraphicalEditPart graphicalEditPart = (IGraphicalEditPart) targetEditPart;
+			List<EObject> sourceElements = getSourceEObjects(request);
+			if (sourceElements.isEmpty()) {
+				return null;
+			}
+
+			final ISpecializationType constraintPropertyElementType = (ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK);
+			if (INTERNAL_STRUCTURE_ID.equals(graphicalEditPart.getNotationView().getType())) {
+
+
+				final EObject targetElement = getTargetSemanticElement(targetEditPart);
+				for (EObject sourceElement : sourceElements) {
+					if (constraintPropertyElementType.getMatcher().matches(sourceElement)) {
+
+						Point dropedPoint = null;
+						if (request instanceof DropObjectsRequest) {
+							dropedPoint = ((DropObjectsRequest) request).getLocation();
+						}
+
+						cc.add(new ConstraintBlockParameterCreationCommand("Create the corresponding constraint block parameter.", graphicalEditPart, targetElement, sourceElement, dropedPoint)); //$NON-NLS-1$
+					}
+
+				}
+			}
+		}
+		return cc.canExecute() ? new ICommandProxy(cc.reduce()) : null;
+	}
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/ConstraintDropStrategy.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/ConstraintDropStrategy.java
new file mode 100644
index 0000000..9fe0861
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/ConstraintDropStrategy.java
@@ -0,0 +1,107 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.dnd;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.papyrus.infra.gmfdiag.dnd.strategy.ExpansionElementDropStrategy;
+import org.eclipse.papyrus.sysml16.diagram.common.util.GraphicalSysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * This strategy is a specialization in order to be able to drop Constraint inside constraint Property
+ *
+ */
+public class ConstraintDropStrategy extends ExpansionElementDropStrategy implements IParametricDropStrategy {
+
+
+	@Override
+	public String getCategoryID() {
+		return PARAMETRIC_DROP_CATEGORY_ID;
+	}
+
+	@Override
+	public String getCategoryLabel() {
+		return PARAMETRIC_DROP_CATEGORY_LABEL;
+	}
+
+	@Override
+	public String getLabel() {
+		return "Constraint drag and drop inside Constraint Property";
+	}
+
+	@Override
+	public String getID() {
+		return "org.eclipse.papyrus.sysml16.diagram.parametric.dnd.ConstraintDropStrategy"; //$NON-NLS-1$
+	}
+
+	@Override
+	public String getDescription() {
+		return "This strategy is is a specialization in order to be able to drop a Constraint inside constraint Property.";
+	}
+
+
+
+	@Override
+	public Command doGetCommand(Request request, final EditPart targetEditPart) {
+		if (RequestConstants.REQ_MOVE_CHILDREN.equals(request.getType())) {
+			return null;
+		}
+		
+		CompositeCommand cc = new CompositeCommand(getLabel());
+		if (targetEditPart instanceof GraphicalEditPart) {
+			IGraphicalEditPart graphicalEditPart = (IGraphicalEditPart) targetEditPart;
+			List<EObject> sourceElements = getSourceEObjects(request);
+			if (sourceElements.isEmpty()) {
+				return null;
+			}
+
+			final List<EObject> valuesToAdd = new ArrayList<>(sourceElements.size());
+			final ISpecializationType constraintPropertyElementType = (ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTPROPERTY);
+			// the target must me a constraint property
+			EObject target = graphicalEditPart.resolveSemanticElement();
+			if (constraintPropertyElementType.getMatcher().matches(target) && target instanceof Property && ((Property) target).getType() != null) {
+				Type targetType = ((Property) target).getType();
+				for (EObject sourceElement : sourceElements) {
+					if ((sourceElement instanceof Constraint) && sourceElement.eContainer().equals(targetType)) {
+						addCommandDrop(targetEditPart, cc, valuesToAdd, sourceElement, (ISpecializationType) ElementTypeRegistry.getInstance().getType(GraphicalSysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINT_LABEL));
+					}
+				}
+			}
+		}
+		return cc.canExecute() ? new ICommandProxy(cc.reduce()) : null;
+	}
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/ConstraintPropertyDropStrategy.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/ConstraintPropertyDropStrategy.java
new file mode 100644
index 0000000..309a074
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/ConstraintPropertyDropStrategy.java
@@ -0,0 +1,118 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.dnd;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.papyrus.infra.gmfdiag.dnd.strategy.ExpansionElementDropStrategy;
+import org.eclipse.papyrus.sysml16.diagram.common.util.GraphicalSysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeCompartmentEditPart;
+
+/**
+ * This strategy is a specialization in order to be able to drop Constraint inside constraint Property
+ *
+ */
+public class ConstraintPropertyDropStrategy extends ExpansionElementDropStrategy implements IParametricDropStrategy {
+
+	private static final int LOWEST_PRIORITY = -1000;
+	/**
+	 * ID tje internal Structure of a block
+	 */
+	private static final String INTERNAL_STRUCTURE_ID = ClassCompositeCompartmentEditPart.VISUAL_ID;
+
+	@Override
+	public String getCategoryID() {
+		return PARAMETRIC_DROP_CATEGORY_ID;
+	}
+
+	@Override
+	public String getCategoryLabel() {
+		return PARAMETRIC_DROP_CATEGORY_LABEL;
+	}	
+	
+	@Override
+	public String getID() {
+		return "org.eclipse.papyrus.sysml16.diagram.parametric.dnd.ConstraintPropertyDropStrategy";
+	}
+	
+	@Override
+	public String getLabel() {
+		return "Constraint Property drag and drop inside parametric diagram";
+	}
+
+	@Override
+	public String getDescription() {
+		return "This strategy is is a specialization in order to be able to drop a Constraint Property inside Parametric diagram.";
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.infra.gmfdiag.dnd.strategy.ExpansionElementDropStrategy#getPriority()
+	 *
+	 * @return
+	 */
+	@Override
+	public int getPriority() {
+		return LOWEST_PRIORITY;
+	}
+
+	@Override
+	public Command doGetCommand(Request request, final EditPart targetEditPart) {
+		if (RequestConstants.REQ_MOVE_CHILDREN.equals(request.getType())) {
+			return null;
+		}	
+		
+		CompositeCommand cc = new CompositeCommand(getLabel());
+		if (targetEditPart instanceof GraphicalEditPart) {
+			IGraphicalEditPart graphicalEditPart = (IGraphicalEditPart) targetEditPart;
+			List<EObject> sourceElements = getSourceEObjects(request);
+			if (sourceElements.isEmpty()) {
+				return null;
+			}
+
+			final List<EObject> valuesToAdd = new ArrayList<>(sourceElements.size());
+			final ISpecializationType constraintPropertyElementType = (ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTPROPERTY);
+			// the target must me a constraint property
+			if (INTERNAL_STRUCTURE_ID.equals(graphicalEditPart.getNotationView().getType())) {
+				for (EObject sourceElement : sourceElements) {
+					if (constraintPropertyElementType.getMatcher().matches(sourceElement)) {
+						final ISpecializationType type = (ISpecializationType) ElementTypeRegistry.getInstance().getType(GraphicalSysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINT_PROPERTY_COMPOSITE);
+						addCommandDrop(targetEditPart, cc, valuesToAdd, sourceElement, type);
+					}
+
+				}
+			}
+		}
+		return cc.canExecute() ? new ICommandProxy(cc.reduce()) : null;
+	}
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/IParametricDropStrategy.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/IParametricDropStrategy.java
new file mode 100644
index 0000000..8ff328c
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/IParametricDropStrategy.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.dnd;
+
+/**
+ * This interface is used to capitalize constant about Drop strategy of the parametric diagram.
+ */
+public interface IParametricDropStrategy {
+
+	String PARAMETRIC_DROP_CATEGORY_ID = "org.eclipse.papyrus.sysml16.diagram.parametric"; //$NON-NLS-1$
+	
+	String PARAMETRIC_DROP_CATEGORY_LABEL = "Parameter drag and drop"; //$NON-NLS-1$
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/ParameterDropStrategy.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/ParameterDropStrategy.java
new file mode 100644
index 0000000..be6d7a8
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/dnd/ParameterDropStrategy.java
@@ -0,0 +1,115 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.dnd;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.papyrus.infra.gmfdiag.dnd.strategy.ExpansionElementDropStrategy;
+import org.eclipse.papyrus.sysml16.diagram.common.util.GraphicalSysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * This strategy is a specialization in order to be able to drop Parameter inside Parameter Property.
+ * this code is link to the parametric because the parameter as border item is only display in the parametric Diagram.
+ */
+public class ParameterDropStrategy extends ExpansionElementDropStrategy implements IParametricDropStrategy {
+
+	@Override
+	public String getCategoryID() {
+		return PARAMETRIC_DROP_CATEGORY_ID;
+	}
+
+	@Override
+	public String getCategoryLabel() {
+		return PARAMETRIC_DROP_CATEGORY_LABEL;
+	}
+
+	@Override
+	public String getLabel() {
+		return "Parameter drag and drop";
+	}
+
+	@Override
+	public String getID() {
+		return "org.eclipse.papyrus.sysml16.diagram.parametric.dnd.ParameterDropStrategy"; //$NON-NLS-1$
+	}
+
+	@Override
+	public String getDescription() {
+		return "This strategy is is a specialization in order to be able to drop a Parameter.";
+	}
+
+
+	@Override
+	public Command doGetCommand(Request request, final EditPart targetEditPart) {
+		if (RequestConstants.REQ_MOVE_CHILDREN.equals(request.getType())) {
+			return null;
+		}
+
+		CompositeCommand cc = new CompositeCommand(getLabel());
+		if (targetEditPart instanceof GraphicalEditPart) {
+			IGraphicalEditPart graphicalEditPart = (IGraphicalEditPart) targetEditPart;
+			List<EObject> sourceElements = getSourceEObjects(request);
+			if (sourceElements.isEmpty()) {
+				return null;
+			}
+
+			final List<EObject> valuesToAdd = new ArrayList<>(sourceElements.size());
+			final ISpecializationType parameterPropertyElementType = (ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTPROPERTY);
+			if (null == parameterPropertyElementType) {
+				return null;
+			}
+			// the target must be a Parameter property
+			EObject target = graphicalEditPart.resolveSemanticElement();
+			if (parameterPropertyElementType.getMatcher().matches(target) && target instanceof Property && ((Property) target).getType() != null) {
+				Type targetType = ((Property) target).getType();
+				for (EObject sourceElement : sourceElements) {
+					if ((sourceElement instanceof Property) && sourceElement.eContainer().equals(targetType)) {
+						addCommandDrop(targetEditPart, cc, valuesToAdd, sourceElement, (ISpecializationType) ElementTypeRegistry.getInstance().getType(GraphicalSysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_PARAMETER_BORDER_ITEM));
+					}
+				}
+				//
+			} else {
+				final ISpecializationType constraintBlockElementType = (ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK);
+				if (null == constraintBlockElementType) {
+					return null;
+				}
+
+				if (constraintBlockElementType.getMatcher().matches(target) && targetEditPart.getParent() instanceof GraphicalEditPart) {
+					for (final EObject sourceElement : sourceElements) {
+						addCommandDrop(targetEditPart.getParent(), cc, valuesToAdd, sourceElement, (ISpecializationType) ElementTypeRegistry.getInstance().getType(GraphicalSysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_PARAMETER_BORDER_ITEM));
+					}
+				}
+			}
+		}
+		return cc.canExecute() ? new ICommandProxy(cc.reduce()) : null;
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/edit/part/ParameterBorderItemNameEditPart.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/edit/part/ParameterBorderItemNameEditPart.java
new file mode 100644
index 0000000..caa199f
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/edit/part/ParameterBorderItemNameEditPart.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.edit.part;
+
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpart.IControlParserForDirectEdit;
+import org.eclipse.papyrus.uml.diagram.common.editparts.BorderItemNameEditPart;
+
+/**
+ * This class is fix in order to let the xtext parser to change the parser of the editpart.
+ *
+ */
+public class ParameterBorderItemNameEditPart extends BorderItemNameEditPart implements IControlParserForDirectEdit {
+
+	/**
+	 * Constructor.
+	 * 
+	 * @param view
+	 *            The view.
+	 */
+	public ParameterBorderItemNameEditPart(final View view) {
+		super(view);
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/edit/part/ParameterBorderItermEditPart.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/edit/part/ParameterBorderItermEditPart.java
new file mode 100644
index 0000000..236779b
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/edit/part/ParameterBorderItermEditPart.java
@@ -0,0 +1,80 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.edit.part;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.diagram.ui.figures.IBorderItemLocator;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultGraphicalNodeEditPolicy;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultSemanticEditPolicy;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.GetChildLayoutEditPolicy;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IMaskManagedLabelEditPolicy;
+import org.eclipse.papyrus.sysml16.diagram.parametric.locator.ParameterPositionLocator;
+import org.eclipse.papyrus.uml.diagram.common.editparts.AroundBorderItemEditPart;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeIconlDisplayEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.MaskManagedNodeEditPolicy;
+import org.eclipse.papyrus.uml.diagram.composite.custom.edit.policies.BehaviorPortEditPolicy;
+import org.eclipse.papyrus.uml.diagram.composite.custom.edit.policies.CustomDiagramDragDropEditPolicy;
+import org.eclipse.papyrus.uml.diagram.composite.custom.edit.policies.PortLayoutEditPolicy;
+
+/**
+ * This a the editpart for Parameter that constraints the path of the border item to be internal.
+ */
+public class ParameterBorderItermEditPart extends AroundBorderItemEditPart {
+
+	/**
+	 * Constructor.
+	 *
+	 * @param view
+	 *            The GMF view.
+	 */
+	public ParameterBorderItermEditPart(final View view) {
+		super(view);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.diagram.common.editparts.AroundBorderItemEditPart#getNewBorderItemLocator(org.eclipse.draw2d.IFigure)
+	 */
+	@Override
+	public IBorderItemLocator getNewBorderItemLocator(final IFigure mainFigure) {
+		return new ParameterPositionLocator(mainFigure);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.diagram.common.editparts.AroundBorderItemEditPart#createDefaultEditPolicies()
+	 */
+	@Override
+	protected void createDefaultEditPolicies() {
+		super.createDefaultEditPolicies();
+		installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, getPrimaryDragEditPolicy());
+		installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new DefaultSemanticEditPolicy());
+		installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new DefaultGraphicalNodeEditPolicy());
+		installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy());
+		installEditPolicy(AppliedStereotypeLabelDisplayEditPolicy.STEREOTYPE_LABEL_POLICY, new AppliedStereotypeIconlDisplayEditPolicy());
+		installEditPolicy(EditPolicy.LAYOUT_ROLE, new PortLayoutEditPolicy());
+		installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new CustomDiagramDragDropEditPolicy());
+		installEditPolicy(BehaviorPortEditPolicy.BEHAVIOR_PORT, new BehaviorPortEditPolicy());
+		installEditPolicy(IMaskManagedLabelEditPolicy.MASK_MANAGED_LABEL_EDIT_POLICY, new MaskManagedNodeEditPolicy());
+		installEditPolicy(EditPolicy.LAYOUT_ROLE, new GetChildLayoutEditPolicy());
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/internal/factory/BlockCompositeViewFactory.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/internal/factory/BlockCompositeViewFactory.java
new file mode 100644
index 0000000..6d7af45
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/internal/factory/BlockCompositeViewFactory.java
@@ -0,0 +1,70 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.internal.factory;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.factory.AbstractBasicViewFactory;
+import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeFloatingLabelEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeNameEditPart;
+import org.eclipse.papyrus.uml.diagram.composite.part.UMLVisualIDRegistry;
+
+/**
+ * extraction from Composite UML view Provider.
+ */
+public class BlockCompositeViewFactory extends AbstractBasicViewFactory {
+
+	/**
+	 * Base element of Block
+	 */
+	private static final String CLASS = "Class";//$NON-NLS-1$
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.diagram.common.internal.factory.IBasicViewFactory#createElementView(org.eclipse.emf.ecore.EObject, org.eclipse.gmf.runtime.notation.View, java.lang.String, int, boolean,
+	 *      org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint)
+	 */
+	@Override
+	public View createElementView(EObject domainElement, View containerView, String semanticHint, int index, boolean persisted, PreferencesHint preferencesHint) {
+		Shape node = NotationFactory.eINSTANCE.createShape();
+		node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+		node.setType(UMLVisualIDRegistry.getType(ClassCompositeEditPart.VISUAL_ID));
+		ViewUtil.insertChildView(containerView, node, index, persisted);
+		node.setElement(domainElement);
+		// initializeFromPreferences
+		final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint.getPreferenceStore();
+		PreferenceInitializerForElementHelper.initFontStyleFromPrefs(node, prefStore, CLASS);
+		createLabel(node, UMLVisualIDRegistry.getType(ClassCompositeNameEditPart.VISUAL_ID));
+		Node floatinglLabel = createLabel(node, UMLVisualIDRegistry.getType(ClassCompositeFloatingLabelEditPart.VISUAL_ID));
+		floatinglLabel.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+		Location location6089 = (Location) floatinglLabel.getLayoutConstraint();
+		location6089.setX(0);
+		location6089.setY(5);
+		PreferenceInitializerForElementHelper.initCompartmentsStatusFromPrefs(node, prefStore, CLASS);
+		return node;
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/internal/factory/BorderItemViewFactory.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/internal/factory/BorderItemViewFactory.java
new file mode 100644
index 0000000..6a0377c
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/internal/factory/BorderItemViewFactory.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.internal.factory;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.factory.AbstractBasicViewFactory;
+
+/**
+ * this specific view factory for parameter element of the constraint block
+ *
+ */
+public class BorderItemViewFactory extends AbstractBasicViewFactory {
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.diagram.common.internal.factory.IBasicViewFactory#createElementView(org.eclipse.emf.ecore.EObject, org.eclipse.gmf.runtime.notation.View, java.lang.String, int, boolean,
+	 *      org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint)
+	 */
+	@Override
+	public View createElementView(EObject domainElement, View containerView, String semanticHint, int index, boolean persisted, PreferencesHint preferencesHint) {
+		Shape node = NotationFactory.eINSTANCE.createShape();
+		node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+		node.setType(semanticHint);
+		ViewUtil.insertChildView(containerView, node, index, persisted);
+		node.setElement(domainElement);
+		return node;
+	}
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/internal/factory/ConstraintPropertyViewFactory.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/internal/factory/ConstraintPropertyViewFactory.java
new file mode 100644
index 0000000..6aced53
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/internal/factory/ConstraintPropertyViewFactory.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.internal.factory;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.sysml16.diagram.common.internal.factory.AbstractBasicViewFactory;
+import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.PropertyPartCompartmentEditPartCN;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.PropertyPartFloatingLabelEditPartCN;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.PropertyPartNameEditPartCN;
+import org.eclipse.papyrus.uml.diagram.composite.part.UMLVisualIDRegistry;
+
+/**
+ * extraction from Composite View Provider UML view Provider.
+ */
+public class ConstraintPropertyViewFactory extends AbstractBasicViewFactory {
+
+	/**
+	 * Base element of ConstraintProperty.
+	 */
+	private static final String PROPERTY = "Property";//$NON-NLS-1$
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.diagram.common.internal.factory.IBasicViewFactory#createElementView(org.eclipse.emf.ecore.EObject, org.eclipse.gmf.runtime.notation.View, java.lang.String, int, boolean,
+	 *      org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint)
+	 */
+	@Override
+	public View createElementView(EObject domainElement, View containerView, String semanticHint, int index, boolean persisted, PreferencesHint preferencesHint) {
+		Shape node = NotationFactory.eINSTANCE.createShape();
+		node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+		node.setType(semanticHint);
+		ViewUtil.insertChildView(containerView, node, index, persisted);
+		node.setElement(domainElement);
+		// initializeFromPreferences
+		final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint.getPreferenceStore();
+		PreferenceInitializerForElementHelper.initFontStyleFromPrefs(node, prefStore, PROPERTY);
+		createLabel(node, UMLVisualIDRegistry.getType(PropertyPartNameEditPartCN.VISUAL_ID));
+		Node floatingLabel = createLabel(node, UMLVisualIDRegistry.getType(PropertyPartFloatingLabelEditPartCN.VISUAL_ID));
+		floatingLabel.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+		Location location6054 = (Location) floatingLabel.getLayoutConstraint();
+		location6054.setX(0);
+		location6054.setY(5);
+		createCompartment(node, UMLVisualIDRegistry.getType(PropertyPartCompartmentEditPartCN.VISUAL_ID), true, true, false, false);
+		PreferenceInitializerForElementHelper.initCompartmentsStatusFromPrefs(node, prefStore, PROPERTY);
+		return node;
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/locator/ParameterPositionLocator.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/locator/ParameterPositionLocator.java
new file mode 100644
index 0000000..66c292a
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/locator/ParameterPositionLocator.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.locator;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.papyrus.infra.gmfdiag.common.utils.PortPositionEnum;
+import org.eclipse.papyrus.uml.diagram.common.locator.PortPositionLocator;
+
+
+/**
+ * This border locator do not take in account CSS, its always internal.
+ * So For this reason SertPortPosition() has been overloaded.
+ */
+public class ParameterPositionLocator extends PortPositionLocator {
+
+
+	/**
+	 * Constructor.
+	 * 
+	 * @param parentFigure
+	 *            The parent figure.
+	 */
+	public ParameterPositionLocator(final IFigure parentFigure) {
+		super(parentFigure);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.diagram.common.locator.PortPositionLocator#setPortPosition(java.lang.String)
+	 *
+	 * @deprecated (to be removed only when the deprecated parent is removed)
+	 */
+	@Override
+	@Deprecated
+	public void setPortPosition(final String position) {
+		// Always internal
+		super.setPortPosition(PortPositionEnum.INSIDE.toString());
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.diagram.common.locator.PortPositionLocator#setPosition(org.eclipse.papyrus.infra.gmfdiag.common.utils.PortPositionEnum)
+	 */
+	@Override
+	public void setPosition(final PortPositionEnum position) {
+		super.setPosition(PortPositionEnum.INSIDE);
+	}
+
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/provider/ParserProvider.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/provider/ParserProvider.java
new file mode 100644
index 0000000..f7e10fb
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.parametric/src/org/eclipse/papyrus/sysml16/diagram/parametric/provider/ParserProvider.java
@@ -0,0 +1,36 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.provider;
+
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserProvider;
+import org.eclipse.papyrus.sysml16.diagram.common.provider.AbstractParserProvider;
+import org.eclipse.papyrus.uml.diagram.common.parser.PropertyLabelParser;
+
+/**
+ * Parser provider for labels used by the parametric diagram.
+ */
+public class ParserProvider extends AbstractParserProvider implements IParserProvider {
+
+	private static final String PARAMETER_LABEL = "ParameterLabel"; //$NON-NLS-1$
+
+	/**
+	 * Constructor.
+	 */
+	public ParserProvider() {
+		graphicalHintToParser.put(PARAMETER_LABEL, new PropertyLabelParser());
+	}
+
+}
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.classpath b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.project b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.project
new file mode 100644
index 0000000..518b657
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.diagram.requirement</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.core.resources.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.core.runtime.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.jdt.core.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.jdt.ui.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.m2e.core.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.pde.api.tools.prefs b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/META-INF/MANIFEST.MF b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..7a41692
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Localization: plugin
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.diagram.requirement;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.papyrus.sysml16.diagram.requirement.Activator
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.gmf.runtime.diagram.core;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.ui.workbench;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.jface;bundle-version="[3.11.0,4.0.0)",
+ org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.sysml16.diagram.common;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: %Bundle-Vendor
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.diagram.requirement
+Export-Package: org.eclipse.papyrus.sysml16.diagram.requirement
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/about.html b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/build.properties b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/build.properties
new file mode 100644
index 0000000..d93da03
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               resources/,\
+               plugin.properties
+src.includes = about.html
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/plugin.properties b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/plugin.properties
new file mode 100644
index 0000000..9497f50
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/plugin.properties
@@ -0,0 +1,17 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name= Papyrus SysML 1.6 Requirement Diagram
+Bundle-Description=This plug-in contains the requirement diagram of SysML 1.6
+Bundle-Vendor=Eclipse Modeling Project
+
+
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/pom.xml b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/pom.xml
new file mode 100644
index 0000000..3091e35
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/pom.xml
@@ -0,0 +1,14 @@
+<?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.sysml</groupId>	
+		<artifactId>org.eclipse.papyrus.sysml16.diagram</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.diagram.requirement</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.diagram.requirement</name>
+	<description>This plugin is in charge of defining the SysML 1.6 Requirement Diagram using the following frameworks: viewpoint, expansion model, palette and css.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/resources/icons/obj16/Diagram_Requirement.gif b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/resources/icons/obj16/Diagram_Requirement.gif
new file mode 100644
index 0000000..f87c907
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/resources/icons/obj16/Diagram_Requirement.gif
Binary files differ
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/resources/palette/requirementDiagram.paletteconfiguration b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/resources/palette/requirementDiagram.paletteconfiguration
new file mode 100644
index 0000000..a2329b0
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/resources/palette/requirementDiagram.paletteconfiguration
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<paletteconfiguration:PaletteConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:paletteconfiguration="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.8" id="org.eclipse.papyrus.sysML.req.palette.model" label="SysML REQ Palette">
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="org.eclipse.papyrus.sysML.req.palette.node" label="Requirement" description="Nodes listed in Requirement Diagram">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.edge.ContainmentLink" label="Containment Link" description="A Containment Link indicate that a element is owned by an other element" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.uml.diagram.clazz" iconPath="/icons/obj16/ContainmentConnection.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Element_ContainmentEdge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.edge.Copy_Abstraction" label="Copy" description="A Copy relationship is a dependency between a supplier requirement and a client requirement that specifies that the text of the client requirement is a read-only copy of the text of the supplier requirement." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Copy.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Copy_Abstraction_Abstraction_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.edge.DeriveReqt_Abstraction" label="DeriveReqt" description="A DeriveReqt relationship is a dependency between two requirements in which a client requirement can be derived from the supplier requirement." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/DeriveReqt.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.DeriveReqt_Abstraction_Abstraction_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.node.Package" label="Package" description="A package is used to group elements, and provides a namespace for the grouped elements" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Package.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Package_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Package_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.edge.Refine_Abstraction" label="Refine" description="The Refine stereotype specializes UML4SysML Refine and DirectedRelationshipPropertyPath to enable refinements to identify their sources and targets by a multi-level path of accessible properties from context blocks for the sources and targets." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Refine.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Refine_Abstraction_Abstraction_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.node.Requirement" label="Requirement" description="A requirement specifies a capability or condition that must (or should) be satisfied." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Requirement.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Requirement_Class_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Requirement_Class_ComponentNestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Requirement_Class_InterfaceNestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Requirement_Class_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Requirement_Class_ClassNestedClassifierLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.edge.Satisfy_Abstraction" label="Satisfy" description="A Satisfy relationship is a dependency between a requirement and a model element that fulfills the requirement." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Satisfy.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Satisfy_Abstraction_Abstraction_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:StackConfiguration" id="org.eclipse.papyrus.sysML.req.palette.node.stack.TestCase" label="TestCase" description="Behavior for TestCase creation">
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.node.TestCase_Behavior_Activity" label="TestCase Activity" description="A test case is a method for verifying a requirement is satisfied." kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Activity.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.TestCase_Activity_NamedElement_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.node.TestCase_Behavior_FunctionBehavior" label="TestCase FunctionBehavior" description="A test case is a method for verifying a requirement is satisfied." kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/FunctionBehavior.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.TestCase_FunctionBehavior_NamedElement_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.node.TestCase_Behavior_Interaction" label="TestCase Interaction" description="A test case is a method for verifying a requirement is satisfied." kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Interaction.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.TestCase_Interaction_NamedElement_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.node.TestCase_Behavior_OpaqueBehavior" label="TestCase OpaqueBehavior" description="A test case is a method for verifying a requirement is satisfied." kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/OpaqueBehavior.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.TestCase_OpaqueBehavior_NamedElement_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.node.TestCase_Operation" label="TestCase Operation" description="A test case is a method for verifying a requirement is satisfied." kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Operation.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_ClassOperationLabel"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_ComponentOperationLabel"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_DataTypeOperationLabel"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_InterfaceOperationLabel"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_OperationLabel"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.TestCase_Operation_Operation_PrimitiveTypeOperationLabel"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.node.TestCase_Behavior_ProtocolStateMachine" label="TestCase ProtocolStateMachine" description="A test case is a method for verifying a requirement is satisfied." kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/ProtocolStateMachine.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.TestCase_ProtocolStateMachine_NamedElement_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.node.TestCase_Behavior_StateMachine" label="TestCase StateMachine" description="A test case is a method for verifying a requirement is satisfied." kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/StateMachine.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.TestCase_StateMachine_NamedElement_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.edge.Trace_Abstraction" label="Trace" description="The Trace stereotype specializes UML4SysML Trace and DirectedRelationshipPropertyPath to enable traces to identify their sources and targets by a multi-level path of accessible properties from context blocks for the sources and targets." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Trace.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Trace_Abstraction_Abstraction_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.req.palette.edge.Verify_Abstraction" label="Verify" description="A Verify relationship is a dependency between a requirement and a test case or other model element that can determine whether a system fulfills the requirement." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Verify.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Verify_Abstraction_Abstraction_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+  </drawerConfigurations>
+</paletteconfiguration:PaletteConfiguration>
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/resources/style/requirementDiagram.css b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/resources/style/requirementDiagram.css
new file mode 100644
index 0000000..1254101
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/resources/style/requirementDiagram.css
@@ -0,0 +1,262 @@
+/*****************************************************************************
+ * 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *  Benoit Maggi (CEA LIST) benoit.maggi@cea.fr
+ *****************************************************************************/
+/*
+ * SHARED ELEMENTS
+ */
+
+Compartment{
+	visible: false;
+	showTitle: false;
+}
+
+Compartment[kind=structure]{
+	showTitle: false;
+}
+
+Package > Compartment[kind="packagedelements"],
+Model > Compartment[kind="packagedelements"]{
+	visible: true;
+	showTitle: false;
+}
+
+[deprecated=true] {
+	lineColor: orange;
+}
+
+[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=parameters],
+[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=constraints]{
+	visible: true;
+}
+
+[appliedStereotypes~="FlowSpecification"]{
+	elementIcon:false;
+	displayIcon:false;
+}
+
+[appliedStereotypes~="FlowSpecification"] > Compartment[kind=flowproperties]{
+	visible: true;
+}
+
+[appliedStereotypes~="ValueType"] > Compartment[kind=attributes],
+[appliedStereotypes~="ValueType"] > Compartment[kind=operations]{
+	visible: true;
+}
+
+/*
+ * Comment
+ */
+Class[appliedStereotypes~="Comment"]{
+	visible:true;
+}
+
+/*
+ * Stereotype ElementGroup
+ */
+ 
+Class[appliedStereotypes~="ElementGroup"] {
+    visible:true;
+    showTitle:true;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="name"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="criterion"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="size"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="member"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="orderedMember"]{
+	visible:true;
+}
+
+/*
+ * Problem
+ */
+Class[appliedStereotypes~="Problem"]{
+	visible:true;
+}
+
+/*
+ * Rationale
+ */
+Class[appliedStereotypes~="Rational"]{
+	visible:true;
+}
+
+/*
+ * Stakeholder
+ */
+Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+} 
+ 
+[appliedStereotypes~="Stakeholder"] > Compartment[kind=attributes],
+[appliedStereotypes~="Stakeholder"] > Compartment[kind=operations],
+[appliedStereotypes~="Stakeholder"] > Compartment[kind=constraints]{
+	visible: true;
+}
+
+Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] > [property="concernList"]{
+	visible:true;
+}
+Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] > [property="concern"]{
+	visible:true;
+}
+
+/*
+ * Stereotype View
+ */
+Class[appliedStereotypes~="View"] > Compartment[kind=attributes],
+Class[appliedStereotypes~="View"] > Compartment[kind=operations]{
+    visible:true;
+    showTitle:false;
+} 
+
+Class[appliedStereotypes~="View"] > Compartment[kind="nestedclassifiers"]{
+    visible:false;
+    showTitle:false;
+} 
+ 
+Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:true;
+}
+
+Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] > [property="stakeholder"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] > [property="viewpoint"]{
+	visible:true;
+}
+
+/*
+ * Stereotype Viewpoint
+ */
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+} 
+ 
+[appliedStereotypes~="Viewpoint"] > Compartment[kind=attributes],
+[appliedStereotypes~="Viewpoint"] > Compartment[kind=operations]{
+	visible:true;
+}
+
+[appliedStereotypes~="Viewpoint"] > Compartment[kind="internal structure"],
+[appliedStereotypes~="Viewpoint"] > Compartment[kind="symbol"]
+{
+	visible:false;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="stakeholder"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="purpose"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="concernList"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="language"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="method"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="presentation"]{
+	visible:true;
+}
+
+Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="concern"]{
+	visible:true;
+}
+
+/*
+ * SPECIFIC ELEMENTS 
+ */
+
+RequirementDiagram Compartment{
+	visible: false;
+	showTitle: true;
+}
+
+RequirementDiagram Property > Compartment[kind=structure]{
+	visible: true;
+}
+
+/*
+ * Stereotype Requirement
+ */
+Class[appliedStereotypes~="Requirement"] > Compartment[kind=nestedclassifiers]{
+    visible:false;
+    showTitle:false;
+}
+ 
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] {
+    visible:true;
+    showTitle:false;
+}
+
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="derived"]{
+	visible:false;
+}
+
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="derivedFrom"]{
+	visible:false;
+}
+
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="satisfiedBy"]{
+	visible:false;
+}
+
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="refinedBy"]{
+	visible:false;
+}
+
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="tracedTo"]{
+	visible:false;
+}
+
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="verifiedBy"]{
+	visible:false;
+}
+
+Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="master"]{
+	visible:false;
+}
+
+Class[appliedStereotypes~="Requirement"] > Compartment[kind="operations"] {
+    visible:false;
+}
diff --git a/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/src/org/eclipse/papyrus/sysml16/diagram/requirement/Activator.java b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/src/org/eclipse/papyrus/sysml16/diagram/requirement/Activator.java
new file mode 100644
index 0000000..06059a7
--- /dev/null
+++ b/plugins/diagram/org.eclipse.papyrus.sysml16.diagram.requirement/src/org/eclipse/papyrus/sysml16/diagram/requirement/Activator.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.requirement;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * 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.sysml16.diagram.requirement"; //$NON-NLS-1$
+
+	/**
+	 * Returns an image descriptor for the image file at the given plug-in relative path.
+	 *
+	 * @param path
+	 *            The path.
+	 * @return The image descriptor.
+	 */
+	public static ImageDescriptor getImageDescriptor(String path) {
+		return imageDescriptorFromPlugin(PLUGIN_ID, path);
+	}
+
+}
diff --git a/plugins/diagram/pom.xml b/plugins/diagram/pom.xml
new file mode 100644
index 0000000..07256dd
--- /dev/null
+++ b/plugins/diagram/pom.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.plugins</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.diagram</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML Diagram</name>
+	<description>This set of modules are in charge of defining the SysML 1.6 diagrams using the following frameworks: viewpoint, expansion model, palette and css.</description>
+	<modules>
+		<module>org.eclipse.papyrus.sysml16.diagram.common</module>
+		<module>org.eclipse.papyrus.sysml16.diagram.blockdefinition</module>
+		<module>org.eclipse.papyrus.sysml16.diagram.internalblock</module>
+		<module>org.eclipse.papyrus.sysml16.diagram.parametric</module>
+		<module>org.eclipse.papyrus.sysml16.diagram.requirement</module>
+	</modules>
+</project>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.classpath b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.classpath
new file mode 100644
index 0000000..858bac4
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src-gen"/>
+	<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/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.project b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.project
new file mode 100644
index 0000000..8247033
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.requirements.extension.edit</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.core.resources.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.core.runtime.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.jdt.core.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.jdt.ui.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.m2e.core.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.pde.api.tools.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/META-INF/MANIFEST.MF b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..0381e0c
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.requirements.extension.edit;singleton:=true
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.requirements.extension.edit
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.sysml16.requirementsextension.provider.RequirementsExtensionEditPlugin$Implementation
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.sysml16.requirementsextension.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.sysml16.requirements.extension,
+ org.eclipse.emf.edit,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.edit,
+ org.eclipse.uml2.uml.profile.standard,
+ org.eclipse.papyrus.sysml16,
+ org.eclipse.papyrus.sysml16.edit,
+ org.eclipse.uml2.types,
+ org.eclipse.uml2.uml,
+ org.eclipse.uml2.uml.edit,
+ org.eclipse.uml2.common.edit
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/build.properties b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/build.properties
new file mode 100644
index 0000000..8d77138
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/build.properties
@@ -0,0 +1,20 @@
+# Copyright (c) 2019 CEA LIST.
+# 
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+# 
+# SPDX-License-Identifier: EPL-2.0
+# 
+# Contributors:
+#   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/DesignConstraint.gif b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/DesignConstraint.gif
new file mode 100644
index 0000000..681525c
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/DesignConstraint.gif
Binary files differ
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/ExtendedRequirement.gif b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/ExtendedRequirement.gif
new file mode 100644
index 0000000..b46af28
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/ExtendedRequirement.gif
Binary files differ
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/FunctionalRequirement.gif b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/FunctionalRequirement.gif
new file mode 100644
index 0000000..54fc20e
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/FunctionalRequirement.gif
Binary files differ
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/InterfaceRequirement.gif b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/InterfaceRequirement.gif
new file mode 100644
index 0000000..4f6fd44
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/InterfaceRequirement.gif
Binary files differ
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/PerformanceRequirement.gif b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/PerformanceRequirement.gif
new file mode 100644
index 0000000..bf2b458
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/PerformanceRequirement.gif
Binary files differ
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/PhysicalRequirement.gif b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/PhysicalRequirement.gif
new file mode 100644
index 0000000..d207bf2
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/PhysicalRequirement.gif
Binary files differ
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/plugin.properties b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/plugin.properties
new file mode 100644
index 0000000..5e40667
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/plugin.properties
@@ -0,0 +1,108 @@
+# Copyright (c) 2019 CEA LIST.
+# 
+#  All rights reserved. This program and the accompanying materials
+#  are made available under the terms of the Eclipse Public License 2.0
+#  which accompanies this distribution, and is available at
+#  http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+# 
+
+pluginName = Papyrus SysML 1.6 Requirements Extension Profile Edit Support
+providerName = Eclipse Modeling Project
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_ExtendedRequirement_type = Extended Requirement
+_UI_FunctionalRequirement_type = Functional Requirement
+_UI_InterfaceRequirement_type = Interface Requirement
+_UI_PerformanceRequirement_type = Performance Requirement
+_UI_PhysicalRequirement_type = Physical Requirement
+_UI_DesignConstraint_type = Design Constraint
+_UI_Auxiliary_type = Auxiliary
+_UI_Call_type = Call
+_UI_Create_type = Create
+_UI_Derive_type = Derive
+_UI_Destroy_type = Destroy
+_UI_Document_type = Document
+_UI_File_type = File
+_UI_Entity_type = Entity
+_UI_Executable_type = Executable
+_UI_Focus_type = Focus
+_UI_Framework_type = Framework
+_UI_Implement_type = Implement
+_UI_ImplementationClass_type = Implementation Class
+_UI_Instantiate_type = Instantiate
+_UI_Library_type = Library
+_UI_Metaclass_type = Metaclass
+_UI_ModelLibrary_type = Model Library
+_UI_Process_type = Process
+_UI_Realization_type = Realization
+_UI_Refine_type = Refine
+_UI_Responsibility_type = Responsibility
+_UI_Script_type = Script
+_UI_Send_type = Send
+_UI_Service_type = Service
+_UI_Source_type = Source
+_UI_Specification_type = Specification
+_UI_Subsystem_type = Subsystem
+_UI_Trace_type = Trace
+_UI_Type_type = Type
+_UI_Utility_type = Utility
+_UI_BuildComponent_type = Build Component
+_UI_Metamodel_type = Metamodel
+_UI_SystemModel_type = System Model
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_ExtendedRequirement_source_feature = Source
+_UI_ExtendedRequirement_risk_feature = Risk
+_UI_ExtendedRequirement_verifyMethod_feature = Verify Method
+_UI_Auxiliary_base_Class_feature = Base Class
+_UI_Call_base_Usage_feature = Base Usage
+_UI_Create_base_BehavioralFeature_feature = Base Behavioral Feature
+_UI_Create_base_Usage_feature = Base Usage
+_UI_Derive_computation_feature = Computation
+_UI_Derive_base_Abstraction_feature = Base Abstraction
+_UI_Destroy_base_BehavioralFeature_feature = Base Behavioral Feature
+_UI_File_base_Artifact_feature = Base Artifact
+_UI_Entity_base_Component_feature = Base Component
+_UI_Focus_base_Class_feature = Base Class
+_UI_Framework_base_Package_feature = Base Package
+_UI_Implement_base_Component_feature = Base Component
+_UI_ImplementationClass_base_Class_feature = Base Class
+_UI_Instantiate_base_Usage_feature = Base Usage
+_UI_Metaclass_base_Class_feature = Base Class
+_UI_ModelLibrary_base_Package_feature = Base Package
+_UI_Process_base_Component_feature = Base Component
+_UI_Realization_base_Classifier_feature = Base Classifier
+_UI_Refine_base_Abstraction_feature = Base Abstraction
+_UI_Responsibility_base_Usage_feature = Base Usage
+_UI_Send_base_Usage_feature = Base Usage
+_UI_Service_base_Component_feature = Base Component
+_UI_Specification_base_Classifier_feature = Base Classifier
+_UI_Subsystem_base_Component_feature = Base Component
+_UI_Trace_base_Abstraction_feature = Base Abstraction
+_UI_Type_base_Class_feature = Base Class
+_UI_Utility_base_Class_feature = Base Class
+_UI_BuildComponent_base_Component_feature = Base Component
+_UI_Metamodel_base_Model_feature = Base Model
+_UI_SystemModel_base_Model_feature = Base Model
+_UI_Unknown_feature = Unspecified
+
+_UI_RiskKind_High_literal = High
+_UI_RiskKind_Medium_literal = Medium
+_UI_RiskKind_Low_literal = Low
+_UI_VerificationMethodKind_Analysis_literal = Analysis
+_UI_VerificationMethodKind_Demonstration_literal = Demonstration
+_UI_VerificationMethodKind_Inspection_literal = Inspection
+_UI_VerificationMethodKind_Test_literal = Test
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/plugin.xml b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/plugin.xml
new file mode 100644
index 0000000..32b1453
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/plugin.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/
+ 
+ SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <!-- @generated RequirementsExtension.profile -->
+      <factory
+            uri="http://www.eclipse.org/papyrus/SysML/1.6/RequirementsExtension"
+            class="org.eclipse.papyrus.sysml16.requirementsextension.provider.RequirementsExtensionItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+</plugin>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/pom.xml b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/pom.xml
new file mode 100644
index 0000000..47580f0
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/pom.xml
@@ -0,0 +1,14 @@
+<?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.sysml16.requirements.extension.plugins</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.requirements.extension.edit</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.requirement.extension.edit</name>
+	<description>This plug-in has been generated from this file : /org.eclipse.papyrus-sysml/core/org.eclipse.papyrus.sysml16.requirement.extension/resources/profile/RequirementsExtension.profile.genmodel</description>
+</project>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/DesignConstraintItemProvider.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/DesignConstraintItemProvider.java
new file mode 100644
index 0000000..8d4c5fb
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/DesignConstraintItemProvider.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.DesignConstraint;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirementsextension.DesignConstraint} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DesignConstraintItemProvider extends ExtendedRequirementItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DesignConstraintItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns DesignConstraint.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DesignConstraint")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((DesignConstraint)object).getId();
+		return label == null || label.length() == 0 ?
+			getString("_UI_DesignConstraint_type") : //$NON-NLS-1$
+			getString("_UI_DesignConstraint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/ExtendedRequirementItemProvider.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/ExtendedRequirementItemProvider.java
new file mode 100644
index 0000000..a6b6297
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/ExtendedRequirementItemProvider.java
@@ -0,0 +1,206 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.requirements.provider.RequirementItemProvider;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement;
+import org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtendedRequirementItemProvider extends RequirementItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExtendedRequirementItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addSourcePropertyDescriptor(object);
+			addRiskPropertyDescriptor(object);
+			addVerifyMethodPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Source feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSourcePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ExtendedRequirement_source_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExtendedRequirement_source_feature", "_UI_ExtendedRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsExtensionPackage.Literals.EXTENDED_REQUIREMENT__SOURCE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Risk feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRiskPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ExtendedRequirement_risk_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExtendedRequirement_risk_feature", "_UI_ExtendedRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsExtensionPackage.Literals.EXTENDED_REQUIREMENT__RISK,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Verify Method feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addVerifyMethodPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ExtendedRequirement_verifyMethod_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExtendedRequirement_verifyMethod_feature", "_UI_ExtendedRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 RequirementsExtensionPackage.Literals.EXTENDED_REQUIREMENT__VERIFY_METHOD,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ExtendedRequirement.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExtendedRequirement")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ExtendedRequirement)object).getId();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ExtendedRequirement_type") : //$NON-NLS-1$
+			getString("_UI_ExtendedRequirement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(ExtendedRequirement.class)) {
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__SOURCE:
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__RISK:
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__VERIFY_METHOD:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return RequirementsExtensionEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/FunctionalRequirementItemProvider.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/FunctionalRequirementItemProvider.java
new file mode 100644
index 0000000..8241719
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/FunctionalRequirementItemProvider.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.FunctionalRequirement;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirementsextension.FunctionalRequirement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FunctionalRequirementItemProvider extends ExtendedRequirementItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FunctionalRequirementItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns FunctionalRequirement.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FunctionalRequirement")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((FunctionalRequirement)object).getId();
+		return label == null || label.length() == 0 ?
+			getString("_UI_FunctionalRequirement_type") : //$NON-NLS-1$
+			getString("_UI_FunctionalRequirement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/InterfaceRequirementItemProvider.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/InterfaceRequirementItemProvider.java
new file mode 100644
index 0000000..16ddb32
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/InterfaceRequirementItemProvider.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.InterfaceRequirement;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirementsextension.InterfaceRequirement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InterfaceRequirementItemProvider extends ExtendedRequirementItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InterfaceRequirementItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns InterfaceRequirement.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/InterfaceRequirement")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((InterfaceRequirement)object).getId();
+		return label == null || label.length() == 0 ?
+			getString("_UI_InterfaceRequirement_type") : //$NON-NLS-1$
+			getString("_UI_InterfaceRequirement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/PerformanceRequirementItemProvider.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/PerformanceRequirementItemProvider.java
new file mode 100644
index 0000000..41b92d1
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/PerformanceRequirementItemProvider.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.PerformanceRequirement;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirementsextension.PerformanceRequirement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PerformanceRequirementItemProvider extends ExtendedRequirementItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PerformanceRequirementItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns PerformanceRequirement.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/PerformanceRequirement")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((PerformanceRequirement)object).getId();
+		return label == null || label.length() == 0 ?
+			getString("_UI_PerformanceRequirement_type") : //$NON-NLS-1$
+			getString("_UI_PerformanceRequirement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/PhysicalRequirementItemProvider.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/PhysicalRequirementItemProvider.java
new file mode 100644
index 0000000..67899bd
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/PhysicalRequirementItemProvider.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.PhysicalRequirement;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirementsextension.PhysicalRequirement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PhysicalRequirementItemProvider extends ExtendedRequirementItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PhysicalRequirementItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns PhysicalRequirement.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/PhysicalRequirement")); //$NON-NLS-1$
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((PhysicalRequirement)object).getId();
+		return label == null || label.length() == 0 ?
+			getString("_UI_PhysicalRequirement_type") : //$NON-NLS-1$
+			getString("_UI_PhysicalRequirement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/RequirementsExtensionEditPlugin.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/RequirementsExtensionEditPlugin.java
new file mode 100644
index 0000000..4b96dd3
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/RequirementsExtensionEditPlugin.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the RequirementsExtension edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class RequirementsExtensionEditPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final RequirementsExtensionEditPlugin INSTANCE = new RequirementsExtensionEditPlugin();
+
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+	/**
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RequirementsExtensionEditPlugin() {
+		super
+		  (new ResourceLocator [] {
+		     EcoreEditPlugin.INSTANCE,
+		     SysMLEditPlugin.INSTANCE,
+		     UMLEditPlugin.INSTANCE,
+		   });
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getPluginResourceLocator() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin() {
+		return plugin;
+	}
+
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Implementation extends EclipsePlugin {
+		/**
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public Implementation() {
+			super();
+
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/RequirementsExtensionItemProviderAdapterFactory.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/RequirementsExtensionItemProviderAdapterFactory.java
new file mode 100644
index 0000000..9a41293
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/provider/RequirementsExtensionItemProviderAdapterFactory.java
@@ -0,0 +1,312 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.util.RequirementsExtensionAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RequirementsExtensionItemProviderAdapterFactory extends RequirementsExtensionAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RequirementsExtensionItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirementsextension.FunctionalRequirement} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FunctionalRequirementItemProvider functionalRequirementItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirementsextension.FunctionalRequirement}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFunctionalRequirementAdapter() {
+		if (functionalRequirementItemProvider == null) {
+			functionalRequirementItemProvider = new FunctionalRequirementItemProvider(this);
+		}
+
+		return functionalRequirementItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirementsextension.InterfaceRequirement} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InterfaceRequirementItemProvider interfaceRequirementItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirementsextension.InterfaceRequirement}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInterfaceRequirementAdapter() {
+		if (interfaceRequirementItemProvider == null) {
+			interfaceRequirementItemProvider = new InterfaceRequirementItemProvider(this);
+		}
+
+		return interfaceRequirementItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirementsextension.PerformanceRequirement} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PerformanceRequirementItemProvider performanceRequirementItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirementsextension.PerformanceRequirement}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createPerformanceRequirementAdapter() {
+		if (performanceRequirementItemProvider == null) {
+			performanceRequirementItemProvider = new PerformanceRequirementItemProvider(this);
+		}
+
+		return performanceRequirementItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirementsextension.PhysicalRequirement} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PhysicalRequirementItemProvider physicalRequirementItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirementsextension.PhysicalRequirement}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createPhysicalRequirementAdapter() {
+		if (physicalRequirementItemProvider == null) {
+			physicalRequirementItemProvider = new PhysicalRequirementItemProvider(this);
+		}
+
+		return physicalRequirementItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirementsextension.DesignConstraint} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DesignConstraintItemProvider designConstraintItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirementsextension.DesignConstraint}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDesignConstraintAdapter() {
+		if (designConstraintItemProvider == null) {
+			designConstraintItemProvider = new DesignConstraintItemProvider(this);
+		}
+
+		return designConstraintItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		if (functionalRequirementItemProvider != null) functionalRequirementItemProvider.dispose();
+		if (interfaceRequirementItemProvider != null) interfaceRequirementItemProvider.dispose();
+		if (performanceRequirementItemProvider != null) performanceRequirementItemProvider.dispose();
+		if (physicalRequirementItemProvider != null) physicalRequirementItemProvider.dispose();
+		if (designConstraintItemProvider != null) designConstraintItemProvider.dispose();
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.classpath b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.project b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.project
new file mode 100644
index 0000000..4af2fd4
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.requirements.extension.ui</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.core.resources.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.core.runtime.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.m2e.core.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.pde.api.tools.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/META-INF/MANIFEST.MF b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..ab49345
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,41 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.requirements.extension.ui;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.sysml16.requirements.extension.ui.Activator
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.gef;bundle-version="[3.10.0,4.0.0]",
+ org.eclipse.emf.edit.ui;bundle-version="[2.12.0,3.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.papyrus.infra.constraints;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.newchild;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.views.modelexplorer;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.views.properties;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.emf.facet.custom.metamodel;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.papyrus.emf.facet.custom.ui;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.emf.facet.query.java.core;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.uml.diagram.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.wizards;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.filters;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.papyrus.uml.modelexplorer;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.uml.properties;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.templaterepository;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.uml.tools;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.architecture;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.sysml16.requirements.extension.ui
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Bundle-Description: %Bundle-Description
+Bundle-Vendor: %Bundle-Vendor
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.ui
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/about.html b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/build.properties b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/build.properties
new file mode 100644
index 0000000..38e99db
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/build.properties
@@ -0,0 +1,12 @@
+#
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               resources/,\
+               about.html          
+jars.compile.order = .
+source.. = src/
+output.. = target/classes/
+src.includes = about.html
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/plugin.properties b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/plugin.properties
new file mode 100644
index 0000000..9d05ddb
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/plugin.properties
@@ -0,0 +1,17 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Requirements Extension UI
+Bundle-Description=This plug-in contains all graphical interface for the SyML 1.6 Requirements Extension tooling.
+Bundle-Vendor=Eclipse Modeling Project
+
+
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/plugin.xml b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/plugin.xml
new file mode 100644
index 0000000..327291f
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/plugin.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+   
+   <extension
+         point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+      <profile
+            iconpath="platform:/plugin/org.eclipse.papyrus.sysml16.ui/resources/icons/SysMLProfile.gif"
+            name="SysML 1.6 Requirements Extension"
+            path="pathmap://SysML16_REQUIREMENTSEXTENSION/RequirementsExtension.profile.uml">
+      </profile>
+   </extension>
+   <extension point="org.eclipse.papyrus.infra.properties.contexts">
+      <context contextModel="resources/properties/RequirementsExtension.ctx"></context>
+   </extension>
+
+</plugin>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/pom.xml b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/pom.xml
new file mode 100644
index 0000000..8111910
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.requirements.extension.plugins</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.requirements.extension.ui</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.requirements.extension.ui</name>
+	<description>This plugins manages the user interface based on the following framework for Requirements Extension: properties</description>
+</project>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/RequirementsExtension.ctx b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/RequirementsExtension.ctx
new file mode 100644
index 0000000..2661489
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/RequirementsExtension.ctx
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:constraints="http://www.eclipse.org/papyrus/constraints/0.9" xmlns:contexts="http://www.eclipse.org/papyrus/properties/contexts/0.9">
+  <contexts:Context xmi:id="_zKeWgFIFEemVYZ-fKVkVmQ" name="RequirementsExtension">
+    <dependencies href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_69QJkKDJEeSZxfCXzZz3-w"/>
+    <dependencies href="ppe:/context/org.eclipse.papyrus.sysml16.ui/resources/properties/SysML1.6.ctx#_z-Na8M1XEeSGVbFNM4m8gQ"/>
+    <tabs xmi:id="_0HKoQFIFEemVYZ-fKVkVmQ" label="SysML 1.6" id="osysml16" category="org.eclipse.papyrus" priority="5">
+      <sections xmi:id="_0HUZQFIFEemVYZ-fKVkVmQ" name="Single InterfaceRequirement" sectionFile="ui/SingleInterfaceRequirement.xwt">
+        <widget href="ui/SingleInterfaceRequirement.xwt#/"/>
+      </sections>
+      <sections xmi:id="_0HUZQVIFEemVYZ-fKVkVmQ" name="Multiple InterfaceRequirement" sectionFile="ui/MultipleInterfaceRequirement.xwt">
+        <widget href="ui/MultipleInterfaceRequirement.xwt#/"/>
+      </sections>
+      <sections xmi:id="_0HVAUFIFEemVYZ-fKVkVmQ" name="Single ExtendedRequirement" sectionFile="ui/SingleExtendedRequirement.xwt">
+        <widget href="ui/SingleExtendedRequirement.xwt#/"/>
+      </sections>
+      <sections xmi:id="_0HVAUVIFEemVYZ-fKVkVmQ" name="Multiple ExtendedRequirement" sectionFile="ui/MultipleExtendedRequirement.xwt">
+        <widget href="ui/MultipleExtendedRequirement.xwt#/"/>
+      </sections>
+      <sections xmi:id="_0HVnYFIFEemVYZ-fKVkVmQ" name="Single PhysicalRequirement" sectionFile="ui/SinglePhysicalRequirement.xwt">
+        <widget href="ui/SinglePhysicalRequirement.xwt#/"/>
+      </sections>
+      <sections xmi:id="_0HVnYVIFEemVYZ-fKVkVmQ" name="Multiple PhysicalRequirement" sectionFile="ui/MultiplePhysicalRequirement.xwt">
+        <widget href="ui/MultiplePhysicalRequirement.xwt#/"/>
+      </sections>
+      <sections xmi:id="_0HVnYlIFEemVYZ-fKVkVmQ" name="Single DesignConstraint" sectionFile="ui/SingleDesignConstraint.xwt">
+        <widget href="ui/SingleDesignConstraint.xwt#/"/>
+      </sections>
+      <sections xmi:id="_0HWOcFIFEemVYZ-fKVkVmQ" name="Multiple DesignConstraint" sectionFile="ui/MultipleDesignConstraint.xwt">
+        <widget href="ui/MultipleDesignConstraint.xwt#/"/>
+      </sections>
+      <sections xmi:id="_0HWOcVIFEemVYZ-fKVkVmQ" name="Single PerformanceRequirement" sectionFile="ui/SinglePerformanceRequirement.xwt">
+        <widget href="ui/SinglePerformanceRequirement.xwt#/"/>
+      </sections>
+      <sections xmi:id="_0HWOclIFEemVYZ-fKVkVmQ" name="Multiple PerformanceRequirement" sectionFile="ui/MultiplePerformanceRequirement.xwt">
+        <widget href="ui/MultiplePerformanceRequirement.xwt#/"/>
+      </sections>
+      <sections xmi:id="_0HW1gFIFEemVYZ-fKVkVmQ" name="Single FunctionalRequirement" sectionFile="ui/SingleFunctionalRequirement.xwt">
+        <widget href="ui/SingleFunctionalRequirement.xwt#/"/>
+      </sections>
+      <sections xmi:id="_0HXckFIFEemVYZ-fKVkVmQ" name="Multiple FunctionalRequirement" sectionFile="ui/MultipleFunctionalRequirement.xwt">
+        <widget href="ui/MultipleFunctionalRequirement.xwt#/"/>
+      </sections>
+    </tabs>
+    <views xmi:id="_zKeWgVIFEemVYZ-fKVkVmQ" name="Single InterfaceRequirement" sections="_0HUZQFIFEemVYZ-fKVkVmQ" automaticContext="true" datacontexts="_zKeWqFIFEemVYZ-fKVkVmQ">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_zKeWglIFEemVYZ-fKVkVmQ" name="isSingleInterfaceRequirement">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_zKeWg1IFEemVYZ-fKVkVmQ" name="stereotypeName" value="RequirementsExtension::InterfaceRequirement"/>
+      </constraints>
+    </views>
+    <views xmi:id="_zKeWhFIFEemVYZ-fKVkVmQ" elementMultiplicity="-1" name="Multiple InterfaceRequirement" sections="_0HUZQVIFEemVYZ-fKVkVmQ" automaticContext="true" datacontexts="_zKeWqFIFEemVYZ-fKVkVmQ">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_zKeWhVIFEemVYZ-fKVkVmQ" name="isMultipleInterfaceRequirement">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_zKeWhlIFEemVYZ-fKVkVmQ" name="stereotypeName" value="RequirementsExtension::InterfaceRequirement"/>
+      </constraints>
+    </views>
+    <views xmi:id="_zKeWh1IFEemVYZ-fKVkVmQ" name="Single ExtendedRequirement" sections="_0HVAUFIFEemVYZ-fKVkVmQ" automaticContext="true" datacontexts="_zKeWqlIFEemVYZ-fKVkVmQ">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_zKeWiFIFEemVYZ-fKVkVmQ" name="isSingleExtendedRequirement">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_zKeWiVIFEemVYZ-fKVkVmQ" name="stereotypeName" value="RequirementsExtension::ExtendedRequirement"/>
+      </constraints>
+    </views>
+    <views xmi:id="_zKeWilIFEemVYZ-fKVkVmQ" elementMultiplicity="-1" name="Multiple ExtendedRequirement" sections="_0HVAUVIFEemVYZ-fKVkVmQ" automaticContext="true" datacontexts="_zKeWqlIFEemVYZ-fKVkVmQ">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_zKeWi1IFEemVYZ-fKVkVmQ" name="isMultipleExtendedRequirement">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_zKeWjFIFEemVYZ-fKVkVmQ" name="stereotypeName" value="RequirementsExtension::ExtendedRequirement"/>
+      </constraints>
+    </views>
+    <views xmi:id="_zKeWjVIFEemVYZ-fKVkVmQ" name="Single PhysicalRequirement" sections="_0HVnYFIFEemVYZ-fKVkVmQ" automaticContext="true" datacontexts="_zKeWrlIFEemVYZ-fKVkVmQ">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_zKeWjlIFEemVYZ-fKVkVmQ" name="isSinglePhysicalRequirement">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_zKeWj1IFEemVYZ-fKVkVmQ" name="stereotypeName" value="RequirementsExtension::PhysicalRequirement"/>
+      </constraints>
+    </views>
+    <views xmi:id="_zKeWkFIFEemVYZ-fKVkVmQ" elementMultiplicity="-1" name="Multiple PhysicalRequirement" sections="_0HVnYVIFEemVYZ-fKVkVmQ" automaticContext="true" datacontexts="_zKeWrlIFEemVYZ-fKVkVmQ">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_zKeWkVIFEemVYZ-fKVkVmQ" name="isMultiplePhysicalRequirement">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_zKeWklIFEemVYZ-fKVkVmQ" name="stereotypeName" value="RequirementsExtension::PhysicalRequirement"/>
+      </constraints>
+    </views>
+    <views xmi:id="_zKeWk1IFEemVYZ-fKVkVmQ" name="Single DesignConstraint" sections="_0HVnYlIFEemVYZ-fKVkVmQ" automaticContext="true" datacontexts="_zKeWqVIFEemVYZ-fKVkVmQ">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_zKeWlFIFEemVYZ-fKVkVmQ" name="isSingleDesignConstraint">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_zKeWlVIFEemVYZ-fKVkVmQ" name="stereotypeName" value="RequirementsExtension::DesignConstraint"/>
+      </constraints>
+    </views>
+    <views xmi:id="_zKeWllIFEemVYZ-fKVkVmQ" elementMultiplicity="-1" name="Multiple DesignConstraint" sections="_0HWOcFIFEemVYZ-fKVkVmQ" automaticContext="true" datacontexts="_zKeWqVIFEemVYZ-fKVkVmQ">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_zKeWl1IFEemVYZ-fKVkVmQ" name="isMultipleDesignConstraint">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_zKeWmFIFEemVYZ-fKVkVmQ" name="stereotypeName" value="RequirementsExtension::DesignConstraint"/>
+      </constraints>
+    </views>
+    <views xmi:id="_zKeWmVIFEemVYZ-fKVkVmQ" name="Single PerformanceRequirement" sections="_0HWOcVIFEemVYZ-fKVkVmQ" automaticContext="true" datacontexts="_zKeWplIFEemVYZ-fKVkVmQ">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_zKeWmlIFEemVYZ-fKVkVmQ" name="isSinglePerformanceRequirement">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_zKeWm1IFEemVYZ-fKVkVmQ" name="stereotypeName" value="RequirementsExtension::PerformanceRequirement"/>
+      </constraints>
+    </views>
+    <views xmi:id="_zKeWnFIFEemVYZ-fKVkVmQ" elementMultiplicity="-1" name="Multiple PerformanceRequirement" sections="_0HWOclIFEemVYZ-fKVkVmQ" automaticContext="true" datacontexts="_zKeWplIFEemVYZ-fKVkVmQ">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_zKeWnVIFEemVYZ-fKVkVmQ" name="isMultiplePerformanceRequirement">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_zKeWnlIFEemVYZ-fKVkVmQ" name="stereotypeName" value="RequirementsExtension::PerformanceRequirement"/>
+      </constraints>
+    </views>
+    <views xmi:id="_zKeWn1IFEemVYZ-fKVkVmQ" name="Single FunctionalRequirement" sections="_0HW1gFIFEemVYZ-fKVkVmQ" automaticContext="true" datacontexts="_zKeWp1IFEemVYZ-fKVkVmQ">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_zKeWoFIFEemVYZ-fKVkVmQ" name="isSingleFunctionalRequirement">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_zKeWoVIFEemVYZ-fKVkVmQ" name="stereotypeName" value="RequirementsExtension::FunctionalRequirement"/>
+      </constraints>
+    </views>
+    <views xmi:id="_zKeWolIFEemVYZ-fKVkVmQ" elementMultiplicity="-1" name="Multiple FunctionalRequirement" sections="_0HXckFIFEemVYZ-fKVkVmQ" automaticContext="true" datacontexts="_zKeWp1IFEemVYZ-fKVkVmQ">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_zKeWo1IFEemVYZ-fKVkVmQ" name="isMultipleFunctionalRequirement">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_zKeWpFIFEemVYZ-fKVkVmQ" name="stereotypeName" value="RequirementsExtension::FunctionalRequirement"/>
+      </constraints>
+    </views>
+    <dataContexts xmi:id="_zKeWpVIFEemVYZ-fKVkVmQ" name="RequirementsExtension">
+      <elements xmi:id="_zKeWplIFEemVYZ-fKVkVmQ" name="PerformanceRequirement" supertypes="_zKeWqlIFEemVYZ-fKVkVmQ"/>
+      <elements xmi:id="_zKeWp1IFEemVYZ-fKVkVmQ" name="FunctionalRequirement" supertypes="_zKeWqlIFEemVYZ-fKVkVmQ"/>
+      <elements xmi:id="_zKeWqFIFEemVYZ-fKVkVmQ" name="InterfaceRequirement" supertypes="_zKeWqlIFEemVYZ-fKVkVmQ"/>
+      <elements xmi:id="_zKeWqVIFEemVYZ-fKVkVmQ" name="DesignConstraint" supertypes="_zKeWqlIFEemVYZ-fKVkVmQ"/>
+      <elements xmi:id="_zKeWqlIFEemVYZ-fKVkVmQ" name="ExtendedRequirement">
+        <properties xmi:id="_zKeWq1IFEemVYZ-fKVkVmQ" name="source"/>
+        <properties xmi:id="_zKeWrFIFEemVYZ-fKVkVmQ" name="risk" type="Enumeration"/>
+        <properties xmi:id="_zKeWrVIFEemVYZ-fKVkVmQ" name="verifyMethod" type="Enumeration"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.sysml16.ui/resources/properties/SysML1.6.ctx#_z-ODvs1XEeSGVbFNM4m8gQ"/>
+      </elements>
+      <elements xmi:id="_zKeWrlIFEemVYZ-fKVkVmQ" name="PhysicalRequirement" supertypes="_zKeWqlIFEemVYZ-fKVkVmQ"/>
+      <modelElementFactory href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@modelElementFactories.2"/>
+    </dataContexts>
+  </contexts:Context>
+</xmi:XMI>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultipleDesignConstraint.xwt b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultipleDesignConstraint.xwt
new file mode 100644
index 0000000..e473433
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultipleDesignConstraint.xwt
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:risk"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:verifyMethod"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultipleExtendedRequirement.xwt b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultipleExtendedRequirement.xwt
new file mode 100644
index 0000000..e473433
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultipleExtendedRequirement.xwt
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:risk"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:verifyMethod"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultipleFunctionalRequirement.xwt b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultipleFunctionalRequirement.xwt
new file mode 100644
index 0000000..e473433
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultipleFunctionalRequirement.xwt
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:risk"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:verifyMethod"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultipleInterfaceRequirement.xwt b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultipleInterfaceRequirement.xwt
new file mode 100644
index 0000000..e473433
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultipleInterfaceRequirement.xwt
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:risk"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:verifyMethod"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultiplePerformanceRequirement.xwt b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultiplePerformanceRequirement.xwt
new file mode 100644
index 0000000..e473433
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultiplePerformanceRequirement.xwt
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:risk"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:verifyMethod"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultiplePhysicalRequirement.xwt b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultiplePhysicalRequirement.xwt
new file mode 100644
index 0000000..e473433
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/MultiplePhysicalRequirement.xwt
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:risk"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:verifyMethod"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SingleDesignConstraint.xwt b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SingleDesignConstraint.xwt
new file mode 100644
index 0000000..782cdc7
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SingleDesignConstraint.xwt
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:id"></ppe:StringEditor>
+		<ppe:StringEditor input="{Binding}"
+			property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:source"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:risk"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:verifyMethod"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringMultiline input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:text"></ppe:StringMultiline>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:master"></ppe:MultiReference>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:derived"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:derivedFrom"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:refinedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:satisfiedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:tracedTo"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:verifiedBy"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SingleExtendedRequirement.xwt b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SingleExtendedRequirement.xwt
new file mode 100644
index 0000000..b125359
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SingleExtendedRequirement.xwt
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:id"></ppe:StringEditor>
+		<ppe:StringEditor input="{Binding}"
+			property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:source"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:risk"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:verifyMethod"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringMultiline input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:text"></ppe:StringMultiline>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:master"></ppe:MultiReference>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:derived"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:derivedFrom"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:refinedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:satisfiedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:tracedTo"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:verifiedBy"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SingleFunctionalRequirement.xwt b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SingleFunctionalRequirement.xwt
new file mode 100644
index 0000000..782cdc7
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SingleFunctionalRequirement.xwt
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:id"></ppe:StringEditor>
+		<ppe:StringEditor input="{Binding}"
+			property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:source"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:risk"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:verifyMethod"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringMultiline input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:text"></ppe:StringMultiline>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:master"></ppe:MultiReference>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:derived"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:derivedFrom"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:refinedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:satisfiedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:tracedTo"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:verifiedBy"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SingleInterfaceRequirement.xwt b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SingleInterfaceRequirement.xwt
new file mode 100644
index 0000000..782cdc7
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SingleInterfaceRequirement.xwt
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:id"></ppe:StringEditor>
+		<ppe:StringEditor input="{Binding}"
+			property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:source"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:risk"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:verifyMethod"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringMultiline input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:text"></ppe:StringMultiline>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:master"></ppe:MultiReference>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:derived"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:derivedFrom"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:refinedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:satisfiedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:tracedTo"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:verifiedBy"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SinglePerformanceRequirement.xwt b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SinglePerformanceRequirement.xwt
new file mode 100644
index 0000000..b125359
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SinglePerformanceRequirement.xwt
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:id"></ppe:StringEditor>
+		<ppe:StringEditor input="{Binding}"
+			property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:source"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:risk"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:verifyMethod"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringMultiline input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:text"></ppe:StringMultiline>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:master"></ppe:MultiReference>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:derived"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:derivedFrom"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:refinedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:satisfiedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:tracedTo"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:verifiedBy"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SinglePhysicalRequirement.xwt b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SinglePhysicalRequirement.xwt
new file mode 100644
index 0000000..782cdc7
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/resources/properties/ui/SinglePhysicalRequirement.xwt
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:id"></ppe:StringEditor>
+		<ppe:StringEditor input="{Binding}"
+			property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:source"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:risk"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="RequirementsExtension:ExtendedRequirement:verifyMethod"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringMultiline input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:text"></ppe:StringMultiline>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:master"></ppe:MultiReference>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:derived"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:derivedFrom"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:refinedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:satisfiedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:tracedTo"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:verifiedBy"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/src/org/eclipse/papyrus/sysml16/requirements/extension/ui/Activator.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/src/org/eclipse/papyrus/sysml16/requirements/extension/ui/Activator.java
new file mode 100644
index 0000000..5cdf7e2
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.ui/src/org/eclipse/papyrus/sysml16/requirements/extension/ui/Activator.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirements.extension.ui;
+
+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.sysml16.requirements.extension.ui"; //$NON-NLS-1$
+
+	/**
+	 * The shared instance.
+	 */
+	private static Activator plugin;
+
+	/** Logging helper. */
+	private static LogHelper logHelper;
+
+	/**
+	 * The constructor.
+	 */
+	public Activator() {
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(final BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+		logHelper = new LogHelper(plugin);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @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;
+	}
+
+	/**
+	 * Returns the log helper.
+	 *
+	 * @return the log helper.
+	 */
+	public static LogHelper getLogHelper() {
+		return logHelper;
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.classpath b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.project b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.project
new file mode 100644
index 0000000..64e9ccc
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.requirements.extension.validation</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.core.resources.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.core.runtime.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.jdt.core.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.jdt.ui.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.m2e.core.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.pde.api.tools.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/META-INF/MANIFEST.MF b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..66a6273
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/META-INF/MANIFEST.MF
@@ -0,0 +1,32 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.requirements.extension.validation;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.papyrus.sysml16.requirements.extension.validation.Activator
+Require-Bundle: org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.13.1,4.0.0)",
+ org.eclipse.emf.validation.ocl;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.ocl.pivot;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.ocl.pivot.uml;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.ocl.uml;bundle-version="[5.2.0,6.0.0)",
+ org.eclipse.ocl.ecore;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.uml2.uml.validation;bundle-version="[5.0.0,6.0.0)",
+ org.eclipse.papyrus.infra.services.validation;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.tools;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.oclconstraintevaluation;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.uml.xtext.integration.validation;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.uml.textedit.constraintwithessentialocl.xtext;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.validation;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.requirements.extension;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Export-Package: org.eclipse.papyrus.sysml16.requirements.extension.validation,
+ org.eclipse.papyrus.sysml16.requirements.extension.validation.internal.utils,
+ org.eclipse.papyrus.sysml16.requirements.extension.validation.rules
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.validation
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/about.html b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/build.properties b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/build.properties
new file mode 100644
index 0000000..93c1a3a
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               plugin.properties,\
+               about.html
+src.includes = about.html
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/plugin.properties b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/plugin.properties
new file mode 100644
index 0000000..80fdfe4
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/plugin.properties
@@ -0,0 +1,22 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Requirements Extension Validation
+Bundle-Description=This plug-in contains the rules for SyML 1.6 Requirements Extension model validation
+Bundle-Vendor=Eclipse Modeling Project
+
+#Requirements Extension
+inv_FunctionalRequirementConstraint=Functional Requirement must be satisfied by an operation or behavior
+inv_InterfaceRequirementConstraint=Interface Requirement must be satisfied by a port, conector, item flow, and/or constraint property
+inv_PerformanceRequirementConstraint=Performance Requirement must be satisfied by a value property
+inv_PhysicalRequirementConstraint=Physical Requirement must be satisfied by a structural element
+inv_DesignConstraintConstraint=Design Constraint must be satisfied by a block or part
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/plugin.xml b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/plugin.xml
new file mode 100644
index 0000000..97c084d
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/plugin.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+
+
+  <extension name="org.eclipse.papyrus.sysml16.validation.constraintProviders" point="org.eclipse.emf.validation.constraintProviders">
+     <category id="org.eclipse.papyrus.sysml16.requirements.extension.validation.category" mandatory="false" name="SysML 1.6 Requirements Extension constraints"/>          
+      <constraintProvider cache="false" mode="Batch">
+         <package namespaceUri="http://www.eclipse.org/papyrus/SysML/1.6/RequirementsExtension"/>
+         
+         <constraints categories="org.eclipse.papyrus.sysml16.requirements.extension.validation.category">
+            
+            <constraint
+                  class="org.eclipse.papyrus.sysml16.requirements.extension.validation.rules.FunctionalRequirementConstraint"
+                  id="constraint.functionalrequirement"
+                  isEnabledByDefault="true"
+                  lang="Java"
+                  mode="Batch"
+                  name="functionalrequirement"
+                  severity="ERROR"
+                  statusCode="3">
+               <message>%inv_FunctionalRequirementConstraint</message>
+               <description>%inv_FunctionalRequirementConstraint</description>
+            </constraint>
+            <constraint
+                  class="org.eclipse.papyrus.sysml16.requirements.extension.validation.rules.InterfaceRequirementConstraint"
+                  id="constraint.interfacerequirement"
+                  isEnabledByDefault="true"
+                  lang="Java"
+                  mode="Batch"
+                  name="interfacerequirement"
+                  severity="ERROR"
+                  statusCode="3">
+               <message>%inv_InterfaceRequirementConstraint</message>
+               <description>%inv_InterfaceRequirementConstraint</description>
+            </constraint>
+            <constraint
+                  class="org.eclipse.papyrus.sysml16.requirements.extension.validation.rules.PerformanceRequirementConstraint"
+                  id="constraint.performancerequirement"
+                  isEnabledByDefault="true"
+                  lang="Java"
+                  mode="Batch"
+                  name="performancerequirement"
+                  severity="ERROR"
+                  statusCode="3">
+               <message>%inv_PerformanceRequirementConstraint</message>
+               <description>%inv_PerformanceRequirementConstraint</description>
+            </constraint>
+            <constraint
+                  class="org.eclipse.papyrus.sysml16.requirements.extension.validation.rules.PhysicalRequirementConstraint"
+                  id="constraint.physicalrequirement"
+                  isEnabledByDefault="true"
+                  lang="Java"
+                  mode="Batch"
+                  name="physicalrequirement"
+                  severity="ERROR"
+                  statusCode="3">
+               <message>%inv_PhysicalRequirementConstraint</message>
+               <description>%inv_PhysicalRequirementConstraint</description>
+            </constraint>
+            <constraint
+                  class="org.eclipse.papyrus.sysml16.requirements.extension.validation.rules.DesignConstraintConstraint"
+                  id="constraint.designconstraint"
+                  isEnabledByDefault="true"
+                  lang="Java"
+                  mode="Batch"
+                  name="designconstraint"
+                  severity="ERROR"
+                  statusCode="3">
+               <message>%inv_DesignConstraintConstraint</message>
+               <description>%inv_DesignConstraintConstraint</description>
+            </constraint>            
+         </constraints>
+      </constraintProvider>
+   </extension>
+</plugin>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/pom.xml b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/pom.xml
new file mode 100644
index 0000000..311c352
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/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.sysml16.requirements.extension.plugins</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.requirements.extension.validation</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.requirements.extension.validation</name>
+	<description>This plug-in contains the tooling to validate ocl rules on SysML 1.6 Requirements Extension models.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/Activator.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/Activator.java
new file mode 100644
index 0000000..8846d37
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/Activator.java
@@ -0,0 +1,107 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirements.extension.validation;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+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.sysml16.requirements.extension.validation"; //$NON-NLS-1$
+
+	/**
+	 * The shared instance.
+	 */
+	private static Activator plugin;
+
+	/**
+	 * The constructor.
+	 */
+	public Activator() {
+		// Do nothing
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(final BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void stop(final BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance.
+	 *
+	 * @return the shared instance.
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * Log the status.
+	 *
+	 * @param status
+	 *            The status.
+	 */
+	public static void log(final IStatus status) {
+		Activator.getDefault().getLog().log(status);
+	}
+
+	/**
+	 * Log the message.
+	 *
+	 * @param severity
+	 *            The severity.
+	 * @param message
+	 *            The message to log.
+	 */
+	public static void log(final int severity, final String message) {
+		log(new Status(severity, PLUGIN_ID, message));
+	}
+
+	/**
+	 * Log the exception.
+	 *
+	 * @param throwable
+	 *            The error to log.
+	 */
+	public static void log(final Throwable throwable) {
+		log(new Status(IStatus.ERROR, PLUGIN_ID, "An exception occured", throwable)); //$NON-NLS-1$
+	}
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/internal/utils/DiagnosticUtil.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/internal/utils/DiagnosticUtil.java
new file mode 100644
index 0000000..d5a86e6
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/internal/utils/DiagnosticUtil.java
@@ -0,0 +1,75 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirements.extension.validation.internal.utils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * This is an utility class for managing Diagnostic
+ */
+// TODO : this functionalities should be provided by Papyrus core or other upper framework
+public final class DiagnosticUtil {
+
+	private DiagnosticUtil() {
+	}
+
+	/**
+	 * Find diagnostic by source (Should be unique per element if the source is correctly defined)
+	 * 
+	 * @param diagnostic
+	 * @param source
+	 * @return
+	 */
+	public static List<Diagnostic> findDiagnosticBySource(Diagnostic diagnostic, String source) {
+		List<Diagnostic> foundDiagnostic = new ArrayList<>();
+		List<Diagnostic> children = diagnostic.getChildren();
+		if (source.equals(diagnostic.getSource())) {
+			foundDiagnostic.add(diagnostic);
+		}
+		if (children != null && !children.isEmpty()) {
+			for (Diagnostic diagnosticChild : children) {
+				foundDiagnostic.addAll(findDiagnosticBySource(diagnosticChild, source));
+			}
+		}
+		return foundDiagnostic;
+	}
+
+	/**
+	 * Get diagnostics by element
+	 * 
+	 * @param diagnostics
+	 * @param element
+	 * @return
+	 */
+	public static List<Diagnostic> filterDiagnosticsByElement(List<Diagnostic> diagnostics, Element element) {
+		List<Diagnostic> filteredDiagnostics = new ArrayList<>();
+		for (Diagnostic diagnostic : diagnostics) {
+			List<?> datas = diagnostic.getData();
+			if (datas != null && !datas.isEmpty()) {
+				// According to Diagnostic#getData documentation : The first element is typically the object that is the primary source of the problem;
+				if (element.equals(datas.get(0))) {
+					filteredDiagnostics.add(diagnostic);
+				}
+			}
+		}
+		return filteredDiagnostics;
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/DesignConstraintConstraint.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/DesignConstraintConstraint.java
new file mode 100644
index 0000000..e5aa594
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/DesignConstraintConstraint.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirements.extension.validation.rules;
+
+import java.util.Optional;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * Constraint for the design constraint.
+ */
+public class DesignConstraintConstraint extends AbstractModelConstraint {
+
+	/**
+	 * This must be satisfied by a block or part.
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(final IValidationContext context) {
+		final Requirement requirement = (Requirement) context.getTarget();
+		final EList<NamedElement> satisfiedByElements = requirement.getSatisfiedBy();
+
+		final Optional<NamedElement> foundCorrectSatisfy = satisfiedByElements.stream().filter(satisfiedBy -> {
+			if (satisfiedBy instanceof Property) {
+				return ((Property) satisfiedBy).getType() instanceof Block;
+			}
+			return satisfiedBy instanceof Block;
+		}).findAny();
+		return foundCorrectSatisfy.isPresent() ? context.createSuccessStatus() : context.createFailureStatus(requirement);
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/FunctionalRequirementConstraint.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/FunctionalRequirementConstraint.java
new file mode 100644
index 0000000..bfb155d
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/FunctionalRequirementConstraint.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirements.extension.validation.rules;
+
+import java.util.Optional;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+
+/**
+ * Constraint for the functional requirements.
+ */
+public class FunctionalRequirementConstraint extends AbstractModelConstraint {
+
+	/**
+	 * This must be satisfied by an operation or behavior.
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(final IValidationContext context) {
+		final Requirement requirement = (Requirement) context.getTarget();
+		final EList<NamedElement> satisfiedByElements = requirement.getSatisfiedBy();
+
+		final Optional<NamedElement> foundCorrectSatisfy = satisfiedByElements.stream().filter(satisfiedBy -> satisfiedBy instanceof Operation || satisfiedBy instanceof Behavior).findAny();
+		return foundCorrectSatisfy.isPresent() ? context.createSuccessStatus() : context.createFailureStatus(requirement);
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/InterfaceRequirementConstraint.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/InterfaceRequirementConstraint.java
new file mode 100644
index 0000000..0c97905
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/InterfaceRequirementConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirements.extension.validation.rules;
+
+import java.util.Optional;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+import org.eclipse.papyrus.sysml16.portsandflows.ItemFlow;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * Constraint for the interface requirements.
+ */
+public class InterfaceRequirementConstraint extends AbstractModelConstraint {
+
+	/**
+	 * This must be satisfied by an a port, connector, item flow or constraint property.
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(final IValidationContext context) {
+		final Requirement requirement = (Requirement) context.getTarget();
+		final EList<NamedElement> satisfiedByElements = requirement.getSatisfiedBy();
+
+		final Optional<NamedElement> foundCorrectSatisfy = satisfiedByElements.stream().filter(satisfiedBy -> {
+			if (satisfiedBy instanceof Property) {
+				return ((Property) satisfiedBy).getType() instanceof ConstraintBlock;
+			}
+			return satisfiedBy instanceof Port || satisfiedBy instanceof Connector || satisfiedBy instanceof ItemFlow;
+		}).findAny();
+		return foundCorrectSatisfy.isPresent() ? context.createSuccessStatus() : context.createFailureStatus(requirement);
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/PerformanceRequirementConstraint.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/PerformanceRequirementConstraint.java
new file mode 100644
index 0000000..e15aae2
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/PerformanceRequirementConstraint.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirements.extension.validation.rules;
+
+import java.util.Optional;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * Constraint for the performance requirements.
+ */
+public class PerformanceRequirementConstraint extends AbstractModelConstraint {
+
+	/**
+	 * This must be satisfied by a value property.
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(final IValidationContext context) {
+		final Requirement requirement = (Requirement) context.getTarget();
+		final EList<NamedElement> satisfiedByElements = requirement.getSatisfiedBy();
+
+		final Optional<NamedElement> foundCorrectSatisfy = satisfiedByElements.stream().filter(satisfiedBy -> {
+			if (satisfiedBy instanceof Property) {
+				return ((Property) satisfiedBy).getType() instanceof ValueType;
+			}
+			return false;
+		}).findAny();
+		return foundCorrectSatisfy.isPresent() ? context.createSuccessStatus() : context.createFailureStatus(requirement);
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/PhysicalRequirementConstraint.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/PhysicalRequirementConstraint.java
new file mode 100644
index 0000000..e724877
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension.validation/src/org/eclipse/papyrus/sysml16/requirements/extension/validation/rules/PhysicalRequirementConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirements.extension.validation.rules;
+
+import java.util.Optional;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+
+/**
+ * Constraint for the physical requirements.
+ */
+public class PhysicalRequirementConstraint extends AbstractModelConstraint {
+
+	/**
+	 * This must be satisfied by a structural element.
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+	 */
+	@Override
+	public IStatus validate(final IValidationContext context) {
+		final Requirement requirement = (Requirement) context.getTarget();
+		final EList<NamedElement> satisfiedByElements = requirement.getSatisfiedBy();
+
+		final Optional<NamedElement> foundCorrectSatisfy = satisfiedByElements.stream().filter(
+				satisfiedBy -> satisfiedBy instanceof org.eclipse.uml2.uml.Class || satisfiedBy instanceof Interface || satisfiedBy instanceof Component || satisfiedBy instanceof Node
+						|| satisfiedBy instanceof InformationItem || satisfiedBy instanceof Actor || satisfiedBy instanceof Collaboration)
+				.findAny();
+		return foundCorrectSatisfy.isPresent() ? context.createSuccessStatus() : context.createFailureStatus(requirement);
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.classpath b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.classpath
new file mode 100644
index 0000000..5814bdf
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src-gen/"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.project b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.project
new file mode 100644
index 0000000..761e9f7
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.requirements.extension</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.core.resources.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.core.runtime.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.jdt.core.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.jdt.ui.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.m2e.core.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.pde.api.tools.prefs b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/META-INF/MANIFEST.MF b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..fe4d8f6
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.requirements.extension;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.sysml16.requirements.extension.Activator
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.11.2,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml.profile.standard;bundle-version="[1.0.100,2.0.0)";visibility:=reexport,
+ org.eclipse.uml2.types;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml.resources;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0";visibility:=reexport,
+ org.eclipse.papyrus.uml.extensionpoints;bundle-version="[1.3.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Bundle-Description: %Bundle-Description
+Bundle-Vendor: %Bundle-Vendor
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.requirements.extension
+Export-Package: org.eclipse.papyrus.sysml16.requirements.extension,
+ org.eclipse.papyrus.sysml16.requirementsextension,
+ org.eclipse.papyrus.sysml16.requirementsextension.internal.impl,
+ org.eclipse.papyrus.sysml16.requirementsextension.util
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/about.html b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/build.properties b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/build.properties
new file mode 100644
index 0000000..188f8ff
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/build.properties
@@ -0,0 +1,23 @@
+# Copyright (c) 2019 CEA LIST.
+# 
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+# 
+# SPDX-License-Identifier: EPL-2.0
+# 
+# Contributors:
+#   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               resources/,\
+               about.html
+jars.compile.order = .
+source.. = src-gen/,\
+           src/
+output.. = target/classes/
+src.includes = about.html
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/plugin.properties b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/plugin.properties
new file mode 100644
index 0000000..2f21f9d
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/plugin.properties
@@ -0,0 +1,15 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Requirements Extension Profile
+Bundle-Description=This plug-in contains the SyML 1.6 Requirements Extension profile.
+Bundle-Vendor=Eclipse Modeling Project
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/plugin.xml b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/plugin.xml
new file mode 100644
index 0000000..191c236
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/plugin.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+   
+   <extension
+         point="org.eclipse.emf.ecore.factory_override">
+      <factory
+            class="org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionFactoryCustomImpl"
+            uri="http://www.eclipse.org/papyrus/SysML/1.6/RequirementsExtension">
+      </factory>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated RequirementsExtension.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/SysML/1.6/RequirementsExtension"
+            class="org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage"
+            genModel="resources/profile/RequirementsExtension.profile.genmodel"/>
+   </extension>
+   <extension
+         point="org.eclipse.emf.ecore.uri_mapping">
+      <mapping
+            source="pathmap://SysML16_REQUIREMENTSEXTENSION/"
+            target="platform:/plugin/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/">
+      </mapping>
+   </extension>
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://SysML16_REQUIREMENTSEXTENSION/RequirementsExtension.profile.uml#RequirementsExtensionProfile"
+            uri="http://www.eclipse.org/papyrus/SysML/1.6/RequirementsExtension">
+      </profile>
+   </extension>
+
+</plugin>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/pom.xml b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/pom.xml
new file mode 100644
index 0000000..6e40af3
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/pom.xml
@@ -0,0 +1,14 @@
+<?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.sysml16.requirements.extension.plugins</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.requirements.extension</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.requirements.extension</name>
+	<description>This plug-in contains the OMG SyML 1.6 Requirements extension profile.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/icons/SysMLProfile.gif b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/icons/SysMLProfile.gif
new file mode 100644
index 0000000..d8c3834
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/icons/SysMLProfile.gif
Binary files differ
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.di b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.di
new file mode 100644
index 0000000..247ed5e
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.uml.architecture.Profile"/>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.ecore b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.ecore
new file mode 100644
index 0000000..1aaedaa
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.ecore
@@ -0,0 +1,66 @@
+<?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="requirementsextension" nsURI="http://www.eclipse.org/papyrus/SysML/1.6/RequirementsExtension"
+    nsPrefix="RequirementsExtension">
+  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+    <details key="documentation" value="This non-normative extension includes stereotypes for a simplified requirements taxonomy that is intended to be further adapted as required to support the particular needs of the application or organization. The requirements categories in this example include functional, interface, performance, physical requirements, and design constraints&#xD;&#xA;&#xD;&#xA;Some general guidance for applying a requirements profile is as follows:&#xD;&#xA;- The categories should be adapted for the specific application or organization and reflected in the table. This includes agreement on the categories and their associated descriptions, stereotype properties, and constraints. Additional categories can be added by further subclassing the categories in the table below, or adding additional categories at the pier level of these categories.&#xD;&#xA;- The default requirement category should be the generic «requirement».&#xD;&#xA;- Apply the more specialized requirement stereotype (functional, interface, performance, physical, design constraint) as applicable and ensure consistency with the description, stereotype properties, and constraints.&#xD;&#xA;- A specific text requirement can include the application of more than one requirement category, in which case, each stereotype should be shown in guillemets."/>
+  </eAnnotations>
+  <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <details key="originalName" value="RequirementsExtension"/>
+  </eAnnotations>
+  <eClassifiers xsi:type="ecore:EEnum" name="RiskKind">
+    <eLiterals name="High">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="High indicates an unacceptable level of risk"/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="Medium" value="1">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Medium indicates an acceptable level of risk"/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="Low" value="2">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Low indicates a minimal level of risk or no risk"/>
+      </eAnnotations>
+    </eLiterals>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="VerificationMethodKind">
+    <eLiterals name="Analysis">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Analysis indicates that verification will be performed by technical evaluation using mathematical representations, charts, graphs, circuit diagrams, data reduction, or representative data. Analysis also includes the verification of requirements under conditions, which are simulated or modeled; where the results are derived from the analysis of the results produced by the model."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="Demonstration" value="1">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Demonstration indicates that verification will be performed by operation, movement or adjustment of the item under specific conditions to perform the design functions without recording of quantitative data.. Demonstration is typically considered the least restrictive of the verification types."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="Inspection" value="2">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Inspection indicates that verification will be performed by examination of the item, reviewing descriptive documentation, and comparing the appropriate characteristics with a predetermined standard to determine conformance to requirements without the use of special laboratory equipment or procedures."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="Test" value="3">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Test indicates that verification will be performed through systematic exercising of the applicable item under appropriate conditions with instrumentation to measure required parameters and the collection, analysis, and evaluation of quantitative data to show that measured parameters equal or exceed specified requirements."/>
+      </eAnnotations>
+    </eLiterals>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ExtendedRequirement" abstract="true"
+      eSuperTypes="../../../org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.ecore#//requirements/Requirement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A mix-in stereotype that contains generally useful attributes for requirements."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="source" ordered="false"
+        eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="risk" ordered="false" eType="#//RiskKind"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="verifyMethod" ordered="false"
+        eType="#//VerificationMethodKind"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="FunctionalRequirement" eSuperTypes="#//ExtendedRequirement"/>
+  <eClassifiers xsi:type="ecore:EClass" name="InterfaceRequirement" eSuperTypes="#//ExtendedRequirement"/>
+  <eClassifiers xsi:type="ecore:EClass" name="PerformanceRequirement" eSuperTypes="#//ExtendedRequirement"/>
+  <eClassifiers xsi:type="ecore:EClass" name="PhysicalRequirement" eSuperTypes="#//ExtendedRequirement"/>
+  <eClassifiers xsi:type="ecore:EClass" name="DesignConstraint" eSuperTypes="#//ExtendedRequirement"/>
+</ecore:EPackage>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.genmodel b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.genmodel
new file mode 100644
index 0000000..6e5032c
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.genmodel
@@ -0,0 +1,62 @@
+<?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"
+    copyrightText="Copyright (c) 2019 CEA LIST.&#xA;&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License 2.0&#xA;which accompanies this distribution, and is available at&#xA;https://www.eclipse.org/legal/epl-2.0/&#xA;&#xA;SPDX-License-Identifier: EPL-2.0&#xA;&#xA;Contributors:&#xA;  Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation"
+    modelDirectory="/org.eclipse.papyrus.sysml16.requirements.extension/src-gen" editDirectory="/org.eclipse.papyrus.sysml16.requirements.extension.edit/src-gen"
+    editorDirectory="/org.eclipse.papyrus.sysml16.requirements.extension.editor/src-gen"
+    modelPluginID="org.eclipse.papyrus.sysml16.requirements.extension" modelName="RequirementsExtension"
+    nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+    testsDirectory="/org.eclipse.papyrus.sysml16.requirements.extension.tests/src-gen"
+    importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="7.0" copyrightFields="false"
+    usedGenPackages="../../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../../org.eclipse.uml2.uml.profile.standard/model/Standard.genmodel#//standard ../../../org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.genmodel#//sysml ../../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+    operationReflection="true" importOrganizing="true">
+  <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
+    <details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
+    <details key="DUPLICATE_FEATURES" value="DISCARD"/>
+    <details key="ANNOTATION_DETAILS" value="PROCESS"/>
+    <details key="PROPERTY_DEFAULT_EXPRESSIONS" value="IGNORE"/>
+    <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
+    <details key="COMMENTS" value="PROCESS"/>
+    <details key="DERIVED_FEATURES" value="PROCESS"/>
+    <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+    <details key="DUPLICATE_OPERATION_INHERITANCE" value="DISCARD"/>
+    <details key="REDEFINING_OPERATIONS" value="REPORT"/>
+    <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
+    <details key="UNION_PROPERTIES" value="REPORT"/>
+    <details key="DUPLICATE_OPERATIONS" value="DISCARD"/>
+    <details key="NON_API_INVARIANTS" value="IGNORE"/>
+    <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
+    <details key="SUBSETTING_PROPERTIES" value="REPORT"/>
+    <details key="OPERATION_BODIES" value="IGNORE"/>
+    <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
+    <details key="UNTYPED_PROPERTIES" value="REPORT"/>
+    <details key="REDEFINING_PROPERTIES" value="REPORT"/>
+    <details key="INVOCATION_DELEGATES" value="IGNORE"/>
+    <details key="VALIDATION_DELEGATES" value="IGNORE"/>
+  </genAnnotations>
+  <foreignModel>RequirementsExtension.profile.uml</foreignModel>
+  <genPackages xsi:type="genmodel:GenPackage" prefix="RequirementsExtension" basePackage="org.eclipse.papyrus.sysml16"
+      disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="RequirementsExtension.profile.ecore#/">
+    <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="RequirementsExtension.profile.ecore#//RiskKind">
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="RequirementsExtension.profile.ecore#//RiskKind/High"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="RequirementsExtension.profile.ecore#//RiskKind/Medium"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="RequirementsExtension.profile.ecore#//RiskKind/Low"/>
+    </genEnums>
+    <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="RequirementsExtension.profile.ecore#//VerificationMethodKind">
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="RequirementsExtension.profile.ecore#//VerificationMethodKind/Analysis"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="RequirementsExtension.profile.ecore#//VerificationMethodKind/Demonstration"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="RequirementsExtension.profile.ecore#//VerificationMethodKind/Inspection"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="RequirementsExtension.profile.ecore#//VerificationMethodKind/Test"/>
+    </genEnums>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="RequirementsExtension.profile.ecore#//ExtendedRequirement">
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute RequirementsExtension.profile.ecore#//ExtendedRequirement/source"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute RequirementsExtension.profile.ecore#//ExtendedRequirement/risk"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute RequirementsExtension.profile.ecore#//ExtendedRequirement/verifyMethod"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="RequirementsExtension.profile.ecore#//FunctionalRequirement"/>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="RequirementsExtension.profile.ecore#//InterfaceRequirement"/>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="RequirementsExtension.profile.ecore#//PerformanceRequirement"/>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="RequirementsExtension.profile.ecore#//PhysicalRequirement"/>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="RequirementsExtension.profile.ecore#//DesignConstraint"/>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.notation b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.notation
new file mode 100644
index 0000000..d283637
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.notation
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_VJ8icFCiEem1i8_cWmvxJw" type="PapyrusUMLProfileDiagram" name="Profile Diagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="__BiEYFCiEem1i8_cWmvxJw" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="__BkgoFCiEem1i8_cWmvxJw" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="__BlHsFCiEem1i8_cWmvxJw" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="__BlHsVCiEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="__BlHslCiEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="__BlHs1CiEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__BlHtFCiEem1i8_cWmvxJw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="__BlHtVCiEem1i8_cWmvxJw" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="__BlHtlCiEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="__BlHt1CiEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="__BlHuFCiEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__BlHuVCiEem1i8_cWmvxJw"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="__BiEYVCiEem1i8_cWmvxJw" x="480" y="20" width="120"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Bv9ZgFCjEem1i8_cWmvxJw" type="Enumeration_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Bv-noFCjEem1i8_cWmvxJw" type="Enumeration_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_Bv-noVCjEem1i8_cWmvxJw" type="Enumeration_LiteralCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_DwaOUFCjEem1i8_cWmvxJw" type="EnumerationLiteral_LiteralLabel">
+        <element xmi:type="uml:EnumerationLiteral" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.RiskKind.High"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_DwaOUVCjEem1i8_cWmvxJw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_D60HgFCjEem1i8_cWmvxJw" type="EnumerationLiteral_LiteralLabel">
+        <element xmi:type="uml:EnumerationLiteral" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.RiskKind.Medium"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D60HgVCjEem1i8_cWmvxJw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_EH0owFCjEem1i8_cWmvxJw" type="EnumerationLiteral_LiteralLabel">
+        <element xmi:type="uml:EnumerationLiteral" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.RiskKind.Low"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_EH0owVCjEem1i8_cWmvxJw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Bv-nolCjEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_Bv-no1CjEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_Bv-npFCjEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Bv-npVCjEem1i8_cWmvxJw"/>
+    </children>
+    <element xmi:type="uml:Enumeration" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.RiskKind"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Bv9ZgVCjEem1i8_cWmvxJw" x="860" y="20" width="161" height="121"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_XTnIMFCjEem1i8_cWmvxJw" type="Enumeration_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_XTnvQFCjEem1i8_cWmvxJw" type="Enumeration_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_XTnvQVCjEem1i8_cWmvxJw" type="Enumeration_LiteralCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_Y6N5oFCjEem1i8_cWmvxJw" type="EnumerationLiteral_LiteralLabel">
+        <element xmi:type="uml:EnumerationLiteral" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.VerificationMethodKind.Analysis"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Y6N5oVCjEem1i8_cWmvxJw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ZEFnUFCjEem1i8_cWmvxJw" type="EnumerationLiteral_LiteralLabel">
+        <element xmi:type="uml:EnumerationLiteral" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.VerificationMethodKind.Demonstration"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZEFnUVCjEem1i8_cWmvxJw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ZPFWYFCjEem1i8_cWmvxJw" type="EnumerationLiteral_LiteralLabel">
+        <element xmi:type="uml:EnumerationLiteral" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.VerificationMethodKind.Inspection"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZPFWYVCjEem1i8_cWmvxJw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_Zd1kEFCjEem1i8_cWmvxJw" type="EnumerationLiteral_LiteralLabel">
+        <element xmi:type="uml:EnumerationLiteral" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.VerificationMethodKind.Test"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Zd1kEVCjEem1i8_cWmvxJw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_XTnvQlCjEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_XTnvQ1CjEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_XTnvRFCjEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XTnvRVCjEem1i8_cWmvxJw"/>
+    </children>
+    <element xmi:type="uml:Enumeration" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.VerificationMethodKind"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XTnIMVCjEem1i8_cWmvxJw" x="1060" y="20" width="161" height="121"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_ThE1QFCkEem1i8_cWmvxJw" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_ThE1QlCkEem1i8_cWmvxJw" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_ThFcUFCkEem1i8_cWmvxJw" type="Stereotype_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_VwAK8FCkEem1i8_cWmvxJw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.ExtendedRequirement.Property.source"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_VwAK8VCkEem1i8_cWmvxJw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_WH7iwFCkEem1i8_cWmvxJw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.ExtendedRequirement.Property.risk"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_WH7iwVCkEem1i8_cWmvxJw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_WzYTgFCkEem1i8_cWmvxJw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.ExtendedRequirement.Property.verifyMethod"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_WzYTgVCkEem1i8_cWmvxJw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_ThFcUVCkEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_ThFcUlCkEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_ThFcU1CkEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ThFcVFCkEem1i8_cWmvxJw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_ThFcVVCkEem1i8_cWmvxJw" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_ThFcVlCkEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_ThFcV1CkEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_ThFcWFCkEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ThFcWVCkEem1i8_cWmvxJw"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.ExtendedRequirement"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ThE1QVCkEem1i8_cWmvxJw" x="380" y="180" width="321" height="121"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_LAT4oFClEem1i8_cWmvxJw" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_LAT4olClEem1i8_cWmvxJw" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_LAT4o1ClEem1i8_cWmvxJw" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_LAT4pFClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_LAT4pVClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_LAT4plClEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LAT4p1ClEem1i8_cWmvxJw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_LAT4qFClEem1i8_cWmvxJw" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_LAT4qVClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_LAT4qlClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_LAT4q1ClEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LAT4rFClEem1i8_cWmvxJw"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.FunctionalRequirement"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LAT4oVClEem1i8_cWmvxJw" x="60" y="400" width="161" height="101"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_OyIkcFClEem1i8_cWmvxJw" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_OyJLgFClEem1i8_cWmvxJw" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_OyJykFClEem1i8_cWmvxJw" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_OyJykVClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_OyJyklClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_OyJyk1ClEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OyJylFClEem1i8_cWmvxJw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_OyJylVClEem1i8_cWmvxJw" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_OyJyllClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_OyJyl1ClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_OyJymFClEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OyJymVClEem1i8_cWmvxJw"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.InterfaceRequirement"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OyIkcVClEem1i8_cWmvxJw" x="260" y="400" width="161"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_SMtN4FClEem1i8_cWmvxJw" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_SMt08FClEem1i8_cWmvxJw" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_SMt08VClEem1i8_cWmvxJw" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_SMt08lClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_SMt081ClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_SMt09FClEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SMt09VClEem1i8_cWmvxJw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_SMt09lClEem1i8_cWmvxJw" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_SMt091ClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_SMt0-FClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_SMt0-VClEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SMt0-lClEem1i8_cWmvxJw"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.PerformanceRequirement"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SMtN4VClEem1i8_cWmvxJw" x="460" y="400" width="161"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_WYIsgFClEem1i8_cWmvxJw" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_WYJTkFClEem1i8_cWmvxJw" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_WYJTkVClEem1i8_cWmvxJw" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_WYJTklClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_WYJTk1ClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_WYJTlFClEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WYJTlVClEem1i8_cWmvxJw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_WYJTllClEem1i8_cWmvxJw" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_WYJTl1ClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_WYJTmFClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_WYJTmVClEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WYJTmlClEem1i8_cWmvxJw"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.PhysicalRequirement"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WYIsgVClEem1i8_cWmvxJw" x="660" y="400" width="161"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_aIMdwFClEem1i8_cWmvxJw" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_aIMdwlClEem1i8_cWmvxJw" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_aIMdw1ClEem1i8_cWmvxJw" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_aIMdxFClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_aIMdxVClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_aIMdxlClEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aIMdx1ClEem1i8_cWmvxJw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_aINE0FClEem1i8_cWmvxJw" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_aINE0VClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_aINE0lClEem1i8_cWmvxJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_aINE01ClEem1i8_cWmvxJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aINE1FClEem1i8_cWmvxJw"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.DesignConstraint"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aIMdwVClEem1i8_cWmvxJw" x="860" y="400" width="161"/>
+  </children>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_VJ8icVCiEem1i8_cWmvxJw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_VJ8iclCiEem1i8_cWmvxJw"/>
+  <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_VJ8ic1CiEem1i8_cWmvxJw" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+    <owner xmi:type="uml:Profile" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile"/>
+  </styles>
+  <element xmi:type="uml:Profile" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile"/>
+  <edges xmi:type="notation:Connector" xmi:id="_qGTVsFCkEem1i8_cWmvxJw" type="Generalization_Edge" source="_ThE1QFCkEem1i8_cWmvxJw" target="__BiEYFCiEem1i8_cWmvxJw" routing="Tree">
+    <children xmi:type="notation:DecorationNode" xmi:id="_qGT8wFCkEem1i8_cWmvxJw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_r9EDAFCkEem1i8_cWmvxJw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_qGT8wVCkEem1i8_cWmvxJw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_qGTVsVCkEem1i8_cWmvxJw"/>
+    <element xmi:type="uml:Generalization" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.ExtendedRequirement.Generalization_ExtendedRequirement_Requirement"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qGTVslCkEem1i8_cWmvxJw" points="[540, 160, -643984, -643984]$[540, 152, -643984, -643984]$[540, 152, -643984, -643984]$[540, 120, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qHRmEFCkEem1i8_cWmvxJw" id="(0.4984423676012461,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qHRmEVCkEem1i8_cWmvxJw" id="(0.5,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_kwX9YFClEem1i8_cWmvxJw" type="Generalization_Edge" source="_LAT4oFClEem1i8_cWmvxJw" target="_ThE1QFCkEem1i8_cWmvxJw" routing="Rectilinear" avoidObstructions="true">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t0N8c1ClEem1i8_cWmvxJw" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t0N8dFClEem1i8_cWmvxJw" key="routing" value="true"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u7REElClEem1i8_cWmvxJw" key="avoidObstructions" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_kwYkcFClEem1i8_cWmvxJw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_qk4SoFClEem1i8_cWmvxJw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_kwYkcVClEem1i8_cWmvxJw" y="100"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_kwX9YVClEem1i8_cWmvxJw"/>
+    <element xmi:type="uml:Generalization" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.FunctionalRequirement.Generalization_FunctionalRequirement_ExtendedRequirement"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kwX9YlClEem1i8_cWmvxJw" points="[140, 360, -643984, -643984]$[140, 313, -643984, -643984]$[540, 313, -643984, -643984]$[540, 281, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kw13cFClEem1i8_cWmvxJw" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kw13cVClEem1i8_cWmvxJw" id="(0.4984423676012461,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_lakw8FClEem1i8_cWmvxJw" type="Generalization_Edge" source="_OyIkcFClEem1i8_cWmvxJw" target="_ThE1QFCkEem1i8_cWmvxJw" routing="Rectilinear" avoidObstructions="true">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t0N8cVClEem1i8_cWmvxJw" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t0N8clClEem1i8_cWmvxJw" key="routing" value="true"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u7REEVClEem1i8_cWmvxJw" key="avoidObstructions" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_lakw81ClEem1i8_cWmvxJw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_qj-6wFClEem1i8_cWmvxJw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_lakw9FClEem1i8_cWmvxJw" y="100"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_lakw8VClEem1i8_cWmvxJw"/>
+    <element xmi:type="uml:Generalization" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.InterfaceRequirement.Generalization_InterfaceRequirement_ExtendedRequirement"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lakw8lClEem1i8_cWmvxJw" points="[340, 360, -643984, -643984]$[340, 313, -643984, -643984]$[540, 313, -643984, -643984]$[540, 281, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lbAOwFClEem1i8_cWmvxJw" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lbA10FClEem1i8_cWmvxJw" id="(0.4984423676012461,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_mrvd4FClEem1i8_cWmvxJw" type="Generalization_Edge" source="_SMtN4FClEem1i8_cWmvxJw" target="_ThE1QFCkEem1i8_cWmvxJw" routing="Rectilinear" avoidObstructions="true">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t0NVYlClEem1i8_cWmvxJw" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t0N8cFClEem1i8_cWmvxJw" key="routing" value="true"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u7REEFClEem1i8_cWmvxJw" key="avoidObstructions" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_mrwE8FClEem1i8_cWmvxJw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_qkU5AFClEem1i8_cWmvxJw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_mrwE8VClEem1i8_cWmvxJw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_mrvd4VClEem1i8_cWmvxJw"/>
+    <element xmi:type="uml:Generalization" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.PerformanceRequirement.Generalization_PerformanceRequirement_ExtendedRequirement"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mrvd4lClEem1i8_cWmvxJw" points="[540, 360, -643984, -643984]$[540, 313, -643984, -643984]$[540, 313, -643984, -643984]$[540, 281, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_msRpYFClEem1i8_cWmvxJw" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_msRpYVClEem1i8_cWmvxJw" id="(0.4984423676012461,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_nU6WsFClEem1i8_cWmvxJw" type="Generalization_Edge" source="_WYIsgFClEem1i8_cWmvxJw" target="_ThE1QFCkEem1i8_cWmvxJw" routing="Rectilinear" avoidObstructions="true">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t0N8dVClEem1i8_cWmvxJw" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t0N8dlClEem1i8_cWmvxJw" key="routing" value="true"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u7REE1ClEem1i8_cWmvxJw" key="avoidObstructions" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_nU6Ws1ClEem1i8_cWmvxJw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_qlIxUFClEem1i8_cWmvxJw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_nU6WtFClEem1i8_cWmvxJw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_nU6WsVClEem1i8_cWmvxJw"/>
+    <element xmi:type="uml:Generalization" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.PhysicalRequirement.Generalization_PhysicalRequirement_ExtendedRequirement"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nU6WslClEem1i8_cWmvxJw" points="[740, 360, -643984, -643984]$[740, 313, -643984, -643984]$[540, 313, -643984, -643984]$[540, 281, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nVXpsFClEem1i8_cWmvxJw" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nVXpsVClEem1i8_cWmvxJw" id="(0.4984423676012461,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_n7vGIFClEem1i8_cWmvxJw" type="Generalization_Edge" source="_aIMdwFClEem1i8_cWmvxJw" target="_ThE1QFCkEem1i8_cWmvxJw" routing="Rectilinear" avoidObstructions="true">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t0NVYFClEem1i8_cWmvxJw" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t0NVYVClEem1i8_cWmvxJw" key="routing" value="true"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u7QdAFClEem1i8_cWmvxJw" key="avoidObstructions" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_n7vtMFClEem1i8_cWmvxJw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_qknz8FClEem1i8_cWmvxJw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_n7vtMVClEem1i8_cWmvxJw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_n7vGIVClEem1i8_cWmvxJw"/>
+    <element xmi:type="uml:Generalization" href="RequirementsExtension.profile.uml#RequirementsExtensionProfile.DesignConstraint.OwnedComment.Generalization_DesignConstraint_ExtendedRequirement"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_n7vGIlClEem1i8_cWmvxJw" points="[940, 360, -643984, -643984]$[940, 313, -643984, -643984]$[540, 313, -643984, -643984]$[540, 281, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n8LLAFClEem1i8_cWmvxJw" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n8LLAVClEem1i8_cWmvxJw" id="(0.4984423676012461,1.0)"/>
+  </edges>
+</notation:Diagram>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.uml b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.uml
new file mode 100644
index 0000000..d1c085f
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/resources/profile/RequirementsExtension.profile.uml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns: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="RequirementsExtensionProfile" name="RequirementsExtension" URI="http://www.eclipse.org/papyrus/sysml/1.6/RequirementsExtension">
+    <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.OwnedComment" annotatedElement="RequirementsExtensionProfile">
+      <body>This non-normative extension includes stereotypes for a simplified requirements taxonomy that is intended to be further adapted as required to support the particular needs of the application or organization. The requirements categories in this example include functional, interface, performance, physical requirements, and design constraints&#xD;
+&#xD;
+Some general guidance for applying a requirements profile is as follows:&#xD;
+- The categories should be adapted for the specific application or organization and reflected in the table. This includes agreement on the categories and their associated descriptions, stereotype properties, and constraints. Additional categories can be added by further subclassing the categories in the table below, or adding additional categories at the pier level of these categories.&#xD;
+- The default requirement category should be the generic «requirement».&#xD;
+- Apply the more specialized requirement stereotype (functional, interface, performance, physical, design constraint) as applicable and ensure consistency with the description, stereotype properties, and constraints.&#xD;
+- A specific text requirement can include the application of more than one requirement category, in which case, each stereotype should be shown in guillemets.</body>
+    </ownedComment>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="RequirementsExtensionProfile.PackageImport.UML_PrimitiveTypes">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="RequirementsExtensionProfile.PackageImport.UML_Metamodel">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="RequirementsExtensionProfile.PackageImport.SysML_Requirements">
+      <importedPackage xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="RequirementsExtensionProfile.PackageImport.SysML">
+      <importedPackage xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="RequirementsExtensionProfile.RiskKind" name="RiskKind">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="RequirementsExtensionProfile.RiskKind.High" name="High">
+        <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.RiskKind.High.OwnedComment" annotatedElement="RequirementsExtensionProfile.RiskKind.High">
+          <body>High indicates an unacceptable level of risk</body>
+        </ownedComment>
+      </ownedLiteral>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="RequirementsExtensionProfile.RiskKind.Medium" name="Medium">
+        <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.RiskKind.Medium.OwnedComment" annotatedElement="RequirementsExtensionProfile.RiskKind.Medium">
+          <body>Medium indicates an acceptable level of risk</body>
+        </ownedComment>
+      </ownedLiteral>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="RequirementsExtensionProfile.RiskKind.Low" name="Low">
+        <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.RiskKind.Low.OwnedComment" annotatedElement="RequirementsExtensionProfile.RiskKind.Low">
+          <body>Low indicates a minimal level of risk or no risk</body>
+        </ownedComment>
+      </ownedLiteral>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="RequirementsExtensionProfile.VerificationMethodKind" name="VerificationMethodKind">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="RequirementsExtensionProfile.VerificationMethodKind.Analysis" name="Analysis">
+        <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.VerificationMethodKind.Analysis.OwnedComment" annotatedElement="RequirementsExtensionProfile.VerificationMethodKind.Analysis">
+          <body>Analysis indicates that verification will be performed by technical evaluation using mathematical representations, charts, graphs, circuit diagrams, data reduction, or representative data. Analysis also includes the verification of requirements under conditions, which are simulated or modeled; where the results are derived from the analysis of the results produced by the model.</body>
+        </ownedComment>
+      </ownedLiteral>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="RequirementsExtensionProfile.VerificationMethodKind.Demonstration" name="Demonstration">
+        <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.VerificationMethodKind.Demonstration.OwnedComment" annotatedElement="RequirementsExtensionProfile.VerificationMethodKind.Demonstration">
+          <body>Demonstration indicates that verification will be performed by operation, movement or adjustment of the item under specific conditions to perform the design functions without recording of quantitative data.. Demonstration is typically considered the least restrictive of the verification types.</body>
+        </ownedComment>
+      </ownedLiteral>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="RequirementsExtensionProfile.VerificationMethodKind.Inspection" name="Inspection">
+        <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.VerificationMethodKind.Inspection.OwnedComment" annotatedElement="RequirementsExtensionProfile.VerificationMethodKind.Inspection">
+          <body>Inspection indicates that verification will be performed by examination of the item, reviewing descriptive documentation, and comparing the appropriate characteristics with a predetermined standard to determine conformance to requirements without the use of special laboratory equipment or procedures.</body>
+        </ownedComment>
+      </ownedLiteral>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="RequirementsExtensionProfile.VerificationMethodKind.Test" name="Test">
+        <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.VerificationMethodKind.Test.OwnedComment" annotatedElement="RequirementsExtensionProfile.VerificationMethodKind.Test">
+          <body>Test indicates that verification will be performed through systematic exercising of the applicable item under appropriate conditions with instrumentation to measure required parameters and the collection, analysis, and evaluation of quantitative data to show that measured parameters equal or exceed specified requirements.</body>
+        </ownedComment>
+      </ownedLiteral>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="RequirementsExtensionProfile.ExtendedRequirement" name="ExtendedRequirement" isAbstract="true">
+      <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.OwnedComment" annotatedElement="RequirementsExtensionProfile.ExtendedRequirement">
+        <body>A mix-in stereotype that contains generally useful attributes for requirements.</body>
+      </ownedComment>
+      <generalization xmi:type="uml:Generalization" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.Generalization_ExtendedRequirement_Requirement">
+        <general xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement"/>
+      </generalization>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.Property.source" name="source">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.Property.source.lowerValue"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.Property.source.upperValue" value="1"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.Property.risk" name="risk" type="RequirementsExtensionProfile.RiskKind">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.Property.risk.lowerValue"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.Property.risk.upperValue" value="1"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.Property.verifyMethod" name="verifyMethod" type="RequirementsExtensionProfile.VerificationMethodKind">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.Property.verifyMethod.lowerValue"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.Property.verifyMethod.upperValue" value="1"/>
+      </ownedAttribute>
+      <icon xmi:type="uml:Image" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.Icon" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/ExtendedRequirement.gif">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.Icon.EAnnotation" source="image_papyrus">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="RequirementsExtensionProfile.ExtendedRequirement.Icon.EAnnotation.image_kind.key" key="image_kind_key" value="icon"/>
+        </eAnnotations>
+      </icon>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="RequirementsExtensionProfile.FunctionalRequirement" name="FunctionalRequirement">
+      <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.FunctionalRequirement.OwnedComment" annotatedElement="RequirementsExtensionProfile.FunctionalRequirement">
+        <body>Requirement that specifies an operation or behavior that a system, or part of a system, must perform.</body>
+      </ownedComment>
+      <generalization xmi:type="uml:Generalization" xmi:id="RequirementsExtensionProfile.FunctionalRequirement.Generalization_FunctionalRequirement_ExtendedRequirement" general="RequirementsExtensionProfile.ExtendedRequirement"/>
+      <icon xmi:type="uml:Image" xmi:id="RequirementsExtensionProfile.FunctionalRequirement.Icon" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/FunctionalRequirement.gif">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="RequirementsExtensionProfile.FunctionalRequirement.Icon.EAnnotation" source="image_papyrus">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="RequirementsExtensionProfile.FunctionalRequirement.Icon.EAnnotation.image_kind_key" key="image_kind_key" value="icon"/>
+        </eAnnotations>
+      </icon>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="RequirementsExtensionProfile.InterfaceRequirement" name="InterfaceRequirement">
+      <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.InterfaceRequirement.OwnedComment" annotatedElement="RequirementsExtensionProfile.InterfaceRequirement">
+        <body>Requirement that specifies the ports for connecting systems and system parts and the optionally may include the item flows across the connector and/or interface constraints.</body>
+      </ownedComment>
+      <generalization xmi:type="uml:Generalization" xmi:id="RequirementsExtensionProfile.InterfaceRequirement.Generalization_InterfaceRequirement_ExtendedRequirement" general="RequirementsExtensionProfile.ExtendedRequirement"/>
+      <icon xmi:type="uml:Image" xmi:id="RequirementsExtensionProfile.InterfaceRequirement.Icon" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/InterfaceRequirement.gif">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="RequirementsExtensionProfile.InterfaceRequirement.Icon.EAnnotation" source="image_papyrus">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="RequirementsExtensionProfile.InterfaceRequirement.Icon.EAnnotation.image_kind_key" key="image_kind_key" value="icon"/>
+        </eAnnotations>
+      </icon>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="RequirementsExtensionProfile.PerformanceRequirement" name="PerformanceRequirement">
+      <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.PerformanceRequirement.OwnedComment" annotatedElement="RequirementsExtensionProfile.PerformanceRequirement">
+        <body>Requirement that quantitavely measures the extent to which a system, or a system part, satisfies a required capability or condition.</body>
+      </ownedComment>
+      <generalization xmi:type="uml:Generalization" xmi:id="RequirementsExtensionProfile.PerformanceRequirement.Generalization_PerformanceRequirement_ExtendedRequirement" general="RequirementsExtensionProfile.ExtendedRequirement"/>
+      <icon xmi:type="uml:Image" xmi:id="RequirementsExtensionProfile.PerformanceRequirement.Icon" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/PerformanceRequirement.gif">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="RequirementsExtensionProfile.PerformanceRequirement.EAnnotation" source="image_papyrus">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="RequirementsExtensionProfile.PerformanceRequirement.EAnnotation.image_kind_key" key="image_kind_key" value="icon"/>
+        </eAnnotations>
+      </icon>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="RequirementsExtensionProfile.PhysicalRequirement" name="PhysicalRequirement">
+      <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.PhysicalRequirement.OwnedComment" annotatedElement="RequirementsExtensionProfile.PhysicalRequirement">
+        <body>Requirement that specifies physical characteristics and/or physical constraints of the system, or a system part.</body>
+      </ownedComment>
+      <generalization xmi:type="uml:Generalization" xmi:id="RequirementsExtensionProfile.PhysicalRequirement.Generalization_PhysicalRequirement_ExtendedRequirement" general="RequirementsExtensionProfile.ExtendedRequirement"/>
+      <icon xmi:type="uml:Image" xmi:id="RequirementsExtensionProfile.PhysicalRequirement.Icon" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/PhysicalRequirement.gif">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="RequirementsExtensionProfile.PhysicalRequirement.Icon.EAnnotation" source="image_papyrus">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="RequirementsExtensionProfile.PhysicalRequirement.Icon.EAnnotation.image_kind_key" key="image_kind_key" value="icon"/>
+        </eAnnotations>
+      </icon>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="RequirementsExtensionProfile.DesignConstraint" name="DesignConstraint">
+      <ownedComment xmi:type="uml:Comment" xmi:id="RequirementsExtensionProfile.DesignConstraint.OwnedComment" annotatedElement="RequirementsExtensionProfile.DesignConstraint">
+        <body>Requirement that specifies a constraint on the implementation of the system or system part, such as the system must use a commercial off the shelf component.</body>
+      </ownedComment>
+      <generalization xmi:type="uml:Generalization" xmi:id="RequirementsExtensionProfile.DesignConstraint.OwnedComment.Generalization_DesignConstraint_ExtendedRequirement" general="RequirementsExtensionProfile.ExtendedRequirement"/>
+      <icon xmi:type="uml:Image" xmi:id="RequirementsExtensionProfile.DesignConstraint.OwnedComment.Icon" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.requirements.extension.edit/icons/full/obj16/DesignConstraint.gif">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="RequirementsExtensionProfile.DesignConstraint.OwnedComment.Icon.EAnnotation" source="image_papyrus">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="RequirementsExtensionProfile.DesignConstraint.OwnedComment.Icon.EAnnotation.image_kind_key" key="image_kind_key" value="icon"/>
+        </eAnnotations>
+      </icon>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="RequirementsExtensionProfile.ProfileApplication.Ecore">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="RequirementsExtensionProfile.ProfileApplication.Ecore.EAnnotation" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Profile>
+  <Ecore:EPackage xmi:id="RequirementsExtensionProfile.AppliedStereotype.Ecore__EPackage.ExtendedRequirement" base_Package="RequirementsExtensionProfile" packageName="requirementsextension" nsPrefix="RequirementsExtension" nsURI="http://www.eclipse.org/papyrus/SysML/1.6/RequirementsExtension" basePackage="org.eclipse.papyrus.sysml16" prefix="RequirementsExtension"/>
+</xmi:XMI>
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/DesignConstraint.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/DesignConstraint.java
new file mode 100644
index 0000000..e817755
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/DesignConstraint.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Design Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage#getDesignConstraint()
+ * @model
+ * @generated
+ */
+public interface DesignConstraint extends ExtendedRequirement {
+} // DesignConstraint
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/ExtendedRequirement.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/ExtendedRequirement.java
new file mode 100644
index 0000000..46e33ef
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/ExtendedRequirement.java
@@ -0,0 +1,125 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extended Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A mix-in stereotype that contains generally useful attributes for requirements.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement#getSource <em>Source</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement#getRisk <em>Risk</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement#getVerifyMethod <em>Verify Method</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage#getExtendedRequirement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ExtendedRequirement extends Requirement {
+	/**
+	 * Returns the value of the '<em><b>Source</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Source</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Source</em>' attribute.
+	 * @see #setSource(String)
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage#getExtendedRequirement_Source()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getSource();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement#getSource <em>Source</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Source</em>' attribute.
+	 * @see #getSource()
+	 * @generated
+	 */
+	void setSource(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Risk</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.papyrus.sysml16.requirementsextension.RiskKind}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Risk</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Risk</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.RiskKind
+	 * @see #setRisk(RiskKind)
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage#getExtendedRequirement_Risk()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	RiskKind getRisk();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement#getRisk <em>Risk</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Risk</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.RiskKind
+	 * @see #getRisk()
+	 * @generated
+	 */
+	void setRisk(RiskKind value);
+
+	/**
+	 * Returns the value of the '<em><b>Verify Method</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.papyrus.sysml16.requirementsextension.VerificationMethodKind}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Verify Method</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Verify Method</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.VerificationMethodKind
+	 * @see #setVerifyMethod(VerificationMethodKind)
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage#getExtendedRequirement_VerifyMethod()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	VerificationMethodKind getVerifyMethod();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement#getVerifyMethod <em>Verify Method</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Verify Method</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.VerificationMethodKind
+	 * @see #getVerifyMethod()
+	 * @generated
+	 */
+	void setVerifyMethod(VerificationMethodKind value);
+
+} // ExtendedRequirement
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/FunctionalRequirement.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/FunctionalRequirement.java
new file mode 100644
index 0000000..bffc887
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/FunctionalRequirement.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Functional Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage#getFunctionalRequirement()
+ * @model
+ * @generated
+ */
+public interface FunctionalRequirement extends ExtendedRequirement {
+} // FunctionalRequirement
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/InterfaceRequirement.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/InterfaceRequirement.java
new file mode 100644
index 0000000..5c79087
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/InterfaceRequirement.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Interface Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage#getInterfaceRequirement()
+ * @model
+ * @generated
+ */
+public interface InterfaceRequirement extends ExtendedRequirement {
+} // InterfaceRequirement
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/PerformanceRequirement.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/PerformanceRequirement.java
new file mode 100644
index 0000000..c060460
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/PerformanceRequirement.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Performance Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage#getPerformanceRequirement()
+ * @model
+ * @generated
+ */
+public interface PerformanceRequirement extends ExtendedRequirement {
+} // PerformanceRequirement
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/PhysicalRequirement.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/PhysicalRequirement.java
new file mode 100644
index 0000000..d88456a
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/PhysicalRequirement.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Physical Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage#getPhysicalRequirement()
+ * @model
+ * @generated
+ */
+public interface PhysicalRequirement extends ExtendedRequirement {
+} // PhysicalRequirement
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/RequirementsExtensionFactory.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/RequirementsExtensionFactory.java
new file mode 100644
index 0000000..8487620
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/RequirementsExtensionFactory.java
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+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.sysml16.requirementsextension.RequirementsExtensionPackage
+ * @generated
+ */
+public interface RequirementsExtensionFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RequirementsExtensionFactory eINSTANCE = org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Functional Requirement</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Functional Requirement</em>'.
+	 * @generated
+	 */
+	FunctionalRequirement createFunctionalRequirement();
+
+	/**
+	 * Returns a new object of class '<em>Interface Requirement</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Interface Requirement</em>'.
+	 * @generated
+	 */
+	InterfaceRequirement createInterfaceRequirement();
+
+	/**
+	 * Returns a new object of class '<em>Performance Requirement</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Performance Requirement</em>'.
+	 * @generated
+	 */
+	PerformanceRequirement createPerformanceRequirement();
+
+	/**
+	 * Returns a new object of class '<em>Physical Requirement</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Physical Requirement</em>'.
+	 * @generated
+	 */
+	PhysicalRequirement createPhysicalRequirement();
+
+	/**
+	 * Returns a new object of class '<em>Design Constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Design Constraint</em>'.
+	 * @generated
+	 */
+	DesignConstraint createDesignConstraint();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	RequirementsExtensionPackage getRequirementsExtensionPackage();
+
+} //RequirementsExtensionFactory
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/RequirementsExtensionPackage.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/RequirementsExtensionPackage.java
new file mode 100644
index 0000000..f155525
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/RequirementsExtensionPackage.java
@@ -0,0 +1,1647 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This non-normative extension includes stereotypes for a simplified requirements taxonomy that is intended to be further adapted as required to support the particular needs of the application or organization. The requirements categories in this example include functional, interface, performance, physical requirements, and design constraints
+ * 
+ * Some general guidance for applying a requirements profile is as follows:
+ * - The categories should be adapted for the specific application or organization and reflected in the table. This includes agreement on the categories and their associated descriptions, stereotype properties, and constraints. Additional categories can be added by further subclassing the categories in the table below, or adding additional categories at the pier level of these categories.
+ * - The default requirement category should be the generic «requirement».
+ * - Apply the more specialized requirement stereotype (functional, interface, performance, physical, design constraint) as applicable and ensure consistency with the description, stereotype properties, and constraints.
+ * - A specific text requirement can include the application of more than one requirement category, in which case, each stereotype should be shown in guillemets.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='RequirementsExtension'"
+ * @generated
+ */
+public interface RequirementsExtensionPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "requirementsextension"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/SysML/1.6/RequirementsExtension"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "RequirementsExtension"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RequirementsExtensionPackage eINSTANCE = org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.ExtendedRequirementImpl <em>Extended Requirement</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.ExtendedRequirementImpl
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getExtendedRequirement()
+	 * @generated
+	 */
+	int EXTENDED_REQUIREMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__BASE_NAMED_ELEMENT = RequirementsPackage.REQUIREMENT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Derived</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__DERIVED = RequirementsPackage.REQUIREMENT__DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Derived From</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__DERIVED_FROM = RequirementsPackage.REQUIREMENT__DERIVED_FROM;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__ID = RequirementsPackage.REQUIREMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Master</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__MASTER = RequirementsPackage.REQUIREMENT__MASTER;
+
+	/**
+	 * The feature id for the '<em><b>Refined By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__REFINED_BY = RequirementsPackage.REQUIREMENT__REFINED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Satisfied By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__SATISFIED_BY = RequirementsPackage.REQUIREMENT__SATISFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Text</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__TEXT = RequirementsPackage.REQUIREMENT__TEXT;
+
+	/**
+	 * The feature id for the '<em><b>Traced To</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__TRACED_TO = RequirementsPackage.REQUIREMENT__TRACED_TO;
+
+	/**
+	 * The feature id for the '<em><b>Verified By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__VERIFIED_BY = RequirementsPackage.REQUIREMENT__VERIFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__BASE_CLASS = RequirementsPackage.REQUIREMENT__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__SOURCE = RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Risk</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__RISK = RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Verify Method</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT__VERIFY_METHOD = RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Extended Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT_FEATURE_COUNT = RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Get Satisfied By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT___GET_SATISFIED_BY = RequirementsPackage.REQUIREMENT___GET_SATISFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Verified By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT___GET_VERIFIED_BY = RequirementsPackage.REQUIREMENT___GET_VERIFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Traced To</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT___GET_TRACED_TO = RequirementsPackage.REQUIREMENT___GET_TRACED_TO;
+
+	/**
+	 * The operation id for the '<em>Get Derived</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT___GET_DERIVED = RequirementsPackage.REQUIREMENT___GET_DERIVED;
+
+	/**
+	 * The operation id for the '<em>Get Derived From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT___GET_DERIVED_FROM = RequirementsPackage.REQUIREMENT___GET_DERIVED_FROM;
+
+	/**
+	 * The operation id for the '<em>Get Refined By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT___GET_REFINED_BY = RequirementsPackage.REQUIREMENT___GET_REFINED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Master</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT___GET_MASTER = RequirementsPackage.REQUIREMENT___GET_MASTER;
+
+	/**
+	 * The number of operations of the '<em>Extended Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENDED_REQUIREMENT_OPERATION_COUNT = RequirementsPackage.REQUIREMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.FunctionalRequirementImpl <em>Functional Requirement</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.FunctionalRequirementImpl
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getFunctionalRequirement()
+	 * @generated
+	 */
+	int FUNCTIONAL_REQUIREMENT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__BASE_NAMED_ELEMENT = EXTENDED_REQUIREMENT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Derived</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__DERIVED = EXTENDED_REQUIREMENT__DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Derived From</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__DERIVED_FROM = EXTENDED_REQUIREMENT__DERIVED_FROM;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__ID = EXTENDED_REQUIREMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Master</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__MASTER = EXTENDED_REQUIREMENT__MASTER;
+
+	/**
+	 * The feature id for the '<em><b>Refined By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__REFINED_BY = EXTENDED_REQUIREMENT__REFINED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Satisfied By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__SATISFIED_BY = EXTENDED_REQUIREMENT__SATISFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Text</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__TEXT = EXTENDED_REQUIREMENT__TEXT;
+
+	/**
+	 * The feature id for the '<em><b>Traced To</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__TRACED_TO = EXTENDED_REQUIREMENT__TRACED_TO;
+
+	/**
+	 * The feature id for the '<em><b>Verified By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__VERIFIED_BY = EXTENDED_REQUIREMENT__VERIFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__BASE_CLASS = EXTENDED_REQUIREMENT__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__SOURCE = EXTENDED_REQUIREMENT__SOURCE;
+
+	/**
+	 * The feature id for the '<em><b>Risk</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__RISK = EXTENDED_REQUIREMENT__RISK;
+
+	/**
+	 * The feature id for the '<em><b>Verify Method</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT__VERIFY_METHOD = EXTENDED_REQUIREMENT__VERIFY_METHOD;
+
+	/**
+	 * The number of structural features of the '<em>Functional Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT_FEATURE_COUNT = EXTENDED_REQUIREMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Get Satisfied By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT___GET_SATISFIED_BY = EXTENDED_REQUIREMENT___GET_SATISFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Verified By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT___GET_VERIFIED_BY = EXTENDED_REQUIREMENT___GET_VERIFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Traced To</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT___GET_TRACED_TO = EXTENDED_REQUIREMENT___GET_TRACED_TO;
+
+	/**
+	 * The operation id for the '<em>Get Derived</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT___GET_DERIVED = EXTENDED_REQUIREMENT___GET_DERIVED;
+
+	/**
+	 * The operation id for the '<em>Get Derived From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT___GET_DERIVED_FROM = EXTENDED_REQUIREMENT___GET_DERIVED_FROM;
+
+	/**
+	 * The operation id for the '<em>Get Refined By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT___GET_REFINED_BY = EXTENDED_REQUIREMENT___GET_REFINED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Master</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT___GET_MASTER = EXTENDED_REQUIREMENT___GET_MASTER;
+
+	/**
+	 * The number of operations of the '<em>Functional Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTIONAL_REQUIREMENT_OPERATION_COUNT = EXTENDED_REQUIREMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.InterfaceRequirementImpl <em>Interface Requirement</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.InterfaceRequirementImpl
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getInterfaceRequirement()
+	 * @generated
+	 */
+	int INTERFACE_REQUIREMENT = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__BASE_NAMED_ELEMENT = EXTENDED_REQUIREMENT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Derived</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__DERIVED = EXTENDED_REQUIREMENT__DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Derived From</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__DERIVED_FROM = EXTENDED_REQUIREMENT__DERIVED_FROM;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__ID = EXTENDED_REQUIREMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Master</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__MASTER = EXTENDED_REQUIREMENT__MASTER;
+
+	/**
+	 * The feature id for the '<em><b>Refined By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__REFINED_BY = EXTENDED_REQUIREMENT__REFINED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Satisfied By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__SATISFIED_BY = EXTENDED_REQUIREMENT__SATISFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Text</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__TEXT = EXTENDED_REQUIREMENT__TEXT;
+
+	/**
+	 * The feature id for the '<em><b>Traced To</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__TRACED_TO = EXTENDED_REQUIREMENT__TRACED_TO;
+
+	/**
+	 * The feature id for the '<em><b>Verified By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__VERIFIED_BY = EXTENDED_REQUIREMENT__VERIFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__BASE_CLASS = EXTENDED_REQUIREMENT__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__SOURCE = EXTENDED_REQUIREMENT__SOURCE;
+
+	/**
+	 * The feature id for the '<em><b>Risk</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__RISK = EXTENDED_REQUIREMENT__RISK;
+
+	/**
+	 * The feature id for the '<em><b>Verify Method</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT__VERIFY_METHOD = EXTENDED_REQUIREMENT__VERIFY_METHOD;
+
+	/**
+	 * The number of structural features of the '<em>Interface Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT_FEATURE_COUNT = EXTENDED_REQUIREMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Get Satisfied By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT___GET_SATISFIED_BY = EXTENDED_REQUIREMENT___GET_SATISFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Verified By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT___GET_VERIFIED_BY = EXTENDED_REQUIREMENT___GET_VERIFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Traced To</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT___GET_TRACED_TO = EXTENDED_REQUIREMENT___GET_TRACED_TO;
+
+	/**
+	 * The operation id for the '<em>Get Derived</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT___GET_DERIVED = EXTENDED_REQUIREMENT___GET_DERIVED;
+
+	/**
+	 * The operation id for the '<em>Get Derived From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT___GET_DERIVED_FROM = EXTENDED_REQUIREMENT___GET_DERIVED_FROM;
+
+	/**
+	 * The operation id for the '<em>Get Refined By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT___GET_REFINED_BY = EXTENDED_REQUIREMENT___GET_REFINED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Master</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT___GET_MASTER = EXTENDED_REQUIREMENT___GET_MASTER;
+
+	/**
+	 * The number of operations of the '<em>Interface Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REQUIREMENT_OPERATION_COUNT = EXTENDED_REQUIREMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.PerformanceRequirementImpl <em>Performance Requirement</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.PerformanceRequirementImpl
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getPerformanceRequirement()
+	 * @generated
+	 */
+	int PERFORMANCE_REQUIREMENT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__BASE_NAMED_ELEMENT = EXTENDED_REQUIREMENT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Derived</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__DERIVED = EXTENDED_REQUIREMENT__DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Derived From</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__DERIVED_FROM = EXTENDED_REQUIREMENT__DERIVED_FROM;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__ID = EXTENDED_REQUIREMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Master</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__MASTER = EXTENDED_REQUIREMENT__MASTER;
+
+	/**
+	 * The feature id for the '<em><b>Refined By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__REFINED_BY = EXTENDED_REQUIREMENT__REFINED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Satisfied By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__SATISFIED_BY = EXTENDED_REQUIREMENT__SATISFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Text</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__TEXT = EXTENDED_REQUIREMENT__TEXT;
+
+	/**
+	 * The feature id for the '<em><b>Traced To</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__TRACED_TO = EXTENDED_REQUIREMENT__TRACED_TO;
+
+	/**
+	 * The feature id for the '<em><b>Verified By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__VERIFIED_BY = EXTENDED_REQUIREMENT__VERIFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__BASE_CLASS = EXTENDED_REQUIREMENT__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__SOURCE = EXTENDED_REQUIREMENT__SOURCE;
+
+	/**
+	 * The feature id for the '<em><b>Risk</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__RISK = EXTENDED_REQUIREMENT__RISK;
+
+	/**
+	 * The feature id for the '<em><b>Verify Method</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT__VERIFY_METHOD = EXTENDED_REQUIREMENT__VERIFY_METHOD;
+
+	/**
+	 * The number of structural features of the '<em>Performance Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT_FEATURE_COUNT = EXTENDED_REQUIREMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Get Satisfied By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT___GET_SATISFIED_BY = EXTENDED_REQUIREMENT___GET_SATISFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Verified By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT___GET_VERIFIED_BY = EXTENDED_REQUIREMENT___GET_VERIFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Traced To</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT___GET_TRACED_TO = EXTENDED_REQUIREMENT___GET_TRACED_TO;
+
+	/**
+	 * The operation id for the '<em>Get Derived</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT___GET_DERIVED = EXTENDED_REQUIREMENT___GET_DERIVED;
+
+	/**
+	 * The operation id for the '<em>Get Derived From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT___GET_DERIVED_FROM = EXTENDED_REQUIREMENT___GET_DERIVED_FROM;
+
+	/**
+	 * The operation id for the '<em>Get Refined By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT___GET_REFINED_BY = EXTENDED_REQUIREMENT___GET_REFINED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Master</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT___GET_MASTER = EXTENDED_REQUIREMENT___GET_MASTER;
+
+	/**
+	 * The number of operations of the '<em>Performance Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERFORMANCE_REQUIREMENT_OPERATION_COUNT = EXTENDED_REQUIREMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.PhysicalRequirementImpl <em>Physical Requirement</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.PhysicalRequirementImpl
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getPhysicalRequirement()
+	 * @generated
+	 */
+	int PHYSICAL_REQUIREMENT = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__BASE_NAMED_ELEMENT = EXTENDED_REQUIREMENT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Derived</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__DERIVED = EXTENDED_REQUIREMENT__DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Derived From</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__DERIVED_FROM = EXTENDED_REQUIREMENT__DERIVED_FROM;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__ID = EXTENDED_REQUIREMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Master</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__MASTER = EXTENDED_REQUIREMENT__MASTER;
+
+	/**
+	 * The feature id for the '<em><b>Refined By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__REFINED_BY = EXTENDED_REQUIREMENT__REFINED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Satisfied By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__SATISFIED_BY = EXTENDED_REQUIREMENT__SATISFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Text</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__TEXT = EXTENDED_REQUIREMENT__TEXT;
+
+	/**
+	 * The feature id for the '<em><b>Traced To</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__TRACED_TO = EXTENDED_REQUIREMENT__TRACED_TO;
+
+	/**
+	 * The feature id for the '<em><b>Verified By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__VERIFIED_BY = EXTENDED_REQUIREMENT__VERIFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__BASE_CLASS = EXTENDED_REQUIREMENT__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__SOURCE = EXTENDED_REQUIREMENT__SOURCE;
+
+	/**
+	 * The feature id for the '<em><b>Risk</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__RISK = EXTENDED_REQUIREMENT__RISK;
+
+	/**
+	 * The feature id for the '<em><b>Verify Method</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT__VERIFY_METHOD = EXTENDED_REQUIREMENT__VERIFY_METHOD;
+
+	/**
+	 * The number of structural features of the '<em>Physical Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT_FEATURE_COUNT = EXTENDED_REQUIREMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Get Satisfied By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT___GET_SATISFIED_BY = EXTENDED_REQUIREMENT___GET_SATISFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Verified By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT___GET_VERIFIED_BY = EXTENDED_REQUIREMENT___GET_VERIFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Traced To</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT___GET_TRACED_TO = EXTENDED_REQUIREMENT___GET_TRACED_TO;
+
+	/**
+	 * The operation id for the '<em>Get Derived</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT___GET_DERIVED = EXTENDED_REQUIREMENT___GET_DERIVED;
+
+	/**
+	 * The operation id for the '<em>Get Derived From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT___GET_DERIVED_FROM = EXTENDED_REQUIREMENT___GET_DERIVED_FROM;
+
+	/**
+	 * The operation id for the '<em>Get Refined By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT___GET_REFINED_BY = EXTENDED_REQUIREMENT___GET_REFINED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Master</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT___GET_MASTER = EXTENDED_REQUIREMENT___GET_MASTER;
+
+	/**
+	 * The number of operations of the '<em>Physical Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PHYSICAL_REQUIREMENT_OPERATION_COUNT = EXTENDED_REQUIREMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.DesignConstraintImpl <em>Design Constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.DesignConstraintImpl
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getDesignConstraint()
+	 * @generated
+	 */
+	int DESIGN_CONSTRAINT = 5;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__BASE_NAMED_ELEMENT = EXTENDED_REQUIREMENT__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Derived</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__DERIVED = EXTENDED_REQUIREMENT__DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Derived From</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__DERIVED_FROM = EXTENDED_REQUIREMENT__DERIVED_FROM;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__ID = EXTENDED_REQUIREMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Master</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__MASTER = EXTENDED_REQUIREMENT__MASTER;
+
+	/**
+	 * The feature id for the '<em><b>Refined By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__REFINED_BY = EXTENDED_REQUIREMENT__REFINED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Satisfied By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__SATISFIED_BY = EXTENDED_REQUIREMENT__SATISFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Text</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__TEXT = EXTENDED_REQUIREMENT__TEXT;
+
+	/**
+	 * The feature id for the '<em><b>Traced To</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__TRACED_TO = EXTENDED_REQUIREMENT__TRACED_TO;
+
+	/**
+	 * The feature id for the '<em><b>Verified By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__VERIFIED_BY = EXTENDED_REQUIREMENT__VERIFIED_BY;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__BASE_CLASS = EXTENDED_REQUIREMENT__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__SOURCE = EXTENDED_REQUIREMENT__SOURCE;
+
+	/**
+	 * The feature id for the '<em><b>Risk</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__RISK = EXTENDED_REQUIREMENT__RISK;
+
+	/**
+	 * The feature id for the '<em><b>Verify Method</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT__VERIFY_METHOD = EXTENDED_REQUIREMENT__VERIFY_METHOD;
+
+	/**
+	 * The number of structural features of the '<em>Design Constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT_FEATURE_COUNT = EXTENDED_REQUIREMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Get Satisfied By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT___GET_SATISFIED_BY = EXTENDED_REQUIREMENT___GET_SATISFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Verified By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT___GET_VERIFIED_BY = EXTENDED_REQUIREMENT___GET_VERIFIED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Traced To</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT___GET_TRACED_TO = EXTENDED_REQUIREMENT___GET_TRACED_TO;
+
+	/**
+	 * The operation id for the '<em>Get Derived</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT___GET_DERIVED = EXTENDED_REQUIREMENT___GET_DERIVED;
+
+	/**
+	 * The operation id for the '<em>Get Derived From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT___GET_DERIVED_FROM = EXTENDED_REQUIREMENT___GET_DERIVED_FROM;
+
+	/**
+	 * The operation id for the '<em>Get Refined By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT___GET_REFINED_BY = EXTENDED_REQUIREMENT___GET_REFINED_BY;
+
+	/**
+	 * The operation id for the '<em>Get Master</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT___GET_MASTER = EXTENDED_REQUIREMENT___GET_MASTER;
+
+	/**
+	 * The number of operations of the '<em>Design Constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESIGN_CONSTRAINT_OPERATION_COUNT = EXTENDED_REQUIREMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.RiskKind <em>Risk Kind</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.RiskKind
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getRiskKind()
+	 * @generated
+	 */
+	int RISK_KIND = 6;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.VerificationMethodKind <em>Verification Method Kind</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.VerificationMethodKind
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getVerificationMethodKind()
+	 * @generated
+	 */
+	int VERIFICATION_METHOD_KIND = 7;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement <em>Extended Requirement</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Extended Requirement</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement
+	 * @generated
+	 */
+	EClass getExtendedRequirement();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement#getSource <em>Source</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Source</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement#getSource()
+	 * @see #getExtendedRequirement()
+	 * @generated
+	 */
+	EAttribute getExtendedRequirement_Source();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement#getRisk <em>Risk</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Risk</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement#getRisk()
+	 * @see #getExtendedRequirement()
+	 * @generated
+	 */
+	EAttribute getExtendedRequirement_Risk();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement#getVerifyMethod <em>Verify Method</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Verify Method</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement#getVerifyMethod()
+	 * @see #getExtendedRequirement()
+	 * @generated
+	 */
+	EAttribute getExtendedRequirement_VerifyMethod();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.requirementsextension.FunctionalRequirement <em>Functional Requirement</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Functional Requirement</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.FunctionalRequirement
+	 * @generated
+	 */
+	EClass getFunctionalRequirement();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.requirementsextension.InterfaceRequirement <em>Interface Requirement</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Interface Requirement</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.InterfaceRequirement
+	 * @generated
+	 */
+	EClass getInterfaceRequirement();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.requirementsextension.PerformanceRequirement <em>Performance Requirement</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Performance Requirement</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.PerformanceRequirement
+	 * @generated
+	 */
+	EClass getPerformanceRequirement();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.requirementsextension.PhysicalRequirement <em>Physical Requirement</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Physical Requirement</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.PhysicalRequirement
+	 * @generated
+	 */
+	EClass getPhysicalRequirement();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.requirementsextension.DesignConstraint <em>Design Constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Design Constraint</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.DesignConstraint
+	 * @generated
+	 */
+	EClass getDesignConstraint();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.papyrus.sysml16.requirementsextension.RiskKind <em>Risk Kind</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Risk Kind</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.RiskKind
+	 * @generated
+	 */
+	EEnum getRiskKind();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.papyrus.sysml16.requirementsextension.VerificationMethodKind <em>Verification Method Kind</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Verification Method Kind</em>'.
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.VerificationMethodKind
+	 * @generated
+	 */
+	EEnum getVerificationMethodKind();
+
+	/**
+	 * 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
+	 */
+	RequirementsExtensionFactory getRequirementsExtensionFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.ExtendedRequirementImpl <em>Extended Requirement</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.ExtendedRequirementImpl
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getExtendedRequirement()
+		 * @generated
+		 */
+		EClass EXTENDED_REQUIREMENT = eINSTANCE.getExtendedRequirement();
+
+		/**
+		 * The meta object literal for the '<em><b>Source</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EXTENDED_REQUIREMENT__SOURCE = eINSTANCE.getExtendedRequirement_Source();
+
+		/**
+		 * The meta object literal for the '<em><b>Risk</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EXTENDED_REQUIREMENT__RISK = eINSTANCE.getExtendedRequirement_Risk();
+
+		/**
+		 * The meta object literal for the '<em><b>Verify Method</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EXTENDED_REQUIREMENT__VERIFY_METHOD = eINSTANCE.getExtendedRequirement_VerifyMethod();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.FunctionalRequirementImpl <em>Functional Requirement</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.FunctionalRequirementImpl
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getFunctionalRequirement()
+		 * @generated
+		 */
+		EClass FUNCTIONAL_REQUIREMENT = eINSTANCE.getFunctionalRequirement();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.InterfaceRequirementImpl <em>Interface Requirement</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.InterfaceRequirementImpl
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getInterfaceRequirement()
+		 * @generated
+		 */
+		EClass INTERFACE_REQUIREMENT = eINSTANCE.getInterfaceRequirement();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.PerformanceRequirementImpl <em>Performance Requirement</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.PerformanceRequirementImpl
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getPerformanceRequirement()
+		 * @generated
+		 */
+		EClass PERFORMANCE_REQUIREMENT = eINSTANCE.getPerformanceRequirement();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.PhysicalRequirementImpl <em>Physical Requirement</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.PhysicalRequirementImpl
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getPhysicalRequirement()
+		 * @generated
+		 */
+		EClass PHYSICAL_REQUIREMENT = eINSTANCE.getPhysicalRequirement();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.DesignConstraintImpl <em>Design Constraint</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.DesignConstraintImpl
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getDesignConstraint()
+		 * @generated
+		 */
+		EClass DESIGN_CONSTRAINT = eINSTANCE.getDesignConstraint();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.RiskKind <em>Risk Kind</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.RiskKind
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getRiskKind()
+		 * @generated
+		 */
+		EEnum RISK_KIND = eINSTANCE.getRiskKind();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.requirementsextension.VerificationMethodKind <em>Verification Method Kind</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.VerificationMethodKind
+		 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionPackageImpl#getVerificationMethodKind()
+		 * @generated
+		 */
+		EEnum VERIFICATION_METHOD_KIND = eINSTANCE.getVerificationMethodKind();
+
+	}
+
+} //RequirementsExtensionPackage
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/RiskKind.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/RiskKind.java
new file mode 100644
index 0000000..37ed4dc
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/RiskKind.java
@@ -0,0 +1,261 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+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>Risk Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage#getRiskKind()
+ * @model
+ * @generated
+ */
+public enum RiskKind implements Enumerator {
+	/**
+	 * The '<em><b>High</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * High indicates an unacceptable level of risk
+	 * <!-- end-model-doc -->
+	 * @see #HIGH_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	HIGH(0, "High", "High"), //$NON-NLS-1$ //$NON-NLS-2$
+
+	/**
+	 * The '<em><b>Medium</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Medium indicates an acceptable level of risk
+	 * <!-- end-model-doc -->
+	 * @see #MEDIUM_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	MEDIUM(1, "Medium", "Medium"), //$NON-NLS-1$ //$NON-NLS-2$
+
+	/**
+	 * The '<em><b>Low</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Low indicates a minimal level of risk or no risk
+	 * <!-- end-model-doc -->
+	 * @see #LOW_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	LOW(2, "Low", "Low"); //$NON-NLS-1$ //$NON-NLS-2$
+
+	/**
+	 * The '<em><b>High</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * High indicates an unacceptable level of risk
+	 * <!-- end-model-doc -->
+	 * @see #HIGH
+	 * @model name="High"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int HIGH_VALUE = 0;
+
+	/**
+	 * The '<em><b>Medium</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Medium indicates an acceptable level of risk
+	 * <!-- end-model-doc -->
+	 * @see #MEDIUM
+	 * @model name="Medium"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int MEDIUM_VALUE = 1;
+
+	/**
+	 * The '<em><b>Low</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Low indicates a minimal level of risk or no risk
+	 * <!-- end-model-doc -->
+	 * @see #LOW
+	 * @model name="Low"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int LOW_VALUE = 2;
+
+	/**
+	 * An array of all the '<em><b>Risk Kind</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final RiskKind[] VALUES_ARRAY =
+		new RiskKind[] {
+			HIGH,
+			MEDIUM,
+			LOW,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Risk Kind</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<RiskKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Risk Kind</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static RiskKind get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			RiskKind result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Risk Kind</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static RiskKind getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			RiskKind result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Risk Kind</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static RiskKind get(int value) {
+		switch (value) {
+			case HIGH_VALUE: return HIGH;
+			case MEDIUM_VALUE: return MEDIUM;
+			case LOW_VALUE: return LOW;
+		}
+		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 RiskKind(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * 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;
+	}
+	
+} //RiskKind
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/VerificationMethodKind.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/VerificationMethodKind.java
new file mode 100644
index 0000000..6c4ad8c
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/VerificationMethodKind.java
@@ -0,0 +1,290 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+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>Verification Method Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage#getVerificationMethodKind()
+ * @model
+ * @generated
+ */
+public enum VerificationMethodKind implements Enumerator {
+	/**
+	 * The '<em><b>Analysis</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Analysis indicates that verification will be performed by technical evaluation using mathematical representations, charts, graphs, circuit diagrams, data reduction, or representative data. Analysis also includes the verification of requirements under conditions, which are simulated or modeled; where the results are derived from the analysis of the results produced by the model.
+	 * <!-- end-model-doc -->
+	 * @see #ANALYSIS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	ANALYSIS(0, "Analysis", "Analysis"), //$NON-NLS-1$ //$NON-NLS-2$
+
+	/**
+	 * The '<em><b>Demonstration</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Demonstration indicates that verification will be performed by operation, movement or adjustment of the item under specific conditions to perform the design functions without recording of quantitative data.. Demonstration is typically considered the least restrictive of the verification types.
+	 * <!-- end-model-doc -->
+	 * @see #DEMONSTRATION_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	DEMONSTRATION(1, "Demonstration", "Demonstration"), //$NON-NLS-1$ //$NON-NLS-2$
+
+	/**
+	 * The '<em><b>Inspection</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Inspection indicates that verification will be performed by examination of the item, reviewing descriptive documentation, and comparing the appropriate characteristics with a predetermined standard to determine conformance to requirements without the use of special laboratory equipment or procedures.
+	 * <!-- end-model-doc -->
+	 * @see #INSPECTION_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	INSPECTION(2, "Inspection", "Inspection"), //$NON-NLS-1$ //$NON-NLS-2$
+
+	/**
+	 * The '<em><b>Test</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Test indicates that verification will be performed through systematic exercising of the applicable item under appropriate conditions with instrumentation to measure required parameters and the collection, analysis, and evaluation of quantitative data to show that measured parameters equal or exceed specified requirements.
+	 * <!-- end-model-doc -->
+	 * @see #TEST_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	TEST(3, "Test", "Test"); //$NON-NLS-1$ //$NON-NLS-2$
+
+	/**
+	 * The '<em><b>Analysis</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Analysis indicates that verification will be performed by technical evaluation using mathematical representations, charts, graphs, circuit diagrams, data reduction, or representative data. Analysis also includes the verification of requirements under conditions, which are simulated or modeled; where the results are derived from the analysis of the results produced by the model.
+	 * <!-- end-model-doc -->
+	 * @see #ANALYSIS
+	 * @model name="Analysis"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ANALYSIS_VALUE = 0;
+
+	/**
+	 * The '<em><b>Demonstration</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Demonstration indicates that verification will be performed by operation, movement or adjustment of the item under specific conditions to perform the design functions without recording of quantitative data.. Demonstration is typically considered the least restrictive of the verification types.
+	 * <!-- end-model-doc -->
+	 * @see #DEMONSTRATION
+	 * @model name="Demonstration"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int DEMONSTRATION_VALUE = 1;
+
+	/**
+	 * The '<em><b>Inspection</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Inspection indicates that verification will be performed by examination of the item, reviewing descriptive documentation, and comparing the appropriate characteristics with a predetermined standard to determine conformance to requirements without the use of special laboratory equipment or procedures.
+	 * <!-- end-model-doc -->
+	 * @see #INSPECTION
+	 * @model name="Inspection"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int INSPECTION_VALUE = 2;
+
+	/**
+	 * The '<em><b>Test</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Test indicates that verification will be performed through systematic exercising of the applicable item under appropriate conditions with instrumentation to measure required parameters and the collection, analysis, and evaluation of quantitative data to show that measured parameters equal or exceed specified requirements.
+	 * <!-- end-model-doc -->
+	 * @see #TEST
+	 * @model name="Test"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int TEST_VALUE = 3;
+
+	/**
+	 * An array of all the '<em><b>Verification Method Kind</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final VerificationMethodKind[] VALUES_ARRAY =
+		new VerificationMethodKind[] {
+			ANALYSIS,
+			DEMONSTRATION,
+			INSPECTION,
+			TEST,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Verification Method Kind</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<VerificationMethodKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Verification Method Kind</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static VerificationMethodKind get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			VerificationMethodKind result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Verification Method Kind</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static VerificationMethodKind getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			VerificationMethodKind result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Verification Method Kind</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static VerificationMethodKind get(int value) {
+		switch (value) {
+			case ANALYSIS_VALUE: return ANALYSIS;
+			case DEMONSTRATION_VALUE: return DEMONSTRATION;
+			case INSPECTION_VALUE: return INSPECTION;
+			case TEST_VALUE: return TEST;
+		}
+		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 VerificationMethodKind(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * 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;
+	}
+	
+} //VerificationMethodKind
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/DesignConstraintImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/DesignConstraintImpl.java
new file mode 100644
index 0000000..14653d2
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/DesignConstraintImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.DesignConstraint;
+import org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Design Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DesignConstraintImpl extends ExtendedRequirementImpl implements DesignConstraint {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DesignConstraintImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsExtensionPackage.Literals.DESIGN_CONSTRAINT;
+	}
+
+} //DesignConstraintImpl
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/ExtendedRequirementImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/ExtendedRequirementImpl.java
new file mode 100644
index 0000000..ab79dce
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/ExtendedRequirementImpl.java
@@ -0,0 +1,291 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementImpl;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement;
+import org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage;
+import org.eclipse.papyrus.sysml16.requirementsextension.RiskKind;
+import org.eclipse.papyrus.sysml16.requirementsextension.VerificationMethodKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extended Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.ExtendedRequirementImpl#getSource <em>Source</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.ExtendedRequirementImpl#getRisk <em>Risk</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.ExtendedRequirementImpl#getVerifyMethod <em>Verify Method</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ExtendedRequirementImpl extends RequirementImpl implements ExtendedRequirement {
+	/**
+	 * The default value of the '{@link #getSource() <em>Source</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSource()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String SOURCE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getSource() <em>Source</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSource()
+	 * @generated
+	 * @ordered
+	 */
+	protected String source = SOURCE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRisk() <em>Risk</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRisk()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final RiskKind RISK_EDEFAULT = RiskKind.HIGH;
+
+	/**
+	 * The cached value of the '{@link #getRisk() <em>Risk</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRisk()
+	 * @generated
+	 * @ordered
+	 */
+	protected RiskKind risk = RISK_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getVerifyMethod() <em>Verify Method</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVerifyMethod()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final VerificationMethodKind VERIFY_METHOD_EDEFAULT = VerificationMethodKind.ANALYSIS;
+
+	/**
+	 * The cached value of the '{@link #getVerifyMethod() <em>Verify Method</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVerifyMethod()
+	 * @generated
+	 * @ordered
+	 */
+	protected VerificationMethodKind verifyMethod = VERIFY_METHOD_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExtendedRequirementImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsExtensionPackage.Literals.EXTENDED_REQUIREMENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getSource() {
+		return source;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setSource(String newSource) {
+		String oldSource = source;
+		source = newSource;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RequirementsExtensionPackage.EXTENDED_REQUIREMENT__SOURCE, oldSource, source));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public RiskKind getRisk() {
+		return risk;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setRisk(RiskKind newRisk) {
+		RiskKind oldRisk = risk;
+		risk = newRisk == null ? RISK_EDEFAULT : newRisk;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RequirementsExtensionPackage.EXTENDED_REQUIREMENT__RISK, oldRisk, risk));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public VerificationMethodKind getVerifyMethod() {
+		return verifyMethod;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setVerifyMethod(VerificationMethodKind newVerifyMethod) {
+		VerificationMethodKind oldVerifyMethod = verifyMethod;
+		verifyMethod = newVerifyMethod == null ? VERIFY_METHOD_EDEFAULT : newVerifyMethod;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RequirementsExtensionPackage.EXTENDED_REQUIREMENT__VERIFY_METHOD, oldVerifyMethod, verifyMethod));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__SOURCE:
+				return getSource();
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__RISK:
+				return getRisk();
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__VERIFY_METHOD:
+				return getVerifyMethod();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__SOURCE:
+				setSource((String)newValue);
+				return;
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__RISK:
+				setRisk((RiskKind)newValue);
+				return;
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__VERIFY_METHOD:
+				setVerifyMethod((VerificationMethodKind)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__SOURCE:
+				setSource(SOURCE_EDEFAULT);
+				return;
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__RISK:
+				setRisk(RISK_EDEFAULT);
+				return;
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__VERIFY_METHOD:
+				setVerifyMethod(VERIFY_METHOD_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__SOURCE:
+				return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__RISK:
+				return risk != RISK_EDEFAULT;
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT__VERIFY_METHOD:
+				return verifyMethod != VERIFY_METHOD_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (source: "); //$NON-NLS-1$
+		result.append(source);
+		result.append(", risk: "); //$NON-NLS-1$
+		result.append(risk);
+		result.append(", verifyMethod: "); //$NON-NLS-1$
+		result.append(verifyMethod);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ExtendedRequirementImpl
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/FunctionalRequirementImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/FunctionalRequirementImpl.java
new file mode 100644
index 0000000..51fb1fe
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/FunctionalRequirementImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.FunctionalRequirement;
+import org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Functional Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class FunctionalRequirementImpl extends ExtendedRequirementImpl implements FunctionalRequirement {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FunctionalRequirementImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsExtensionPackage.Literals.FUNCTIONAL_REQUIREMENT;
+	}
+
+} //FunctionalRequirementImpl
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/InterfaceRequirementImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/InterfaceRequirementImpl.java
new file mode 100644
index 0000000..decbd3e
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/InterfaceRequirementImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.InterfaceRequirement;
+import org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interface Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class InterfaceRequirementImpl extends ExtendedRequirementImpl implements InterfaceRequirement {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InterfaceRequirementImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsExtensionPackage.Literals.INTERFACE_REQUIREMENT;
+	}
+
+} //InterfaceRequirementImpl
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/PerformanceRequirementImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/PerformanceRequirementImpl.java
new file mode 100644
index 0000000..f408d2e
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/PerformanceRequirementImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.PerformanceRequirement;
+import org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Performance Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PerformanceRequirementImpl extends ExtendedRequirementImpl implements PerformanceRequirement {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PerformanceRequirementImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsExtensionPackage.Literals.PERFORMANCE_REQUIREMENT;
+	}
+
+} //PerformanceRequirementImpl
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/PhysicalRequirementImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/PhysicalRequirementImpl.java
new file mode 100644
index 0000000..270fbf2
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/PhysicalRequirementImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.PhysicalRequirement;
+import org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Physical Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PhysicalRequirementImpl extends ExtendedRequirementImpl implements PhysicalRequirement {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PhysicalRequirementImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsExtensionPackage.Literals.PHYSICAL_REQUIREMENT;
+	}
+
+} //PhysicalRequirementImpl
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/RequirementsExtensionFactoryImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/RequirementsExtensionFactoryImpl.java
new file mode 100644
index 0000000..e135b03
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/RequirementsExtensionFactoryImpl.java
@@ -0,0 +1,231 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.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.sysml16.requirementsextension.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RequirementsExtensionFactoryImpl extends EFactoryImpl implements RequirementsExtensionFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static RequirementsExtensionFactory init() {
+		try {
+			RequirementsExtensionFactory theRequirementsExtensionFactory = (RequirementsExtensionFactory)EPackage.Registry.INSTANCE.getEFactory(RequirementsExtensionPackage.eNS_URI);
+			if (theRequirementsExtensionFactory != null) {
+				return theRequirementsExtensionFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new RequirementsExtensionFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RequirementsExtensionFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case RequirementsExtensionPackage.FUNCTIONAL_REQUIREMENT: return createFunctionalRequirement();
+			case RequirementsExtensionPackage.INTERFACE_REQUIREMENT: return createInterfaceRequirement();
+			case RequirementsExtensionPackage.PERFORMANCE_REQUIREMENT: return createPerformanceRequirement();
+			case RequirementsExtensionPackage.PHYSICAL_REQUIREMENT: return createPhysicalRequirement();
+			case RequirementsExtensionPackage.DESIGN_CONSTRAINT: return createDesignConstraint();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+			case RequirementsExtensionPackage.RISK_KIND:
+				return createRiskKindFromString(eDataType, initialValue);
+			case RequirementsExtensionPackage.VERIFICATION_METHOD_KIND:
+				return createVerificationMethodKindFromString(eDataType, initialValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+			case RequirementsExtensionPackage.RISK_KIND:
+				return convertRiskKindToString(eDataType, instanceValue);
+			case RequirementsExtensionPackage.VERIFICATION_METHOD_KIND:
+				return convertVerificationMethodKindToString(eDataType, instanceValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public FunctionalRequirement createFunctionalRequirement() {
+		FunctionalRequirementImpl functionalRequirement = new FunctionalRequirementImpl();
+		return functionalRequirement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public InterfaceRequirement createInterfaceRequirement() {
+		InterfaceRequirementImpl interfaceRequirement = new InterfaceRequirementImpl();
+		return interfaceRequirement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public PerformanceRequirement createPerformanceRequirement() {
+		PerformanceRequirementImpl performanceRequirement = new PerformanceRequirementImpl();
+		return performanceRequirement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public PhysicalRequirement createPhysicalRequirement() {
+		PhysicalRequirementImpl physicalRequirement = new PhysicalRequirementImpl();
+		return physicalRequirement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public DesignConstraint createDesignConstraint() {
+		DesignConstraintImpl designConstraint = new DesignConstraintImpl();
+		return designConstraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RiskKind createRiskKindFromString(EDataType eDataType, String initialValue) {
+		RiskKind result = RiskKind.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertRiskKindToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public VerificationMethodKind createVerificationMethodKindFromString(EDataType eDataType, String initialValue) {
+		VerificationMethodKind result = VerificationMethodKind.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertVerificationMethodKindToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public RequirementsExtensionPackage getRequirementsExtensionPackage() {
+		return (RequirementsExtensionPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static RequirementsExtensionPackage getPackage() {
+		return RequirementsExtensionPackage.eINSTANCE;
+	}
+
+} //RequirementsExtensionFactoryImpl
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/RequirementsExtensionPackageImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/RequirementsExtensionPackageImpl.java
new file mode 100644
index 0000000..a30e17f
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/internal/impl/RequirementsExtensionPackageImpl.java
@@ -0,0 +1,426 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.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.EPackage;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.DesignConstraint;
+import org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement;
+import org.eclipse.papyrus.sysml16.requirementsextension.FunctionalRequirement;
+import org.eclipse.papyrus.sysml16.requirementsextension.InterfaceRequirement;
+import org.eclipse.papyrus.sysml16.requirementsextension.PerformanceRequirement;
+import org.eclipse.papyrus.sysml16.requirementsextension.PhysicalRequirement;
+import org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionFactory;
+import org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage;
+import org.eclipse.papyrus.sysml16.requirementsextension.RiskKind;
+import org.eclipse.papyrus.sysml16.requirementsextension.VerificationMethodKind;
+
+import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
+
+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 RequirementsExtensionPackageImpl extends EPackageImpl implements RequirementsExtensionPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass extendedRequirementEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass functionalRequirementEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass interfaceRequirementEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass performanceRequirementEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass physicalRequirementEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass designConstraintEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum riskKindEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum verificationMethodKindEEnum = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.RequirementsExtensionPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private RequirementsExtensionPackageImpl() {
+		super(eNS_URI, RequirementsExtensionFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link RequirementsExtensionPackage#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 RequirementsExtensionPackage init() {
+		if (isInited) return (RequirementsExtensionPackage)EPackage.Registry.INSTANCE.getEPackage(RequirementsExtensionPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredRequirementsExtensionPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		RequirementsExtensionPackageImpl theRequirementsExtensionPackage = registeredRequirementsExtensionPackage instanceof RequirementsExtensionPackageImpl ? (RequirementsExtensionPackageImpl)registeredRequirementsExtensionPackage : new RequirementsExtensionPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		StandardPackage.eINSTANCE.eClass();
+		SysMLPackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Create package meta-data objects
+		theRequirementsExtensionPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theRequirementsExtensionPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theRequirementsExtensionPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(RequirementsExtensionPackage.eNS_URI, theRequirementsExtensionPackage);
+		return theRequirementsExtensionPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getExtendedRequirement() {
+		return extendedRequirementEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getExtendedRequirement_Source() {
+		return (EAttribute)extendedRequirementEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getExtendedRequirement_Risk() {
+		return (EAttribute)extendedRequirementEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getExtendedRequirement_VerifyMethod() {
+		return (EAttribute)extendedRequirementEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getFunctionalRequirement() {
+		return functionalRequirementEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getInterfaceRequirement() {
+		return interfaceRequirementEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getPerformanceRequirement() {
+		return performanceRequirementEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getPhysicalRequirement() {
+		return physicalRequirementEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDesignConstraint() {
+		return designConstraintEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EEnum getRiskKind() {
+		return riskKindEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EEnum getVerificationMethodKind() {
+		return verificationMethodKindEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public RequirementsExtensionFactory getRequirementsExtensionFactory() {
+		return (RequirementsExtensionFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		extendedRequirementEClass = createEClass(EXTENDED_REQUIREMENT);
+		createEAttribute(extendedRequirementEClass, EXTENDED_REQUIREMENT__SOURCE);
+		createEAttribute(extendedRequirementEClass, EXTENDED_REQUIREMENT__RISK);
+		createEAttribute(extendedRequirementEClass, EXTENDED_REQUIREMENT__VERIFY_METHOD);
+
+		functionalRequirementEClass = createEClass(FUNCTIONAL_REQUIREMENT);
+
+		interfaceRequirementEClass = createEClass(INTERFACE_REQUIREMENT);
+
+		performanceRequirementEClass = createEClass(PERFORMANCE_REQUIREMENT);
+
+		physicalRequirementEClass = createEClass(PHYSICAL_REQUIREMENT);
+
+		designConstraintEClass = createEClass(DESIGN_CONSTRAINT);
+
+		// Create enums
+		riskKindEEnum = createEEnum(RISK_KIND);
+		verificationMethodKindEEnum = createEEnum(VERIFICATION_METHOD_KIND);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		RequirementsPackage theRequirementsPackage = (RequirementsPackage)EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		extendedRequirementEClass.getESuperTypes().add(theRequirementsPackage.getRequirement());
+		functionalRequirementEClass.getESuperTypes().add(this.getExtendedRequirement());
+		interfaceRequirementEClass.getESuperTypes().add(this.getExtendedRequirement());
+		performanceRequirementEClass.getESuperTypes().add(this.getExtendedRequirement());
+		physicalRequirementEClass.getESuperTypes().add(this.getExtendedRequirement());
+		designConstraintEClass.getESuperTypes().add(this.getExtendedRequirement());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(extendedRequirementEClass, ExtendedRequirement.class, "ExtendedRequirement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getExtendedRequirement_Source(), theTypesPackage.getString(), "source", null, 0, 1, ExtendedRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getExtendedRequirement_Risk(), this.getRiskKind(), "risk", null, 0, 1, ExtendedRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getExtendedRequirement_VerifyMethod(), this.getVerificationMethodKind(), "verifyMethod", null, 0, 1, ExtendedRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(functionalRequirementEClass, FunctionalRequirement.class, "FunctionalRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(interfaceRequirementEClass, InterfaceRequirement.class, "InterfaceRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(performanceRequirementEClass, PerformanceRequirement.class, "PerformanceRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(physicalRequirementEClass, PhysicalRequirement.class, "PhysicalRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(designConstraintEClass, DesignConstraint.class, "DesignConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		// Initialize enums and add enum literals
+		initEEnum(riskKindEEnum, RiskKind.class, "RiskKind"); //$NON-NLS-1$
+		addEEnumLiteral(riskKindEEnum, RiskKind.HIGH);
+		addEEnumLiteral(riskKindEEnum, RiskKind.MEDIUM);
+		addEEnumLiteral(riskKindEEnum, RiskKind.LOW);
+
+		initEEnum(verificationMethodKindEEnum, VerificationMethodKind.class, "VerificationMethodKind"); //$NON-NLS-1$
+		addEEnumLiteral(verificationMethodKindEEnum, VerificationMethodKind.ANALYSIS);
+		addEEnumLiteral(verificationMethodKindEEnum, VerificationMethodKind.DEMONSTRATION);
+		addEEnumLiteral(verificationMethodKindEEnum, VerificationMethodKind.INSPECTION);
+		addEEnumLiteral(verificationMethodKindEEnum, VerificationMethodKind.TEST);
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http://www.eclipse.org/uml2/2.0.0/UML
+		createUMLAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createUMLAnnotations() {
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$
+		addAnnotation
+		  (this,
+		   source,
+		   new String[] {
+			   "originalName", "RequirementsExtension" //$NON-NLS-1$ //$NON-NLS-2$
+		   });
+	}
+
+} //RequirementsExtensionPackageImpl
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/util/RequirementsExtensionAdapterFactory.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/util/RequirementsExtensionAdapterFactory.java
new file mode 100644
index 0000000..d633b1c
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/util/RequirementsExtensionAdapterFactory.java
@@ -0,0 +1,260 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.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.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.*;
+
+/**
+ * <!-- 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.sysml16.requirementsextension.RequirementsExtensionPackage
+ * @generated
+ */
+public class RequirementsExtensionAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static RequirementsExtensionPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RequirementsExtensionAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = RequirementsExtensionPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RequirementsExtensionSwitch<Adapter> modelSwitch =
+		new RequirementsExtensionSwitch<Adapter>() {
+			@Override
+			public Adapter caseExtendedRequirement(ExtendedRequirement object) {
+				return createExtendedRequirementAdapter();
+			}
+			@Override
+			public Adapter caseFunctionalRequirement(FunctionalRequirement object) {
+				return createFunctionalRequirementAdapter();
+			}
+			@Override
+			public Adapter caseInterfaceRequirement(InterfaceRequirement object) {
+				return createInterfaceRequirementAdapter();
+			}
+			@Override
+			public Adapter casePerformanceRequirement(PerformanceRequirement object) {
+				return createPerformanceRequirementAdapter();
+			}
+			@Override
+			public Adapter casePhysicalRequirement(PhysicalRequirement object) {
+				return createPhysicalRequirementAdapter();
+			}
+			@Override
+			public Adapter caseDesignConstraint(DesignConstraint object) {
+				return createDesignConstraintAdapter();
+			}
+			@Override
+			public Adapter caseAbstractRequirement(AbstractRequirement object) {
+				return createAbstractRequirementAdapter();
+			}
+			@Override
+			public Adapter caseRequirement(Requirement object) {
+				return createRequirementAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.requirementsextension.ExtendedRequirement <em>Extended 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.sysml16.requirementsextension.ExtendedRequirement
+	 * @generated
+	 */
+	public Adapter createExtendedRequirementAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.requirementsextension.FunctionalRequirement <em>Functional 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.sysml16.requirementsextension.FunctionalRequirement
+	 * @generated
+	 */
+	public Adapter createFunctionalRequirementAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.requirementsextension.InterfaceRequirement <em>Interface 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.sysml16.requirementsextension.InterfaceRequirement
+	 * @generated
+	 */
+	public Adapter createInterfaceRequirementAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.requirementsextension.PerformanceRequirement <em>Performance 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.sysml16.requirementsextension.PerformanceRequirement
+	 * @generated
+	 */
+	public Adapter createPerformanceRequirementAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.requirementsextension.PhysicalRequirement <em>Physical 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.sysml16.requirementsextension.PhysicalRequirement
+	 * @generated
+	 */
+	public Adapter createPhysicalRequirementAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.requirementsextension.DesignConstraint <em>Design Constraint</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.sysml16.requirementsextension.DesignConstraint
+	 * @generated
+	 */
+	public Adapter createDesignConstraintAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement <em>Abstract 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.sysml16.requirements.AbstractRequirement
+	 * @generated
+	 */
+	public Adapter createAbstractRequirementAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.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.sysml16.requirements.Requirement
+	 * @generated
+	 */
+	public Adapter createRequirementAdapter() {
+		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;
+	}
+
+} //RequirementsExtensionAdapterFactory
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/util/RequirementsExtensionSwitch.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/util/RequirementsExtensionSwitch.java
new file mode 100644
index 0000000..bb49f1c
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src-gen/org/eclipse/papyrus/sysml16/requirementsextension/util/RequirementsExtensionSwitch.java
@@ -0,0 +1,276 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirementsextension.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.*;
+
+/**
+ * <!-- 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.sysml16.requirementsextension.RequirementsExtensionPackage
+ * @generated
+ */
+public class RequirementsExtensionSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static RequirementsExtensionPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RequirementsExtensionSwitch() {
+		if (modelPackage == null) {
+			modelPackage = RequirementsExtensionPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case RequirementsExtensionPackage.EXTENDED_REQUIREMENT: {
+				ExtendedRequirement extendedRequirement = (ExtendedRequirement)theEObject;
+				T result = caseExtendedRequirement(extendedRequirement);
+				if (result == null) result = caseRequirement(extendedRequirement);
+				if (result == null) result = caseAbstractRequirement(extendedRequirement);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RequirementsExtensionPackage.FUNCTIONAL_REQUIREMENT: {
+				FunctionalRequirement functionalRequirement = (FunctionalRequirement)theEObject;
+				T result = caseFunctionalRequirement(functionalRequirement);
+				if (result == null) result = caseExtendedRequirement(functionalRequirement);
+				if (result == null) result = caseRequirement(functionalRequirement);
+				if (result == null) result = caseAbstractRequirement(functionalRequirement);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RequirementsExtensionPackage.INTERFACE_REQUIREMENT: {
+				InterfaceRequirement interfaceRequirement = (InterfaceRequirement)theEObject;
+				T result = caseInterfaceRequirement(interfaceRequirement);
+				if (result == null) result = caseExtendedRequirement(interfaceRequirement);
+				if (result == null) result = caseRequirement(interfaceRequirement);
+				if (result == null) result = caseAbstractRequirement(interfaceRequirement);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RequirementsExtensionPackage.PERFORMANCE_REQUIREMENT: {
+				PerformanceRequirement performanceRequirement = (PerformanceRequirement)theEObject;
+				T result = casePerformanceRequirement(performanceRequirement);
+				if (result == null) result = caseExtendedRequirement(performanceRequirement);
+				if (result == null) result = caseRequirement(performanceRequirement);
+				if (result == null) result = caseAbstractRequirement(performanceRequirement);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RequirementsExtensionPackage.PHYSICAL_REQUIREMENT: {
+				PhysicalRequirement physicalRequirement = (PhysicalRequirement)theEObject;
+				T result = casePhysicalRequirement(physicalRequirement);
+				if (result == null) result = caseExtendedRequirement(physicalRequirement);
+				if (result == null) result = caseRequirement(physicalRequirement);
+				if (result == null) result = caseAbstractRequirement(physicalRequirement);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RequirementsExtensionPackage.DESIGN_CONSTRAINT: {
+				DesignConstraint designConstraint = (DesignConstraint)theEObject;
+				T result = caseDesignConstraint(designConstraint);
+				if (result == null) result = caseExtendedRequirement(designConstraint);
+				if (result == null) result = caseRequirement(designConstraint);
+				if (result == null) result = caseAbstractRequirement(designConstraint);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Extended 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>Extended Requirement</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseExtendedRequirement(ExtendedRequirement object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Functional 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>Functional Requirement</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFunctionalRequirement(FunctionalRequirement object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Interface 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>Interface Requirement</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseInterfaceRequirement(InterfaceRequirement object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Performance 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>Performance Requirement</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePerformanceRequirement(PerformanceRequirement object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Physical 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>Physical Requirement</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePhysicalRequirement(PhysicalRequirement object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Design Constraint</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>Design Constraint</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDesignConstraint(DesignConstraint object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Abstract 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>Abstract Requirement</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAbstractRequirement(AbstractRequirement 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>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;
+	}
+
+} //RequirementsExtensionSwitch
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirements/extension/Activator.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirements/extension/Activator.java
new file mode 100644
index 0000000..e6e7569
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirements/extension/Activator.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirements.extension;
+
+import org.eclipse.core.runtime.Plugin;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends Plugin {
+
+	/**
+	 * The plug-in ID.
+	 */
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.sysml16.requirements.extension"; //$NON-NLS-1$
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/DesignConstraintCustomImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/DesignConstraintCustomImpl.java
new file mode 100644
index 0000000..d64b626
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/DesignConstraintCustomImpl.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * This class has been implemented in order to depend on Requirement Custom implementation.
+ */
+public class DesignConstraintCustomImpl extends ExtendedRequirementCustomImpl implements DesignConstraint {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.ExtendedRequirementImpl#eStaticClass()
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsExtensionPackage.Literals.DESIGN_CONSTRAINT;
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/ExtendedRequirementCustomImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/ExtendedRequirementCustomImpl.java
new file mode 100644
index 0000000..8fe7128
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/ExtendedRequirementCustomImpl.java
@@ -0,0 +1,275 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList;
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.Copy;
+import org.eclipse.papyrus.sysml16.requirements.DeriveReqt;
+import org.eclipse.papyrus.sysml16.requirements.Refine;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.requirements.Satisfy;
+import org.eclipse.papyrus.sysml16.requirements.Trace;
+import org.eclipse.papyrus.sysml16.requirements.Verify;
+import org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.ExtendedRequirementImpl;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+public abstract class ExtendedRequirementCustomImpl extends ExtendedRequirementImpl implements ExtendedRequirement {
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /master: Requirement [0..1]
+	 * This is a derived property that lists the master requirement for this slave requirement. The master attribute is
+	 * derived from the supplier of the Copy dependency that has this requirement as the slave.
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getMaster()
+	 *
+	 * @return The list of requirements.
+	 */
+	@Override
+	public EList<AbstractRequirement> getMaster() {
+		// The Requirement is the supplier of the Copy link between the master Requirements
+		// This should return the TestCase verifying current Requirements
+		EList<Requirement> masters = new BasicEList<>();
+		if (getBase_Class() != null) {
+			Iterator<Dependency> itDep = getBase_Class().getClientDependencies().iterator();
+
+			// Find Copy link
+			while (itDep.hasNext()) {
+				Dependency currentDep = itDep.next();
+				Copy currentCopy = UMLUtil.getStereotypeApplication(currentDep, Copy.class);
+
+				if (currentCopy != null) {
+					EList<NamedElement> suppliers = currentCopy.getBase_Abstraction().getSuppliers();
+					Iterator<NamedElement> it = suppliers.iterator();
+					while (it.hasNext()) {
+						Requirement currentRequirement = UMLUtil.getStereotypeApplication(it.next(), Requirement.class);
+						if (currentRequirement != null) {
+							masters.add(currentRequirement);
+						}
+					}
+				}
+			}
+		}
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_Master(), masters.size(), masters.toArray());
+	}
+
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /derived: Requirement [*]
+	 * Derived from all requirements that are the client of a «deriveReqt» relationship for which this requirement is a
+	 * supplier.
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getDerived()
+	 *
+	 * @return The list of requirements.
+	 */
+	@Override
+	public EList<AbstractRequirement> getDerived() {
+		// This should return the Requirement(s) derived from current
+		EList<Requirement> derived = new BasicEList<>();
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find DeriveReqt link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDirectedRelationship = itDep.next();
+				DeriveReqt 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);
+						}
+					}
+				}
+			}
+		}
+
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_Derived(), derived.size(), derived.toArray());
+	}
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /derivedFrom: Requirement [*]
+	 * Derived from all requirements that are the supplier of a «deriveReqt» relationship for which this requirement is a
+	 * client.
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getDerivedFrom()
+	 *
+	 * @return The list of requirements.
+	 */
+	@Override
+	public EList<AbstractRequirement> getDerivedFrom() {
+		// This should return the Requirement(s) this Requirement is derived from
+		EList<Requirement> derivedFrom = new BasicEList<>();
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getSourceDirectedRelationships().iterator();
+
+			// Find DeriveReqt link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				DeriveReqt 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);
+						}
+					}
+				}
+			}
+		}
+
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_DerivedFrom(), derivedFrom.size(), derivedFrom.toArray());
+	}
+
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /refinedBy: NamedElement [*]
+	 * Derived from all elements that are the client of a «refine» relationship for which this requirement is a supplier.
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getRefinedBy()
+	 *
+	 * @return The list of refining NamedElements.
+	 */
+	@Override
+	public EList<NamedElement> getRefinedBy() {
+		// This should return the NamedElement(s) that refine current Requirement
+		EList<NamedElement> refinedBy = new BasicEList<>();
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find Refine link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				Refine currentRefine = UMLUtil.getStereotypeApplication(currentDRelationship, Refine.class);
+
+				if (currentRefine != null) {
+					refinedBy.addAll(currentRefine.getBase_Abstraction().getClients());
+				}
+			}
+		}
+
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_RefinedBy(), refinedBy.size(), refinedBy.toArray());
+	}
+
+
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /satisfiedBy: NamedElement [*]
+	 * Derived from all elements that are the client of a «satisfy» relationship for which this requirement is a supplier.
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getSatisfiedBy()
+	 *
+	 * @return the list of statisfying NamedElements.
+	 */
+	@Override
+	public EList<NamedElement> getSatisfiedBy() {
+		// This should return the NamedElement(s) that satisfy current Requirement
+		EList<NamedElement> satisfyBy = new BasicEList<>();
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find Satisfy link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				Satisfy currentSatisfy = UMLUtil.getStereotypeApplication(currentDRelationship, Satisfy.class);
+
+				if (currentSatisfy != null) {
+					satisfyBy.addAll(currentSatisfy.getBase_Abstraction().getClients());
+				}
+			}
+		}
+
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_SatisfiedBy(), satisfyBy.size(), satisfyBy.toArray());
+	}
+
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /tracedTo: NamedElement [*]
+	 * Derived from all elements that are the supplier of a «trace» relationship for which this requirement is a client.
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getTracedTo()
+	 *
+	 * @return The list of tracing NamedElements.
+	 */
+	@Override
+	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<>();
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find Trace link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDR = itDep.next();
+				Trace currentTrace = UMLUtil.getStereotypeApplication(currentDR, Trace.class);
+
+				// Must be a Trace not a subtype (see bug #352563).
+				if (currentTrace != null && currentTrace.eClass() == RequirementsPackage.eINSTANCE.getTrace()) {
+					EList<NamedElement> suppliers = currentTrace.getBase_Abstraction().getClients();
+					tracedTo.addAll(suppliers);
+				}
+			}
+		}
+
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_TracedTo(), tracedTo.size(), tracedTo.toArray());
+	}
+
+
+	/**
+	 * 16.3.2.1 AbstractRequirement : /verifiedBy: NamedElement [*]
+	 * Derived from all elements that are the client of a «verify» relationship for which this requirement is a supplier.
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirements.internal.impl.AbstractRequirementImpl#getVerifiedBy()
+	 *
+	 * @return The list of verifying NamedElements.
+	 */
+	@Override
+	public EList<NamedElement> getVerifiedBy() {
+		// This should return the list of NamedElement verifying current Requirements
+		EList<NamedElement> verifiedBy = new BasicEList<>();
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find Verify link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				Verify currentVerify = UMLUtil.getStereotypeApplication(currentDRelationship, Verify.class);
+
+				if (currentVerify != null) {
+					verifiedBy.addAll(currentVerify.getBase_Abstraction().getClients());
+				}
+			}
+		}
+		return new UnmodifiableEList<>(this, RequirementsPackage.eINSTANCE.getAbstractRequirement_VerifiedBy(), verifiedBy.size(), verifiedBy.toArray());
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/FunctionalRequirementCustomImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/FunctionalRequirementCustomImpl.java
new file mode 100644
index 0000000..2c57cb5
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/FunctionalRequirementCustomImpl.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * This class has been implemented in order to depend on Requirement Custom implementation.
+ */
+public class FunctionalRequirementCustomImpl extends ExtendedRequirementCustomImpl implements FunctionalRequirement {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.ExtendedRequirementImpl#eStaticClass()
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsExtensionPackage.Literals.FUNCTIONAL_REQUIREMENT;
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/InterfaceRequirementCustomImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/InterfaceRequirementCustomImpl.java
new file mode 100644
index 0000000..5f0d871
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/InterfaceRequirementCustomImpl.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * This class has been implemented in order to depend on Requirement Custom implementation.
+ */
+public class InterfaceRequirementCustomImpl extends ExtendedRequirementCustomImpl implements InterfaceRequirement {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.ExtendedRequirementImpl#eStaticClass()
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsExtensionPackage.Literals.INTERFACE_REQUIREMENT;
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/PerformanceRequirementCustomImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/PerformanceRequirementCustomImpl.java
new file mode 100644
index 0000000..501b3ea
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/PerformanceRequirementCustomImpl.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * This class has been implemented in order to depend on Requirement Custom implementation.
+ */
+public class PerformanceRequirementCustomImpl extends ExtendedRequirementCustomImpl implements PerformanceRequirement {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.ExtendedRequirementImpl#eStaticClass()
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsExtensionPackage.Literals.PERFORMANCE_REQUIREMENT;
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/PhysicalRequirementCustomImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/PhysicalRequirementCustomImpl.java
new file mode 100644
index 0000000..f53d6b5
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/PhysicalRequirementCustomImpl.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * This class has been implemented in order to depend on Requirement Custom implementation.
+ */
+public class PhysicalRequirementCustomImpl extends ExtendedRequirementCustomImpl implements PhysicalRequirement {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.ExtendedRequirementImpl#eStaticClass()
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsExtensionPackage.Literals.PHYSICAL_REQUIREMENT;
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/RequirementsExtensionFactoryCustomImpl.java b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/RequirementsExtensionFactoryCustomImpl.java
new file mode 100644
index 0000000..e46b9f3
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/org.eclipse.papyrus.sysml16.requirements.extension/src/org/eclipse/papyrus/sysml16/requirementsextension/RequirementsExtensionFactoryCustomImpl.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.requirementsextension;
+
+import org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionFactoryImpl;
+
+/**
+ * this class has been added in order to integrated specific implementation of Stereotypes: Requirement.
+ * Specific code has been added to calculate derived properties see Requirement Req0010 DerivedProperties
+ *
+ *
+ */
+public class RequirementsExtensionFactoryCustomImpl extends RequirementsExtensionFactoryImpl implements RequirementsExtensionFactory {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionFactoryImpl#createDesignConstraint()
+	 */
+	@Override
+	public DesignConstraint createDesignConstraint() {
+		return new DesignConstraintCustomImpl();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionFactoryImpl#createInterfaceRequirement()
+	 */
+	@Override
+	public InterfaceRequirement createInterfaceRequirement() {
+		return new InterfaceRequirementCustomImpl();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionFactoryImpl#createPerformanceRequirement()
+	 */
+	@Override
+	public PerformanceRequirement createPerformanceRequirement() {
+		return new PerformanceRequirementCustomImpl();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionFactoryImpl#createFunctionalRequirement()
+	 */
+	@Override
+	public FunctionalRequirement createFunctionalRequirement() {
+		return new FunctionalRequirementCustomImpl();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirementsextension.internal.impl.RequirementsExtensionFactoryImpl#createPhysicalRequirement()
+	 */
+	@Override
+	public PhysicalRequirement createPhysicalRequirement() {
+		return new PhysicalRequirementCustomImpl();
+	}
+
+}
diff --git a/plugins/extension/RequirementsExtension/pom.xml b/plugins/extension/RequirementsExtension/pom.xml
new file mode 100644
index 0000000..a3e23f2
--- /dev/null
+++ b/plugins/extension/RequirementsExtension/pom.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.extensions</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.requirements.extension.plugins</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML 1.6 Requirements Extension</name>
+	<description>The SysML 1.6 plug-ins for the Requirements Extensions management.</description>
+	<modules>
+		<module>org.eclipse.papyrus.sysml16.requirements.extension</module>
+		<module>org.eclipse.papyrus.sysml16.requirements.extension.edit</module>
+		<module>org.eclipse.papyrus.sysml16.requirements.extension.ui</module>
+		<module>org.eclipse.papyrus.sysml16.requirements.extension.validation</module>
+	</modules>
+</project>
diff --git a/plugins/extension/pom.xml b/plugins/extension/pom.xml
new file mode 100644
index 0000000..0304f20
--- /dev/null
+++ b/plugins/extension/pom.xml
@@ -0,0 +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" 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.sysml16.plugins</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.extensions</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML Extensions</name>
+	<description>The extensions described in the SysML Profile</description>
+	<modules>
+		<module>RequirementsExtension</module>
+	</modules>
+</project>
diff --git a/plugins/gui/.settings/org.eclipse.core.resources.prefs b/plugins/gui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/plugins/gui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.classpath b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.project b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.project
new file mode 100644
index 0000000..73249ec
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.architecture</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.core.resources.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.core.runtime.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.jdt.core.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.jdt.ui.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.m2e.core.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.pde.api.tools.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/META-INF/MANIFEST.MF b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..6781d4f
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/META-INF/MANIFEST.MF
@@ -0,0 +1,45 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.architecture;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.gmf.runtime.emf.core;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.sysml16.nattable.requirement;bundle-version="1.0.0",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.gmf.runtime.notation;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.papyrus.infra.architecture;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.core.architecture;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.architecture.representation;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.nattable.representation;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.representation;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.style;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.nattable.common;bundle-version="3.0.0",
+ org.eclipse.papyrus.uml.architecture;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.uml.diagram.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.activity;bundle-version="[3.1.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.1.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.statemachine;bundle-version="[3.1.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.usecase;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.diagram.sequence;bundle-version="[5.0.0,6.0.0)",
+ org.eclipse.papyrus.uml.tools;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.edit;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.service.types;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.blockdefinition;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.common;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.internalblock;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.parametric;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.requirement;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.nattable.allocation;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.nattable.common;bundle-version="1.0.0", 
+ org.eclipse.papyrus.sysml16.nattable.ui;bundle-version="1.0.0"
+Export-Package: org.eclipse.papyrus.sysml16.architecture,
+ org.eclipse.papyrus.sysml16.architecture.internal;x-internal:=true,
+ org.eclipse.papyrus.sysml16.architecture.util
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.architecture
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/about.html b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/gui/org.eclipse.papyrus.sysml16.architecture/build.properties b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/build.properties
new file mode 100644
index 0000000..6e11c4b
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               plugin.properties,\
+               about.html,\
+               resources/
+src.includes = about.html
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/plugin.properties b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/plugin.properties
new file mode 100644
index 0000000..db074d6
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/plugin.properties
@@ -0,0 +1,17 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name= Papyrus SysML 1.6 Architecture
+Bundle-Description=This plug-in contains the SysML 1.6 Architecture
+Bundle-Vendor=Eclipse Modeling Project
+
+
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/plugin.xml b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/plugin.xml
new file mode 100644
index 0000000..c85012e
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/plugin.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+	 <extension point="org.eclipse.papyrus.infra.architecture.models">
+	    <model path="resources/sysml16.architecture"/>
+	 </extension>
+	<extension
+	      point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings">
+		<clientContext
+	         id="org.eclipse.papyrus.sysml.architecture.SysML16">
+	      <matcher
+	            class="org.eclipse.papyrus.sysml16.architecture.internal.NoContextEnablementMatcher">
+	      </matcher>
+	   	</clientContext>
+		<binding context="org.eclipse.papyrus.sysml.architecture.SysML16">
+			<!-- ElementType that deals with View deletion when their related model element is deleted -->
+			<elementType ref="org.eclipse.gmf.runtime.diagram.core.advice.notationDepdendents"/>
+			<elementType ref="org.eclipse.gmf.runtime.diagram.core.advice.removeBookmarks"/>
+	        <!-- Check for attempts to edit read-only objects that cannot reasonably be made writeable. -->		
+	        <advice ref="org.eclipse.papyrus.infra.emf.readOnlyAdvice" />
+	        <!-- Delete markers attached to objects being deleted. -->
+		</binding>
+	</extension>
+	
+</plugin>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/pom.xml b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/pom.xml
new file mode 100644
index 0000000..8060243
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.gui</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.architecture</artifactId>
+	<packaging>eclipse-plugin</packaging>
+</project>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLActivity.paletteconfiguration b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLActivity.paletteconfiguration
new file mode 100644
index 0000000..5ef1e18
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLActivity.paletteconfiguration
@@ -0,0 +1,499 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<paletteconfiguration:PaletteConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:paletteconfiguration="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.8" id="org.eclipse.papyrus.sysml.palette.activity" label="SysML 1.6 Activity Palette" description="This is the palette providing elements from SysML 1.6 Activity Diagram">
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.drawer" label="Activity" description="Elements from SysML 1.6 Activity Diagram">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:StackConfiguration" id="Stack_1504510306740" label="Stack">
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.accepteventaction" label="Accept Event Action" description="Create an Accept Event Action node" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/AcceptEventAction.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.AcceptEventAction_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.invocationactions.callbehavioraction" label="Call Behavior Action" description="Create an Call Behavior Action node" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/CallBehaviorAction.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.CallBehaviorAction_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.invocationactions.sendsignalaction" label="Send Signal Action" description="Create a Send Signal Action node" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/SendSignalAction.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.SendSignalAction_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.activity" label="Activity" description="Create an Activity" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Activity.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Activity_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Activity_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.controlnodes.activityfinal" label="Activity Final" description="Create an Activity final node" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ActivityFinalNode.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActivityFinalNode_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.activityparameternode" label="Activity Parameter Node" description="Create an Activity Parameter Node" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ActivityParameterNode.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActivityParameterNode_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.centralbuffernode" label="Central Buffer Node" description="Create a Central Buffer Node" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/DataStoreNode.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.CentralBufferNode_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:StackConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.stack.rate" label="Stack">
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.controlflow" label="Control Flow" description="Create a Control Flow" kind="ConnectionTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ControlFlow.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ControlFlow_Edge"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.edge.continuous" label="Continuous Control Flow" kind="ConnectionTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ControlFlow.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ContinuousControlFlow_Edge"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.edge.rate" label="Rate Control Flow" kind="ConnectionTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ControlFlow.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.RateControlFlow_Edge"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.edge.discrete" label="Discrete Control Flow" kind="ConnectionTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ControlFlow.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.DiscreteControlFlow_Edge"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.datastorenode" label="Data Store Node" description="Create a Data Store Node" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/DataStoreNode.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.DataStoreNode_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:StackConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.controlnodes" label="ControlNodes">
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.controlnodes.initialnode" label="Initial node" description="Create an Initial node" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/InitialNode.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InitialNode_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.controlnodes.flowfinal" label="Flow final" description="Create a Flow final node" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/FlowFinalNode.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.FlowFinalNode_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.controlnodes.decisionnode" label="Decision node" description="Create a Decision node" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/DecisionNode.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.DecisionNode_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.controlnodes.mergenode" label="Merge node" description="Create a Merge node" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/MergeNode.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.MergeNode_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.controlnodes.joinnode" label="Join node" description="Create a Merge node" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/JoinNode.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.JoinNode_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.controlnodes.forknode" label="Fork node" description="Create a Fork node" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ForkNode.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ForkNode_Shape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:StackConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.constraints" label="Constraints">
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.constraints.localpreconditionconstraint" label="Local Precondition Constraint" description="Create a Constraint as Local Precondition for an Action" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Constraint.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_LocalPreconditionShape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.constraints.localpreconditionintervalconstraint" label="Local Precondition Interval Constraint" description="Create an Interval Constraint as Local Precondition for an Action" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/IntervalConstraint.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.IntervalConstraint_LocalPreconditionShape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.constraints.localpreconditiondurationconstraint" label="Local Precondition Duration Constraint" description="Create a Duration Constraint as Local Precondition for an Action" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/DurationConstraint.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.DurationConstraint_LocalPreconditionShape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.constraints.localpreconditiontimeconstraint" label="Local Precondition Time Constraint" description="Create a Time Constraint as Local Precondition for an Action" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/TimeConstraint.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.TimeConstraint_LocalPreconditionShape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.constraints.localpostconditionconstraint" label="Local Postcondition Constraint" description="Create a Constraint as Local Postcondition for an Action" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Constraint.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_LocalPostconditionShape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.constraints.localpostconditionintervalconstraint" label="Local Postcondition Interval Constraint" description="Create an Interval Constraint as Local Postcondition for an Action" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/IntervalConstraint.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.IntervalConstraint_LocalPostconditionShape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.constraints.localpostconditiondurationconstraint" label="Local Postcondition Duration Constraint" description="Create a Duration Constraint as Local Postcondition for an Action" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/DurationConstraint.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.DurationConstraint_LocalPostconditionShape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.constraints.localpostconditiontimeconstraint" label="Local Postcondition Time Constraint" description="Create a Time Constraint as Local Postcondition for an Action" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/TimeConstraint.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.TimeConstraint_LocalPostconditionShape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.objectflow" label="Object Flow" description="Create an Object Flow" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ObjectFlow.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ObjectFlow_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:StackConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.pins" label="Pins">
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.pins.outputpin" label="Output Pin" description="Create an Output Pin" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/OutputPin.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_OpaqueActionOutputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_CallBehaviorActionResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_CallOperationActionResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_AcceptEventActionResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_ValueSpecificationActionResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_ReadSelfActionResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_StartObjectBehaviorActionResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_TestIdentityActionResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_ClearStructuralFeatureActionResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_ReadLinkActionResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_ReadExtentActionResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_ReadIsClassifiedObjectActionResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_ReduceActionResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_AddStructuralFeatureValueActionResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_LoopNodeBodyOutputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_LoopNodeVariableShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_LoopNodeResultShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_StructuredActivityNodeOutputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.OutputPin_CreateLinkObjectActionResultShape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.pins.inputpin" label="Input Pin" description="Create an Input Pin" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/InputPin.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_OpaqueActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_CallBehaviorActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_CallOperationActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_SendSignalActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_StartObjectBehaviorActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_StartObjectBehaviorActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_TestIdentityActionFirstShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_TestIdentityActionSecondShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_ClearStructuralFeatureActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_CreateLinkActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_ReadLinkActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_DestroyLinkActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_ReclassifyObjectActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_ReadIsClassifiedObjectActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_ReduceActionCollectionShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_StartClassifierBehaviorActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_DestroyObjectActionTargetShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_AddVariableValueActionInsertAtShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_AddVariableValueActionValueShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_BroadcastSignalActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_AddStructuralFeatureValueActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_AddStructuralFeatureValueActionValueShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_AddStructuralFeatureValueActionInsertAtShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_LoopNodeVariableInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_ReadStructuralFeatureActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_StructuredActivityNodeInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InputPin_CreateLinkObjectActionInputShape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.pins.actioninputpin" label="Action Input Pin" description="Create an Action Input Pin" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ActionInputPin.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_OpaqueActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_CallBehaviorActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_CallOperationActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_SendSignalActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_StartObjectBehaviorActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_StartObjectBehaviorActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_TestIdentityActionFirstShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_TestIdentityActionSecondShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_ClearStructuralFeatureActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_CreateLinkActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_ReadLinkActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_DestroyLinkActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_ClearAssociationActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_ReclassifyObjectActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_ReadIsClassifiedObjectActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_ReduceActionCollectionShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_StartClassifierBehaviorActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_DestroyObjectActionTargetShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_AddVariableValueActionInsertAtShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_AddVariableValueActionValueShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_BroadcastSignalActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_AddStructuralFeatureValueActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_AddStructuralFeatureValueActionValueShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_AddStructuralFeatureValueActionInsertAtShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_LoopNodeVariableInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_StructuredActivityNodeInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_CreateLinkObjectActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionInputPin_ReadStructuralFeatureActionObjectShape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+      <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.activity.pins.valuepin" label="Value Pin" description="Create a Value Pin" kind="CreationTool">
+        <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ValuePin.gif"/>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_OpaqueActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_CallBehaviorActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_CallOperationActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_SendSignalActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_StartObjectBehaviorActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_StartObjectBehaviorActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_TestIdentityActionFirstShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_TestIdentityActionSecondShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_ClearStructuralFeatureActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_CreateLinkActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_ReadLinkActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_DestroyLinkActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_ClearAssociationActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_ReclassifyObjectActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_ReadIsClassifiedObjectActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_ReduceActionCollectionShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_StartClassifierBehaviorActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_DestroyObjectActionTargetShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_AddVariableValueActionInsertAtShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_AddVariableValueActionValueShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_BroadcastSignalActionArgumentShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_AddStructuralFeatureValueActionObjectShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_AddStructuralFeatureValueActionValueShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_AddStructuralFeatureValueActionInsertAtShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_LoopNodeVariableInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_StructuredActivityNodeInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_CreateLinkObjectActionInputShape"/>
+        </elementDescriptors>
+        <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+          <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ValuePin_ReadStructuralFeatureActionObjectShape"/>
+        </elementDescriptors>
+      </ownedConfigurations>
+    </ownedConfigurations>
+  </drawerConfigurations>
+</paletteconfiguration:PaletteConfiguration>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLAnnotation.paletteconfiguration b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLAnnotation.paletteconfiguration
new file mode 100644
index 0000000..db97310
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLAnnotation.paletteconfiguration
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<paletteconfiguration:PaletteConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:paletteconfiguration="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.8" id="org.eclipse.papyrus.sysML.palette.commonmodel" label="SysML REQ Palette">
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="org.eclipse.papyrus.sysML.palette.annotations.nodes" label="General Annotations" description="Annotations listed in SysML 1.6 Diagram Elements">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.annotations.abstraction" label="Abstraction" description="An Abstraction is a Relationship that relates two Elements or sets of Elements that represent the same concept at different levels of abstraction or from different viewpoints." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Abstraction.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Abstraction_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.annotations.Comment" label="Comment" description="A Comment is a textual annotation that can be attached to a set of Elements." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Comment.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Comment_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Comment_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.annotations.Constraint" label="Constraint" description="A Constraint is a condition or restriction expressed in natural language text or in a machine readable language." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Constraint.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_Shape_CCN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_PackagedElementShape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_PackagedElementShape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Constraint_Label"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.annotations.contextlink" label="Context Link" description="A Context link move a Constraint in the context of the linked element." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Association.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_ContextEdge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.annotations.Dependency" label="Dependency" description="A Dependency is a Relationship that signifies that a single model Element or a set of model Elements requires other model Elements for their specification or implementation. This means that the complete semantics of the client Element(s) are either semantically or structurally dependent on the definition of the supplier Element(s)." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Dependency.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Dependency_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.annotations.ElementGroup" label="ElementGroup" description="The ElementGroup stereotype provides a lightweight mechanism for grouping various and possibly heterogeneous model" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/ElementGroup.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ElementGroup_Comment_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.ElementGroup_Comment_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.annotations.Link" label="Link" description="A Link draw a line between an element and a Comment/Constraint" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.uml.diagram.clazz" iconPath="icons/obj16/Link.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Constraint_ConstrainedElementEdge"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Comment_AnnotatedElementEdge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.annotations.Problem" label="Problem" description="A Problem documents a deficiency, limitation, or failure of one or more model elements to satisfy a requirement or need," kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Problem.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Problem_Comment_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Problem_Comment_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.annotations.Rationale" label="Rationale" description="A Rationale documents the justification for decisions and the requirements, design, and other decisions." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Rationale.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Rationale_Comment_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Rationale_Comment_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.annotations.Realization" label="Realization" description="Realization is a specialized Abstraction relationship between two sets of model Elements, one representing a specification (the supplier) and the other represents an implementation of the latter (the client)." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Realization.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Realization_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.annotations.Refine_Abstraction" label="Refine" description="The Refine stereotype specializes UML4SysML Refine and DirectedRelationshipPropertyPath to enable refinements to identify their sources and targets by a multi-level path of accessible properties from context blocks for the sources and targets." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Refine.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Refine_Abstraction_Abstraction_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+  </drawerConfigurations>
+</paletteconfiguration:PaletteConfiguration>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLSequence.paletteconfiguration b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLSequence.paletteconfiguration
new file mode 100644
index 0000000..473845f
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLSequence.paletteconfiguration
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<paletteconfiguration:PaletteConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:paletteconfiguration="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.8" id="org.eclipse.papyrus.uml.diagram.sequence.paletteconfiguration" label="UML Plugin Palette" description="This is the palette of UML Plugin">
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.drawer" label="Sequence" description="Elements from SysML 1.6 Sequence Diagram">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.actionexecutionspecification" label="Action Execution Specification" description="Create an Action Execution Specification" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ActionExecutionSpecification.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ActionExecutionSpecification_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.behaviorexecutionspecification" label="Behavior Execution Specification" description="Create an BehaviorExecutionSpecification" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/BehaviorExecutionSpecification.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.BehaviorExecutionSpecification_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.CombinedFragment" label="Combined Fragment" description="Create Combined Fragment" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/CombinedFragment.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.CombinedFragment_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.ConsiderIgnoreFragment" label="Consider Ignore Fragment" description="Create a Consider Ignore Fragment" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ConsiderIgnoreFragment.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ConsiderIgnoreFragment_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.Continuation" label="Continuation" description="Create Continuation" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Continuation.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Continuation_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.DurationObservation" label="Duration Observation" description="Create a Duration Observation on a Message" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/DurationObservation.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.DurationObservation_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.DurationConstraint" label="Duration Constraint" description="Create a Duration Constraint" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/DurationConstraint.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.DurationConstraint_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.DurationConstraint_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.Gate" label="Gate" description="New create a gate" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Gate.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Gate_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.GeneralOrdering" label="General Ordering" description="Create GeneralOrdering" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/GeneralOrdering.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.GeneralOrdering_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.InteractionUse" label="InteractionUse" description="Create InteractionUse" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/InteractionUse.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InteractionUse_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.InteractionOperand" label="Interaction Operand" description="Create Interaction Operand" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/InteractionOperand.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.InteractionOperand_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.Lifeline" label="Lifeline" description="Create a Lifeline" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Lifeline.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Lifeline_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.MessageAsync" label="Message Async" description="Create MessageAsync" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Message_asynchCall.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Message_AsynchEdge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.MessageCreate" label="Message Create" description="Create MessageCreate" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Message_createMessage.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Message_CreateEdge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.MessageDelete" label="Message Delete" description="Create MessageDelete" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Message_deleteMessage.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Message_DeleteEdge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.MessageFound" label="Message Found" description="Create MessageFound" kind="ConnectionTool" toolClassName="org.eclipse.papyrus.uml.diagram.sequence.tools.MessageLostFoundConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Message.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Message_FoundEdge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.MessageLost" label="Message Lost" description="Create MessageLost" kind="ConnectionTool" toolClassName="org.eclipse.papyrus.uml.diagram.sequence.tools.MessageLostFoundConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Message.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Message_LostEdge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.MessageReply" label="Message Reply" description="Create MessageReply" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Message_reply.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Message_ReplyEdge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.MessageSync" label="Message Sync" description="Create MessageSync" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Message_synchCall.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Message_SynchEdge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.StateInvariant" label="StateInvariant" description="Create StateInvariant" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/StateInvariant.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.StateInvariant_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.TimeConstraint" label="Time Constraint" description="Create a Time Constraint" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/TimeConstraint.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.TimeConstraint_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.sequence.TimeObservation" label="Time Observation" description="Create a Time Observation" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/TimeObservation.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.TimeObservation_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+  </drawerConfigurations>
+</paletteconfiguration:PaletteConfiguration>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLStateMachine.paletteconfiguration b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLStateMachine.paletteconfiguration
new file mode 100644
index 0000000..47cb919
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLStateMachine.paletteconfiguration
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<paletteconfiguration:PaletteConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:paletteconfiguration="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.8" id="org.eclipse.papyrus.sysML.palette.stateMachine" label="SysML 1.6 StateMachine Palette" description="This is the SysML 1.6 version of the StateMachine palette ">
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine" label="State Machine" description="Elements from SysML 1.6 State Machine Diagram">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.choice" label="Choice" description="Choice" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Pseudostate_choice.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Pseudostate_ChoiceShape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.connectionpointreference" label="ConnectionPointReference" description="ConnectionPointReference" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ConnectionPointReference.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ConnectionPointReference_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.deephistory" label="DeepHistory" description="DeepHistory" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Pseudostate_deepHistory.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Pseudostate_DeepHistoryShape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.entrypoint" label="EntryPoint" description="EntryPoint" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Pseudostate_entryPoint.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Pseudostate_EntryPointShape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.exitpoint" label="ExitPoint" description="ExitPoint" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Pseudostate_exitPoint.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Pseudostate_ExitPointShape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.finalstate" label="FinalState" description="FinalState" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/FinalState.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.FinalState_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.initial" label="Initial" description="Initial" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Pseudostate_initial.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Pseudostate_InitialShape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.junction" label="Junction" description="Junction" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Pseudostate_junction.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Pseudostate_JunctionShape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.region" label="Region" description="Region" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Region.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Region_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.shallowhistory" label="ShallowHistory" description="ShallowHistory" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Pseudostate_shallowHistory.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Pseudostate_ShallowHistoryShape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.state" label="State" description="State" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/State.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.State_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.statemachine" label="StateMachine" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/StateMachine.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.StateMachine_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.terminate" label="Terminate" description="Terminate" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Pseudostate_terminate.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Pseudostate_TerminateShape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.stateMachine.transition" label="Transition" description="Transition" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Transition_local.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Transition_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+  </drawerConfigurations>
+</paletteconfiguration:PaletteConfiguration>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLStructure.paletteconfiguration b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLStructure.paletteconfiguration
new file mode 100644
index 0000000..88b363d
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLStructure.paletteconfiguration
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<paletteconfiguration:PaletteConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:paletteconfiguration="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.8" id="org.eclipse.papyrus.sysML.palette.commonmodel" label="SysML REQ Palette">
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="org.eclipse.papyrus.sysML.palette.structure.nodes" label="General Structure" description="Structure elements listed in SysML 1.6 Diagram Elements">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.structure.ContainmentLink" label="Containment Link" description="A Containment Link indicate that a element is owned by an other element" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.uml.diagram.clazz" iconPath="/icons/obj16/ContainmentConnection.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Element_ContainmentEdge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.structure.Model" label="Model" description="A model captures a view of a physical system. It is an abstraction of the physical system, with a certain purpose." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Model.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Model_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Model_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.structure.Package" label="Package" description="A package is used to group elements, and provides a namespace for the grouped elements" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/Package.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Package_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Package_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.structure.PackageImport" label="PackageImport" description="A PackageImport is a Relationship that imports all the non-private members of a Package into the Namespace owning the PackageImport." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/PackageImport.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.PackageImport_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.structure.PrivatePackageImport" label="PrivatePackageImport" description="A PackageImport is a Relationship that imports all the non-private members of a Package into the Namespace owning the PackageImport" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="icons/full/obj16/PackageImport.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.PrivatePackageImport_PackageImport_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+  </drawerConfigurations>
+</paletteconfiguration:PaletteConfiguration>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLUseCase.paletteconfiguration b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLUseCase.paletteconfiguration
new file mode 100644
index 0000000..4cc29f2
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLUseCase.paletteconfiguration
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<paletteconfiguration:PaletteConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:paletteconfiguration="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.8" id="org.eclipse.papyrus.uml.diagram.usecase.paletteconfiguration" label="Papyrus useCase editor Plugin Palette" description="This is the palette of Papyrus useCase editor Plugin">
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="usecase.group.nodes" label="Use Case" description="Elements from SysML 1.6 Use Case Diagram">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.usecase.usecase" label="Use Case" description="Create Use Case" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/UseCase.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.UseCase_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.UseCase_Shape_CCN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.UseCase_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.usecase.extensionpoint" label="Extension Point" description="Create Extension Point" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/ExtensionPoint.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ExtensionPoint_ExtensionPointLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.ExtensionPoint_ClassifierExtensionPointLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.usecase.extend" label="Extend" description="Create Extend" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Extend.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Extend_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.usecase.actor" label="Actor" description="Create Actor" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Actor.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Actor_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Actor_Shape_CCN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Actor_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.usecase.include" label="Include" description="Create Include Link" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Include.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Include_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.usecase.subject" label="Subject" description="Create Subject" kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Component.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Classifier_SubjectShape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Component_Shape_CN"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.usecase.association" label="Communication path" description="Communication path is an UML Association" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Association.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.AssociationNonDirected_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.usecase.generalization" label="Generalization" description="Create Generalization Link" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.uml2.uml.edit" iconPath="/icons/full/obj16/Generalization.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Generalization_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+  </drawerConfigurations>
+</paletteconfiguration:PaletteConfiguration>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLViewpoint.paletteconfiguration b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLViewpoint.paletteconfiguration
new file mode 100644
index 0000000..058670f
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/SysMLViewpoint.paletteconfiguration
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<paletteconfiguration:PaletteConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:paletteconfiguration="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.8" id="org.eclipse.papyrus.sysML.palette.commonmodel" label="SysML REQ Palette">
+  <drawerConfigurations xmi:type="paletteconfiguration:DrawerConfiguration" id="org.eclipse.papyrus.sysML.palette.viewpoint.nodes" label="Viewpoint" description="Viewpoint elements listed in SysML 1.6 Diagram Elements">
+    <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.gmf.runtime.diagram.ui" iconPath="/icons/group.gif"/>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.viewpoint.Conform" label="Conform" description="A Conform relationship is a generalization between a view and a viewpoint. The view conforms to the specified rules and conventions detailed in the viewpoint. When this is done, the view is said to conform to the viewpoint." kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Conform.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Conform_Generalization_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.viewpoint.Expose" label="Expose" description="The expose relationship relates a view to one or more model elements. The method describes how the exposed elements are navigated to extract the desired information" kind="ConnectionTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Expose.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Expose_Dependency_Edge"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.viewpoint.Stakeholder" label="Stakeholder" description="A stakeholder represents a role, group, or individual who has concerns that will be addressed by the View of the model." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Stakeholder.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Stakeholder_NamedElement_Shape"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.viewpoint.View" label="View" description="A View is a model element that represents a real world artifact that can be presented to stakeholders." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/View.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.View_Class_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.View_Class_ComponentNestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.View_Class_InterfaceNestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.View_Class_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.View_Class_ClassNestedClassifierLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+    <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="org.eclipse.papyrus.sysML.palette.viewpoint.Viewpoint" label="Viewpoint" description="A Viewpoint is a specification of the conventions and rules for constructing and using a view for the purpose of addressing a set of stakeholder concerns." kind="CreationTool">
+      <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.sysml16.edit" iconPath="icons/full/obj16/Viewpoint.gif"/>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Viewpoint_Class_Shape"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Viewpoint_Class_ComponentNestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Viewpoint_Class_InterfaceNestedClassifierLabel"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Viewpoint_Class_Shape_CN"/>
+      </elementDescriptors>
+      <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+        <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.Viewpoint_Class_ClassNestedClassifierLabel"/>
+      </elementDescriptors>
+    </ownedConfigurations>
+  </drawerConfigurations>
+</paletteconfiguration:PaletteConfiguration>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_Activity.gif b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_Activity.gif
new file mode 100644
index 0000000..6964611
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_Activity.gif
Binary files differ
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_Package.gif b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_Package.gif
new file mode 100644
index 0000000..d97c69f
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_Package.gif
Binary files differ
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_Sequence.gif b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_Sequence.gif
new file mode 100644
index 0000000..db7c1cc
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_Sequence.gif
Binary files differ
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_StateMachine.gif b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_StateMachine.gif
new file mode 100644
index 0000000..0ea595b
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_StateMachine.gif
Binary files differ
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_UseCase.gif b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_UseCase.gif
new file mode 100644
index 0000000..012c8b0
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_UseCase.gif
Binary files differ
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture
new file mode 100644
index 0000000..f90aa0d
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture
@@ -0,0 +1,339 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDomain xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:gmfdiagrepresentation="http://www.eclipse.org/papyrus/infra/gmfdiag/representation" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablerepresentation="http://www.eclipse.org/papyrus/infra/nattable/representation" xmlns:paletteconfiguration="http://www.eclipse.org/papyrus/diagram/paletteconfiguration/0.8" xmlns:representation="http://www.eclipse.org/papyrus/infra/core/architecture/representation" xmi:id="org.eclipse.papyrus.sysml16.systemsEngineering" id="org.eclipse.papyrus.sysml16.systemsEngineering" name="Systems Engineering" description="The domain of developing software systems" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/domain.gif">
+  <stakeholders xmi:type="architecture:Stakeholder" xmi:id="org.eclipse.papyrus.sysml16.stackholder.systemsEngineer" id="org.eclipse.papyrus.sysml16.stackholder.systemsEngineer" name="Systems Engineer" description="An engineer interested in system development" concerns="org.eclipse.papyrus.sysml16.concern.requirements org.eclipse.papyrus.sysml16.concern.parametrics"/>
+  <concerns xmi:type="architecture:Concern" xmi:id="org.eclipse.papyrus.sysml16.concern.requirements" id="org.eclipse.papyrus.sysml16.concern.requirements" name="Requirements" description="The concern of developing the system's requirements"/>
+  <concerns xmi:type="architecture:Concern" xmi:id="org.eclipse.papyrus.sysml16.concern.parametrics" id="org.eclipse.papyrus.sysml16.concern.parametrics" name="Parametrics" description="The concern of developing the system's parametrics"/>
+  <contexts xmi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="org.eclipse.papyrus.sysml.architecture.SysML16" id="org.eclipse.papyrus.sysml.architecture.SysML16" name="SysML 1.6" description="The Systems Modeling Language" icon="platform:/plugin/org.eclipse.papyrus.sysml16/resources/icons/SysML.gif" defaultViewpoints="org.eclipse.papyrus.sysml16.standard.modeling" creationCommandClass="org.eclipse.papyrus.sysml16.architecture.CreateSysML16ModelCommand" conversionCommandClass="org.eclipse.papyrus.sysml16.architecture.internal.UMLtoSyML16ModelConversionCommand">
+    <viewpoints xmi:type="architecture:ArchitectureViewpoint" xmi:id="org.eclipse.papyrus.sysml16.standard.modeling" id="org.eclipse.papyrus.sysml16.standard.modeling" name="Standard SysML Modeling" description="A viewpoint allowing standard modeling with SysML" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/viewpoint.gif" concerns="org.eclipse.papyrus.sysml16.concern.requirements org.eclipse.papyrus.sysml16.concern.parametrics">
+      <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture#org.eclipse.papyrus.sysml16.diagram.blockdefinition"/>
+      <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture#org.eclipse.papyrus.sysml16.diagram.parametric"/>
+      <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture#org.eclipse.papyrus.sysml16.diagram.internalblock"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.uml.architecture/model/uml.architecture#_P3J1cEb7EeRVGbM3cmVSqQ"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.uml.architecture/model/uml.architecture#_Uz8agHDcEeWh-MssWmCB_A"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.uml.architecture/model/uml.architecture#_P3J1cEa7EeSVGbM3cmVSqQ"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.uml.architecture/model/uml.architecture#_WC1q0P4UEhSRsNBVzfUrzA"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.uml.architecture/model/uml.architecture#_wXztQHDwEwWh-MssWmCB_A"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.uml.architecture/model/uml.architecture#_d4-QwCT-EeedRqoTe_1ZiA"/>
+      <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture#org.eclipse.papyrus.sysml16.diagram.activity"/>
+      <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture#org.eclipse.papyrus.sysml16.diagram.sequence"/>
+      <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture#org.eclipse.papyrus.sysml16.diagram.stateMachine"/>
+      <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture#org.eclipse.papyrus.sysml16.diagram.useCase"/>
+      <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture#org.eclipse.papyrus.sysml16.diagram.package"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture#org.eclipse.papyrus.sysml16.table.allocation"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture#org.eclipse.papyrus.sysml16.matrix.allocation"/>
+      <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture#org.eclipse.papyrus.sysml16.diagram.requirement"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture#org.eclipse.papyrus.sysml16.table.requirement"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture#org.eclipse.papyrus.sysml16.table.requirementTree"/>
+    </viewpoints>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.emf/model/infra-emf.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.common/model/gmfdiag-common.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.common/model/notation.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.nattable/model/nattable-tablecontents.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.nattable/model/nattable-tablecontext.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.nattable.common/model/nattable-common.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.services.controlmode/model/controlmode.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.services.edit/model/marker.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.types.rulebased/model/rulebased.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.diagram.activity/model/activityDiagram.elementtypesconfigurations#_x8G0YGaNEeSyJIsxLao1Pw"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.diagram.clazz/model/classdiagram.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.diagram.composite/model/compositediagram.elementtypesconfigurations#_tL86sLazEeSbnofizoRSMQ"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.diagram.interactionoverview/model/interactionOverviewDiagram.elementtypesconfigurations#_x8G0YGaNEeSyJIsxLao1Pw"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.diagram.statemachine/model/stateMachineDiagram.elementtypesconfigurations#_wYwtMMeDEeSwP_9Vn5UnWg"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.diagram.stereotype.edition/model/stereotype-edit.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.diagram.timing/model/timingdiagram-uml.elementtypesconfigurations#_BJMa0PyeEeWbo9Y7g2MLdw"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/StandardProfile.elementtypesconfigurations#_jfoLkGT_EeSEqNuV3JpFCA"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml-containments.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types.ui/model/uml-advice.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.sysml16.service.types.elementTypeSet"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16.service.types.elementTypeSet.extension"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.elementTypes"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations#org.eclipse.papyrus.sysml16di.elementTypeSet.extension"/>
+    <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="org.eclipse.papyrus.sysml16.diagram.activity" id="org.eclipse.papyrus.sysml16.diagram.activity" name="SysML 1.6 Activity Diagram" icon="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_Activity.gif" implementationID="PapyrusUMLActivityDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_KPargWuwEeeQz9CX7wZ3ZA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_KPargmuwEeeQz9CX7wZ3ZA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_KParg2uwEeeQz9CX7wZ3ZA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+        <newModelPath xmi:type="representation:ModelAutoCreate" xmi:id="_KParhGuwEeeQz9CX7wZ3ZA" creationType="org.eclipse.papyrus.uml.Activity">
+          <feature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/>
+        </newModelPath>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_KParhWuwEeeQz9CX7wZ3ZA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+        <newModelPath xmi:type="representation:ModelAutoCreate" xmi:id="_KParhmuwEeeQz9CX7wZ3ZA" creationType="org.eclipse.papyrus.uml.Activity">
+          <feature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/>
+        </newModelPath>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_KParh2uwEeeQz9CX7wZ3ZA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+        <newModelPath xmi:type="representation:ModelAutoCreate" xmi:id="_KPariGuwEeeQz9CX7wZ3ZA" creationType="org.eclipse.papyrus.uml.Activity">
+          <feature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+        </newModelPath>
+      </owningRules>
+      <childRules xmi:type="gmfdiagrepresentation:ChildRule" xmi:id="_KPariWuwEeeQz9CX7wZ3ZA" permit="true"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLAnnotation.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLActivity.paletteconfiguration#/"/>
+    </representationKinds>
+    <representationKinds xmi:type="nattablerepresentation:PapyrusTable" xmi:id="org.eclipse.papyrus.sysml16.table.allocation" id="org.eclipse.papyrus.sysml16.table.allocation" name="SysML 1.6 Allocation Table" icon="platform:/plugin/org.eclipse.papyrus.sysml16.nattable.allocation/icons/table_SysML_Allocation.png" implementationID="PapyrusSysML16AllocationTable">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_j2LQIS7uEeWklMXvaoXzgA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_j2LQIi7uEeWklMXvaoXzgA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </owningRules>
+      <configuration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.nattable.allocation/resources/allocation.nattableconfiguration#_Tn9sgF9WEeibbMBxjCBt2w"/>
+    </representationKinds>
+    <representationKinds xmi:type="nattablerepresentation:PapyrusTable" xmi:id="org.eclipse.papyrus.sysml16.matrix.allocation" id="org.eclipse.papyrus.sysml16.matrix.allocation" name="SysML 1.6 Allocation Matrix" icon="platform:/plugin/org.eclipse.papyrus.sysml16.nattable.allocation/icons/table_SysML_Allocation.png" implementationID="AllocationRequirementMatrix">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_8zoQcUpiEemPZPxrFrrvTw" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_8zoQckpiEemPZPxrFrrvTw" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </owningRules>
+      <configuration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.nattable.allocation/resources/allocationMatrix.nattableconfiguration#Allocation_Requirment_Matrix"/>
+    </representationKinds>
+    <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="org.eclipse.papyrus.sysml16.diagram.blockdefinition" id="org.eclipse.papyrus.sysml16.diagram.blockdefinition" name="SysML 1.6 Block Definition Diagram" description="BDD diagram" icon="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/icons/obj16/Diagram_BlockDefinition.gif" implementationID="PapyrusUMLClassDiagram" customStyle="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/style/blockDefinitionDiagram.css" creationCommandClass="org.eclipse.papyrus.uml.diagram.clazz.CreateClassDiagramCommand">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_ZrBf4ZaBEeS8eNvSwD0lgA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </modelRules>
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_izoMsEoqEemhF82MMhP0eA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks/Block"/>
+      </modelRules>
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_pJ81kEoqEemhF82MMhP0eA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//constraintblocks/ConstraintBlock"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_ZrBf45aBEeS8eNvSwD0lgA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_s8WJIEoqEemhF82MMhP0eA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks/Block"/>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_tSjCoEoqEemhF82MMhP0eA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//constraintblocks/ConstraintBlock"/>
+      </owningRules>
+      <paletteRules xmi:type="gmfdiagrepresentation:PaletteRule" xmi:id="_05AncA8REeeVg9dxz074Ng" permit="false" element="clazz.group.*"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLAnnotation.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLStructure.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLViewpoint.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/palette/blockDefinitionDiagram.paletteconfiguration#/"/>
+    </representationKinds>
+    <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="org.eclipse.papyrus.sysml16.diagram.internalblock" id="org.eclipse.papyrus.sysml16.diagram.internalblock" name="SysML 1.6 Internal Block Diagram" description="SysML 1.6 Internal Block" icon="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/icons/obj16/Diagram_InternalBlock.gif" implementationID="CompositeStructure" customStyle="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/style/internalBlockDiagram.css" creationCommandClass="org.eclipse.papyrus.uml.diagram.composite.CreateCompositeDiagramCommand">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_x8UqIEoqEemhF82MMhP0eA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks/Block"/>
+      </modelRules>
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_yKOjQEoqEemhF82MMhP0eA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//constraintblocks/ConstraintBlock"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_yh74oEoqEemhF82MMhP0eA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks/Block"/>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_y2cJAEoqEemhF82MMhP0eA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//constraintblocks/ConstraintBlock"/>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_mIEUsDEnEeWu9rf11ohCng" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+        <newModelPath xmi:type="representation:ModelAutoCreate" xmi:id="_oC-iMDEnEeWu9rf11ohCng" creationType="org.eclipse.papyrus.SysML16.Block">
+          <feature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+        </newModelPath>
+      </owningRules>
+      <paletteRules xmi:type="gmfdiagrepresentation:PaletteRule" xmi:id="_LYpV5w8VEeeVg9dxz074Ng" permit="false" element="composite.group.*"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLAnnotation.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/palette/internalBlockDiagram.paletteconfiguration#/"/>
+    </representationKinds>
+    <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="org.eclipse.papyrus.sysml16.diagram.package" id="org.eclipse.papyrus.sysml16.diagram.package" name="SysML 1.6 Package Diagram" description="" icon="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_Package.gif" implementationID="PapyrusUMLClassDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.clazz.CreateClassDiagramCommand">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_CzSPoHHbEeeNP_yv2pPMxg" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_SXiAoHHbEeeNP_yv2pPMxg" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </owningRules>
+      <childRules xmi:type="gmfdiagrepresentation:ChildRule" xmi:id="_YUXygHHbEeeNP_yv2pPMxg" permit="true"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLAnnotation.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLStructure.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLViewpoint.paletteconfiguration#/"/>
+    </representationKinds>
+    <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="org.eclipse.papyrus.sysml16.diagram.parametric" id="org.eclipse.papyrus.sysml16.diagram.parametric" name="SysML 1.6 Parametric Diagram" description="SysML 1.6 Parametric diagram" icon="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.parametric/resources/icons/obj16/Diagram_Parametric.png" implementationID="CompositeStructure" customStyle="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.parametric/resources/style/parametricDiagram.css" creationCommandClass="org.eclipse.papyrus.uml.diagram.composite.CreateCompositeDiagramCommand">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_D-1NUEorEemhF82MMhP0eA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks/Block"/>
+      </modelRules>
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_EO8F4EorEemhF82MMhP0eA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//constraintblocks/ConstraintBlock"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_Ek9ZMEorEemhF82MMhP0eA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks/Block"/>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_E242sEorEemhF82MMhP0eA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//constraintblocks/ConstraintBlock"/>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_ZrBf45aBEeS8eNvSwD0lgA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+        <newModelPath xmi:type="representation:ModelAutoCreate" xmi:id="_nkRogEZmEeW5FZBrrr8JGA" creationType="org.eclipse.papyrus.SysML16.Block">
+          <feature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+        </newModelPath>
+      </owningRules>
+      <paletteRules xmi:type="gmfdiagrepresentation:PaletteRule" xmi:id="_MB3SBw8VEeeVg9dxz074Ng" permit="false" element="composite.group.*"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLAnnotation.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.internalblock/resources/palette/internalBlockDiagram.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.parametric/resources/palette/parametric.paletteconfiguration#/"/>
+    </representationKinds>
+    <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="org.eclipse.papyrus.sysml16.diagram.requirement" id="org.eclipse.papyrus.sysml16.diagram.requirement" name="SysML 1.6 Requirement Diagram" description="SysML 1.6 Requirement" icon="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.requirement/resources/icons/obj16/Diagram_Requirement.gif" implementationID="PapyrusUMLClassDiagram" customStyle="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.requirement/resources/style/requirementDiagram.css" creationCommandClass="org.eclipse.papyrus.uml.diagram.clazz.CreateClassDiagramCommand">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_NR7wYEorEemhF82MMhP0eA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//requirements/Requirement"/>
+      </modelRules>
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_ZrBf4ZaBEeS8eNvSwD0lgA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_NqGYwEorEemhF82MMhP0eA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//requirements/Requirement"/>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_ZrBf45aBEeS8eNvSwD0lgA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </owningRules>
+      <paletteRules xmi:type="gmfdiagrepresentation:PaletteRule" xmi:id="_MISqJw8VEeeVg9dxz074Nh" permit="false" element="clazz.group.*"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLAnnotation.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLStructure.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLViewpoint.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.diagram.requirement/resources/palette/requirementDiagram.paletteconfiguration#/"/>
+    </representationKinds>
+    <representationKinds xmi:type="nattablerepresentation:PapyrusTable" xmi:id="org.eclipse.papyrus.sysml16.table.requirement" id="org.eclipse.papyrus.sysml16.table.requirement" name="SysML 1.6 Requirement Table" icon="platform:/plugin/org.eclipse.papyrus.sysml16.nattable.requirement/icons/table_SysML_Requirement.png" implementationID="PapyrusSysML16RequirementTable">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_j2LQJC7uEeWklMXvaoXzgA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </modelRules>
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_VZUuQEorEemhF82MMhP0eA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//requirements/Requirement"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_j2LQJi7uEeWklMXvaoXzgA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </owningRules>
+      <configuration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.nattable.requirement/resources/requirement.nattableconfiguration#__qulcG1gEeijMr8XjU8gCg"/>
+    </representationKinds>
+    <representationKinds xmi:type="nattablerepresentation:PapyrusTable" xmi:id="org.eclipse.papyrus.sysml16.table.requirementTree" id="org.eclipse.papyrus.sysml16.table.requirementTree" name="SysML 1.6 Requirement Tree Table" icon="platform:/plugin/org.eclipse.papyrus.sysml16.nattable.requirement/icons/table_SysML_Tree_Requirement.png" implementationID="PapyrusSysML16RequirementTreeTable">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_eXTo8SywEeaHK-6t3D9x9w" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </modelRules>
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_ZW7MQEorEemhF82MMhP0eA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+        <stereotypes xmi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//requirements/Requirement"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_eXTo8yywEeaHK-6t3D9x9w" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </owningRules>
+      <configuration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.nattable.requirement/resources/requirementTree.nattableconfiguration#_QpaQsF9WEeibbMBxjCBt2w"/>
+    </representationKinds>
+    <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="org.eclipse.papyrus.sysml16.diagram.sequence" id="org.eclipse.papyrus.sysml16.diagram.sequence" name="SysML 1.6 Sequence Diagram" icon="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_Sequence.gif" implementationID="PapyrusUMLSequenceDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.sequence.CreateSequenceDiagramCommand">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_TR15IXDvEeWh-MssWmCB_A" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interaction"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_TR15InDvEeWh-MssWmCB_A" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interaction"/>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_TR15I3DvEeWh-MssWmCB_A" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+        <newModelPath xmi:type="representation:ModelAutoCreate" xmi:id="_TR15JHDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction">
+          <feature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/>
+        </newModelPath>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_TR15JXDvEeWh-MssWmCB_A" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+        <newModelPath xmi:type="representation:ModelAutoCreate" xmi:id="_TR15JnDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction">
+          <feature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/>
+        </newModelPath>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_TR15J3DvEeWh-MssWmCB_A" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+        <newModelPath xmi:type="representation:ModelAutoCreate" xmi:id="_TR15KHDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction">
+          <feature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+        </newModelPath>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_TR15KXDvEeWh-MssWmCB_A" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//UseCase"/>
+        <newModelPath xmi:type="representation:ModelAutoCreate" xmi:id="_TR15KnDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction">
+          <feature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/>
+        </newModelPath>
+      </owningRules>
+      <childRules xmi:type="gmfdiagrepresentation:ChildRule" xmi:id="_TR15K3DvEeWh-MssWmCB_A" permit="true"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLAnnotation.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLSequence.paletteconfiguration#/"/>
+    </representationKinds>
+    <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="org.eclipse.papyrus.sysml16.diagram.stateMachine" id="org.eclipse.papyrus.sysml16.diagram.stateMachine" name="SysML 1.6 State Machine Diagram" icon="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_StateMachine.gif" implementationID="PapyrusUMLStateMachineDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.statemachine.CreateStateMachineDiagramCommand">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_KParlWuwEeeQz9CX7wZ3ZA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+      </modelRules>
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_KParlmuwEeeQz9CX7wZ3ZA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_KParl2uwEeeQz9CX7wZ3ZA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_KParmGuwEeeQz9CX7wZ3ZA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+        <newModelPath xmi:type="representation:ModelAutoCreate" xmi:id="_KParmWuwEeeQz9CX7wZ3ZA" creationType="org.eclipse.papyrus.uml.StateMachine">
+          <feature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/>
+        </newModelPath>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_KParmmuwEeeQz9CX7wZ3ZA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+        <newModelPath xmi:type="representation:ModelAutoCreate" xmi:id="_KParm2uwEeeQz9CX7wZ3ZA" creationType="org.eclipse.papyrus.uml.StateMachine">
+          <feature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/>
+        </newModelPath>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_KParnGuwEeeQz9CX7wZ3ZA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+        <newModelPath xmi:type="representation:ModelAutoCreate" xmi:id="_KParnWuwEeeQz9CX7wZ3ZA" creationType="org.eclipse.papyrus.uml.StateMachine">
+          <feature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+        </newModelPath>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_KParnmuwEeeQz9CX7wZ3ZA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>
+        <newModelPath xmi:type="representation:ModelAutoCreate" xmi:id="_KParn2uwEeeQz9CX7wZ3ZA" creationType="org.eclipse.papyrus.uml.ProtocolStateMachine">
+          <feature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface/protocol"/>
+        </newModelPath>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_KParoGuwEeeQz9CX7wZ3ZA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+      </owningRules>
+      <childRules xmi:type="gmfdiagrepresentation:ChildRule" xmi:id="_KParoWuwEeeQz9CX7wZ3ZA" permit="true"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLAnnotation.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLStateMachine.paletteconfiguration#/"/>
+    </representationKinds>
+    <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="org.eclipse.papyrus.sysml16.diagram.useCase" id="org.eclipse.papyrus.sysml16.diagram.useCase" name="SysML 1.6 Use Case Diagram" icon="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/icons/obj16/Diagram_SysML_UseCase.gif" implementationID="UseCase" customStyle="platform:/plugin/org.eclipse.papyrus.uml.diagram.usecase/models/usecase.css" creationCommandClass="org.eclipse.papyrus.uml.diagram.usecase.CreateUseCaseDiagramCommand">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_KParo2uwEeeQz9CX7wZ3ZA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </modelRules>
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_KParpGuwEeeQz9CX7wZ3ZA" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_KParpWuwEeeQz9CX7wZ3ZA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </owningRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_KParpmuwEeeQz9CX7wZ3ZA" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </owningRules>
+      <childRules xmi:type="gmfdiagrepresentation:ChildRule" xmi:id="_KParp2uwEeeQz9CX7wZ3ZA" permit="true"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLAnnotation.paletteconfiguration#/"/>
+      <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.architecture/resources/SysMLUseCase.paletteconfiguration#/"/>
+    </representationKinds>
+    <metamodel xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>
+    <profiles xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#/"/>
+  </contexts>
+</architecture:ArchitectureDomain>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/Activator.java b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/Activator.java
new file mode 100644
index 0000000..da03a7a
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/Activator.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.architecture;
+
+import org.eclipse.core.runtime.Plugin;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends Plugin {
+
+	/**
+	 * The plug-in ID.
+	 */
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.sysml16.architecture"; //$NON-NLS-1$
+
+}
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/CreateSysML16ModelCommand.java b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/CreateSysML16ModelCommand.java
new file mode 100644
index 0000000..d34708c
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/CreateSysML16ModelCommand.java
@@ -0,0 +1,86 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.architecture;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.architecture.commands.IModelCreationCommand;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.uml.diagram.common.commands.ModelCreationCommandBase;
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.resource.UMLResource;
+
+/**
+ * The Class CreateSysMLModelCommand.
+ */
+public class CreateSysML16ModelCommand extends ModelCreationCommandBase implements IModelCreationCommand {
+
+	/**
+	 * @see org.eclipse.papyrus.infra.core.extension.commands.ModelCreationCommandBase#createRootElement()
+	 *
+	 * @return
+	 */
+
+	@Override
+	protected EObject createRootElement() {
+		return UMLFactory.eINSTANCE.createModel();
+	}
+
+	/**
+	 * A standard SysML model should have : - the SysML profile applied - the UML standard profile applied - the UML primitive library imported - the SysML library imported
+	 * 
+	 * @see org.eclipse.papyrus.infra.core.extension.commands.ModelCreationCommandBase#initializeModel(org.eclipse.emf.ecore.EObject)
+	 *
+	 * @param owner
+	 */
+
+	@Override
+	protected void initializeModel(EObject owner) {
+		super.initializeModel(owner);
+		Package packageOwner = (Package) owner;
+
+		// Retrieve SysML profile and apply with Sub-profile
+		Profile sysml = (Profile) PackageUtil.loadPackage(URI.createURI(SysMLResource.PROFILE_PATH), owner.eResource().getResourceSet());
+		if (sysml != null) {
+			PackageUtil.applyProfile(packageOwner, sysml, true);
+		}
+
+		Profile standardUMLProfile = (Profile) PackageUtil.loadPackage(URI.createURI(UMLResource.STANDARD_PROFILE_URI), owner.eResource().getResourceSet());
+		if (standardUMLProfile != null) {
+			PackageUtil.applyProfile(packageOwner, standardUMLProfile, true);
+		}
+
+		Package umlPrimitiveTypes = PackageUtil.loadPackage(URI.createURI(UMLResource.UML_PRIMITIVE_TYPES_LIBRARY_URI), owner.eResource().getResourceSet());
+		if (umlPrimitiveTypes != null) {
+			PackageImport pi = UMLFactory.eINSTANCE.createPackageImport();
+			pi.setImportedPackage(umlPrimitiveTypes);
+			packageOwner.getPackageImports().add(pi);
+		}
+
+		Package sysmlLibrary = PackageUtil.loadPackage(URI.createURI(SysMLResource.LIBRARY_PATH), owner.eResource().getResourceSet());
+		if (sysmlLibrary != null) {
+			PackageImport pi = UMLFactory.eINSTANCE.createPackageImport();
+			pi.setImportedPackage(sysmlLibrary);
+			packageOwner.getPackageImports().add(pi);
+		}
+
+	}
+
+}
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/internal/NoContextEnablementMatcher.java b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/internal/NoContextEnablementMatcher.java
new file mode 100644
index 0000000..b1f1ad9
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/internal/NoContextEnablementMatcher.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.architecture.internal;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+
+/**
+ * A no context matcher used to register element type bindings in the extension points.
+ */
+public class NoContextEnablementMatcher implements IElementMatcher {
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.gmf.runtime.emf.type.core.IElementMatcher#matches(org.eclipse.emf.ecore.EObject)
+	 */
+	@Override
+	public boolean matches(final EObject eObject) {
+		return false;
+	}
+}
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/internal/UMLtoSyML16ModelConversionCommand.java b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/internal/UMLtoSyML16ModelConversionCommand.java
new file mode 100644
index 0000000..d00c79a
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/internal/UMLtoSyML16ModelConversionCommand.java
@@ -0,0 +1,144 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.architecture.internal;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.gmf.runtime.common.core.command.AbstractCommand;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.command.IdentityCommand;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.papyrus.infra.architecture.commands.IModelConversionCommand;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.emf.gmf.util.GMFUnsafe;
+import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationModel;
+import org.eclipse.papyrus.infra.gmfdiag.style.PapyrusDiagramStyle;
+import org.eclipse.papyrus.sysml16.architecture.util.SysML16chitectureUtil;
+
+/**
+ * Class to allow conversion to SysML 1.6 context.
+ */
+public class UMLtoSyML16ModelConversionCommand implements IModelConversionCommand {
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.infra.architecture.commands.IModelConversionCommand#convertModel(org.eclipse.papyrus.infra.core.resource.ModelSet)
+	 */
+	@Override
+	public void convertModel(final ModelSet modelSet) {
+		NotationModel model = (NotationModel) modelSet.getModel(NotationModel.MODEL_ID);
+		CompositeCommand compositeCommand = new CompositeCommand("Conversion to SysML 1.6 context");
+		for (Resource current : model.getResources()) {
+			for (EObject element : current.getContents()) {
+				if (element instanceof Diagram) {
+					ICommand convertDiagram = convertDiagram((Diagram) element);
+					compositeCommand.add(convertDiagram);
+				}
+			}
+		}
+
+		try {
+			GMFUnsafe.write(modelSet.getTransactionalEditingDomain(), compositeCommand);
+		} catch (ExecutionException | InterruptedException | RollbackException e) {
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * Provide an ICommand for each diagram that need a conversion
+	 * @param diagram
+	 * @return
+	 */
+	public ICommand convertDiagram(Diagram diagram) {
+		for (Object object : diagram.getStyles()) {
+			if (object instanceof PapyrusDiagramStyle) {
+				switch (((PapyrusDiagramStyle) object).getDiagramKindId()) {
+				// FIXME: UML Representation kind ids should be provided by API core
+				case "org.eclipse.papyrus.uml.diagram.package":
+					return new SetPapyrusDiagramStyleCommand(diagram, SysML16chitectureUtil.DIAGRAM_PACKAGE_ID);
+				case "org.eclipse.papyrus.uml.diagram.activity":
+					return new SetPapyrusDiagramStyleCommand(diagram, SysML16chitectureUtil.DIAGRAM_ACTIVITY_ID);
+				case "org.eclipse.papyrus.uml.diagram.stateMachine":
+					return new SetPapyrusDiagramStyleCommand(diagram, SysML16chitectureUtil.DIAGRAM_STATE_MACHINE_ID);
+				case "org.eclipse.papyrus.uml.diagram.useCase":
+					return new SetPapyrusDiagramStyleCommand(diagram, SysML16chitectureUtil.DIAGRAM_USE_CASE_ID);
+				default:// not conversion available
+					break;
+				}
+			}
+		}
+		return IdentityCommand.INSTANCE;
+	}
+
+	///////////////////////////////////////////////////////////////////////////////
+	/**
+	 * FIXME: Should be provided as API by the core 
+	 * TODO: should be undoable
+	 * A command to set the diagram kind to a diagram
+	 */
+	private class SetPapyrusDiagramStyleCommand extends AbstractCommand {
+
+		private Diagram diagram;
+		private String diagramKind;
+
+		public SetPapyrusDiagramStyleCommand(Diagram diagram, String newStyle) {
+			super("Set new diagram kind for Papyrus Style");
+			this.diagram = diagram;
+			this.diagramKind = newStyle;
+		}
+
+		@Override
+		protected CommandResult doExecuteWithResult(IProgressMonitor progressMonitor, IAdaptable info)
+				throws ExecutionException {
+			for (Object object : diagram.getStyles()) {
+				if (object instanceof PapyrusDiagramStyle) {
+					((PapyrusDiagramStyle) object).setDiagramKindId(diagramKind);
+				}
+			}
+			return CommandResult.newOKCommandResult();
+		}
+
+		@Override
+		public boolean canUndo() {
+			return false;
+		}
+
+		@Override
+		public boolean canRedo() {
+			return false;
+		}
+
+		@Override
+		protected CommandResult doRedoWithResult(IProgressMonitor progressMonitor, IAdaptable info)
+				throws ExecutionException {
+			throw new ExecutionException("Should not be called, canRedo false"); //$NON-NLS-1$
+		}
+
+		@Override
+		protected CommandResult doUndoWithResult(IProgressMonitor progressMonitor, IAdaptable info)
+				throws ExecutionException {
+			throw new ExecutionException("Should not be called, canUndo false"); //$NON-NLS-1$
+		}
+	}
+	////////////////////////////////////////////////////////////////////////////////
+}
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/util/SysML16chitectureUtil.java b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/util/SysML16chitectureUtil.java
new file mode 100644
index 0000000..1ee5e4b
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.architecture/src/org/eclipse/papyrus/sysml16/architecture/util/SysML16chitectureUtil.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.architecture.util;
+
+/**
+ * Utility class to get informations on DeprecatedElement resources.
+ */
+public final class SysML16chitectureUtil {
+	
+	private SysML16chitectureUtil(){
+		// Do nothing
+	}
+
+    public static final String DIAGRAM_ACTIVITY_ID = "org.eclipse.papyrus.sysml16.diagram.activity"; //$NON-NLS-1$
+    public static final String DIAGRAM_BLOCK_DEFINITION_ID = "org.eclipse.papyrus.sysml16.diagram.blockdefinition"; //$NON-NLS-1$	
+    public static final String DIAGRAM_INTERNAL_BLOCK_ID = "org.eclipse.papyrus.sysml16.diagram.internalblock"; //$NON-NLS-1$
+    public static final String DIAGRAM_PACKAGE_ID = "org.eclipse.papyrus.sysml16.diagram.package"; //$NON-NLS-1$
+    public static final String DIAGRAM_PARAMETRIC_ID = "org.eclipse.papyrus.sysml16.diagram.parametric"; //$NON-NLS-1$	
+    public static final String DIAGRAM_REQUIREMENT_ID = "org.eclipse.papyrus.sysml16.diagram.requirement"; //$NON-NLS-1$
+    public static final String DIAGRAM_SEQUENCE_ID = "org.eclipse.papyrus.sysml16.diagram.sequence"; //$NON-NLS-1$
+    public static final String DIAGRAM_STATE_MACHINE_ID = "org.eclipse.papyrus.sysml16.diagram.stateMachine"; //$NON-NLS-1$
+    public static final String DIAGRAM_USE_CASE_ID = "org.eclipse.papyrus.sysml16.diagram.useCase"; //$NON-NLS-1$
+    
+    public static final String TABLE_REQUIREMENT_ID = "org.eclipse.papyrus.sysml16.table.requirement"; //$NON-NLS-1$	
+    public static final String TABLE_REQUIREMENT_TREE_ID = "org.eclipse.papyrus.sysml16.table.requirementTree"; //$NON-NLS-1$	
+    public static final String TABLE_ALLOCATION_ID = "org.eclipse.papyrus.sysml16.table.allocation"; //$NON-NLS-1$	
+	
+}
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.classpath b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.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/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.project b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.project
new file mode 100644
index 0000000..6b25782
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.modelexplorer</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.core.resources.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.core.runtime.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.jdt.core.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.jdt.ui.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.m2e.core.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.pde.api.tools.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/META-INF/MANIFEST.MF b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..8c8ffe8
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.modelexplorer;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: org.eclipse.papyrus.syml16.modelexplorer
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Activator: org.eclipse.papyrus.sysml16.modelexplorer.Activator
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.0,4.0.0)",
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.emf.facet.efacet.core;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.0.0,6.0.0)",
+ org.eclipse.papyrus.emf.facet.query.java.core;bundle-version="[2.0.0,3.0.0)"
+Export-Package: org.eclipse.papyrus.sysml16.modelexplorer
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/about.html b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/build.properties b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/build.properties
new file mode 100644
index 0000000..ad68327
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               plugin.xml,\
+               resources/
+src.includes = about.html
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/plugin.properties b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/plugin.properties
new file mode 100644
index 0000000..b2e816b
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/plugin.properties
@@ -0,0 +1,15 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Patrick Tessier (CEA LIST) patrick.tessier@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Model Explorer
+Bundle-Description=This plug-in contains the SyML 1.6 model explorer customization.
+Bundle-Vendor=Eclipse Modeling Project
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/plugin.xml b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/plugin.xml
new file mode 100644
index 0000000..bdcf05b
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/plugin.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+   <extension
+         point="org.eclipse.papyrus.emf.facet.util.emf.core.modeldeclaration">
+      <modeldeclaration
+            file="resources/System.custom">
+      </modeldeclaration>
+   </extension>
+
+</plugin>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/pom.xml b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/pom.xml
new file mode 100644
index 0000000..adaf3c0
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.gui</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.modelexplorer</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.modelexplorer</name>
+	<description>This plugins manages the display of the model explorer</description>
+</project>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/resources/System.custom b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/resources/System.custom
new file mode 100644
index 0000000..62c79e4
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/resources/System.custom
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<custom:Customization xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:custom="http://www.eclipse.org/papyrus/emf/facet/custom/0.2.incubation/custom" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:efacet="http://www.eclipse.org/papyrus/emf/facet/efacet/0.2.incubation/efacet" xmlns:javaQuery="http://www.eclipse.org/papyrus/emf/facet/query/java/0.2.incubation/javaquery" name="SystemView" documentation="See part inside parts" mustBeLoadedByDefault="true" rank="2">
+  <eClassifiers xsi:type="custom:EClassCustomization" name="NamedElement">
+    <extendedMetaclass href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+    <facetElements xsi:type="efacet:FacetReference" name="SubParts" upperBound="-1" volatile="true" transient="true" derived="true">
+      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+      <query xsi:type="javaQuery:JavaQuery" implementationClassName="org.eclipse.papyrus.sysml16.modelexplorer.GetSubParts"/>
+    </facetElements>
+    <extendedFacets href="platform:/plugin/org.eclipse.papyrus.emf.facet.custom.ui/resources/customproperties.efacet#//CustomizedEObject"/>
+  </eClassifiers>
+</custom:Customization>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/src/org/eclipse/papyrus/sysml16/modelexplorer/Activator.java b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/src/org/eclipse/papyrus/sysml16/modelexplorer/Activator.java
new file mode 100644
index 0000000..c1ceb9c
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/src/org/eclipse/papyrus/sysml16/modelexplorer/Activator.java
@@ -0,0 +1,86 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.modelexplorer;
+
+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.sysml16.modelexplorer"; //$NON-NLS-1$
+
+	/**
+	 * The shared instance.
+	 */
+	private static Activator plugin;
+
+	/** Logging helper. */
+	private static LogHelper logHelper;
+
+	/**
+	 * The constructor.
+	 */
+	public Activator() {
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(final BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+		logHelper = new LogHelper(plugin);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @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;
+	}
+
+	/**
+	 * Returns the log helper.
+	 * 
+	 * @return the log helper.
+	 */
+	public static LogHelper getLogHelper() {
+		return logHelper;
+	}
+}
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/src/org/eclipse/papyrus/sysml16/modelexplorer/GetSubParts.java b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/src/org/eclipse/papyrus/sysml16/modelexplorer/GetSubParts.java
new file mode 100644
index 0000000..ab96396
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.modelexplorer/src/org/eclipse/papyrus/sysml16/modelexplorer/GetSubParts.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.modelexplorer;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager;
+import org.eclipse.papyrus.emf.facet.efacet.core.exception.DerivedTypedElementException;
+import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2;
+import org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * Provide subpart inside that comes from types
+ *
+ */
+public class GetSubParts implements IJavaQuery2<NamedElement, Collection<EObject>> {
+	@Override
+	public Collection<EObject> evaluate(final NamedElement context,
+			final IParameterValueList2 parameterValues,
+			final IFacetManager facetManager)
+			throws DerivedTypedElementException {
+
+
+		ArrayList<EObject> result = new ArrayList<>();
+		if (context instanceof Property) {
+			Property property = (Property) context;
+			if (property.getType() == null) {
+				return result;
+			}
+			if (property.getType() instanceof org.eclipse.uml2.uml.Class) {
+				result.addAll(((org.eclipse.uml2.uml.Class) property.getType()).getAllAttributes());
+			}
+		}
+		return result;
+
+	}
+
+
+}
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/.classpath b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/.project b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.project
new file mode 100644
index 0000000..debdb73
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.ui</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.core.resources.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.core.runtime.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.m2e.core.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.pde.api.tools.prefs b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/META-INF/MANIFEST.MF b/plugins/gui/org.eclipse.papyrus.sysml16.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..57aad42
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,45 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.ui;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.sysml16.ui.Activator
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.gef;bundle-version="[3.10.0,4.0.0]",
+ org.eclipse.emf.edit.ui;bundle-version="[2.12.0,3.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.papyrus.infra.constraints;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.newchild;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.views.modelexplorer;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.views.properties;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.emf.facet.custom.metamodel;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.papyrus.emf.facet.custom.ui;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.emf.facet.query.java.core;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.uml.diagram.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.wizards;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.filters;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.papyrus.uml.modelexplorer;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.uml.properties;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.templaterepository;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.uml.tools;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.architecture;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.sysml16.ui,
+ org.eclipse.papyrus.sysml16.ui.constraints,
+ org.eclipse.papyrus.sysml16.ui.paste,
+ org.eclipse.papyrus.sysml16.ui.queries.property,
+ org.eclipse.papyrus.sysml16.ui.template
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Bundle-Description: %Bundle-Description
+Bundle-Vendor: %Bundle-Vendor
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.ui
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/about.html b/plugins/gui/org.eclipse.papyrus.sysml16.ui/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/gui/org.eclipse.papyrus.sysml16.ui/about.ini b/plugins/gui/org.eclipse.papyrus.sysml16.ui/about.ini
new file mode 100644
index 0000000..dfa81ba
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/about.ini
@@ -0,0 +1,11 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Papyrus UML feature icon
+featureImage=resources/icons/PapyrusSysMLLogo32x32.png
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/about.properties b/plugins/gui/org.eclipse.papyrus.sysml16.ui/about.properties
new file mode 100644
index 0000000..0972e77
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/about.properties
@@ -0,0 +1,16 @@
+# about.properties
+# contains externalized strings for about.ini
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# fill-ins are supplied by about.mappings
+# This file should be translated.
+
+featureText=Papyrus SysML 1.6 \n\
+\n\
+Copyright (c) 2019 CEA LIST and others.
+\n\
+t https://www.eclipse.org/legal/epl-2.0/
+t
+t SPDX-License-Identifier: EPL-2.0
+\n\
+Papyrus for SysML provides a UML 2/SyML 1.6 modeling environment that conforms to the OMG specification.\n\
+Visit http://www.eclipse.org/papyrus
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/build.properties b/plugins/gui/org.eclipse.papyrus.sysml16.ui/build.properties
new file mode 100644
index 0000000..a170b1a
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/build.properties
@@ -0,0 +1,14 @@
+#
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               resources/,\
+               about.html,\
+             	about.ini,\
+               about.properties              
+jars.compile.order = .
+source.. = src/
+output.. = target/classes/
+src.includes = about.html
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/plugin.properties b/plugins/gui/org.eclipse.papyrus.sysml16.ui/plugin.properties
new file mode 100644
index 0000000..79c2473
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/plugin.properties
@@ -0,0 +1,17 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 UI
+Bundle-Description=This plug-in contains all graphical interface for the SyML 1.6 tooling.
+Bundle-Vendor=Eclipse Modeling Project
+
+
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/plugin.xml b/plugins/gui/org.eclipse.papyrus.sysml16.ui/plugin.xml
new file mode 100644
index 0000000..c49b88e
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/plugin.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+  <extension point="org.eclipse.papyrus.emf.facet.util.emf.core.modeldeclaration">
+  	<modeldeclaration file="resources/custom/OperationalSysML16.custom"/>
+</extension> 
+   
+   <extension
+        point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+     <profile
+           description="UML profile for SysML (from OMG SysML V1.6)"
+           iconpath="resources/icons/SysMLProfile.gif"
+           name="SysML 1.6"
+           path="pathmap://SysML16_PROFILES/SysML.profile.uml"
+           provider="Eclipse Modeling Project">
+     </profile>
+  </extension>   
+   
+  <extension
+        point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
+     <library
+           description="SysML-Standard-Library (non stereotype part from OMG SysML V1.6 profile)"
+           iconpath="resources/icons/SysMLLibrary.gif"
+           name="SysML-Standard-Library"
+           path="pathmap://SysML16_LIBRARIES/SysML-Standard-Library.uml"
+           provider="Eclipse Modeling Project">
+     </library>   
+  </extension> 
+
+  <extension
+        point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
+     <library
+           description="SysM QUDV Library (non stereotype part from OMG SysML V1.6 profile)"
+           iconpath="resources/icons/SysMLLibrary.gif"
+           name="SysML QUDV Library"
+           path="pathmap://SysML16_LIBRARIES/QUDV.uml"
+           provider="Eclipse Modeling Project">
+     </library>   
+  </extension> 
+     
+    <extension point="org.eclipse.papyrus.infra.ui.papyrusDiagram">
+	     <diagramCategory
+	            class="org.eclipse.papyrus.sysml16.architecture.CreateSysML16ModelCommand"
+	            description="SysML 1.6 diagrams"
+	            icon="platform:/plugin/org.eclipse.papyrus.sysml16/resources/icons/SysML.gif"
+	            id="SysML16"
+	            label="SysML 1.6">
+	     </diagramCategory>
+    </extension>
+
+   
+   <extension point="org.eclipse.papyrus.infra.newchild">
+      <menuCreationModel model="resources/SysML16.creationmenumodel"></menuCreationModel>
+      <menuCreationModel model="resources/SysML16Edges.creationmenumodel"></menuCreationModel>
+      <!--A new menu should be added UML4SysML, it's like the UML New child menu with the subset UML in the norm 
+		  See Table 4.2 - UML 2 metaclasses and datatypes included in the UML4SysML subset UML 2 in SysML 1.6 norm. -->
+      <menuCreationModel model="resources/UML4SysML16.creationmenumodel"></menuCreationModel>
+      <menuCreationModel model="resources/UML4SysML16Edges.creationmenumodel"></menuCreationModel>
+   </extension>
+       
+   <extension point="org.eclipse.papyrus.infra.properties.contexts">
+      <context contextModel="resources/properties/SysML1.6.ctx"></context>
+   </extension>
+      
+   <extension point="org.eclipse.papyrus.infra.constraints.ConstraintEnvironment">
+      <environment environmentModel="resources/SysML1.6ConstraintEnvironment.xmi"></environment>
+   </extension>      
+      
+   <extension
+         point="org.eclipse.papyrus.uml.diagram.wizards.templates">
+      <transformation
+            Transformation="org.eclipse.papyrus.sysml16.ui.template.ImportSysMLQUDVLibraryInModel"
+         	id="org.eclipse.papyrus.sysml16.templaterepository.ImportSysMLQUDVLibraryInModel"
+            language="org.eclipse.papyrus.sysml.architecture.SysML16"
+            name="A model with QUDV Library">
+      </transformation>            
+  </extension>      
+  <extension
+      point="org.eclipse.papyrus.infra.gmfdiag.common.pasteStrategy">
+   	<strategy
+         strategy="org.eclipse.papyrus.sysml16.ui.paste.PartPasteStrategy">
+   	</strategy>
+  </extension>
+
+</plugin>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/pom.xml b/plugins/gui/org.eclipse.papyrus.sysml16.ui/pom.xml
new file mode 100644
index 0000000..3e8b346
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.gui</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.ui</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.ui</name>
+	<description>This plugins manages the user interface based on the following framework: new child menu, properties</description>
+</project>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi
new file mode 100644
index 0000000..ddac3e0
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="ASCII"?>
+<environment:ConstraintEnvironment
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:environment="http://www.eclipse.org/papyrus/constraints/environment/0.9">
+  <constraintTypes
+      label="Has Stereotype Sysml 1.6"
+      constraintClass="org.eclipse.papyrus.sysml16.ui.constraints.HasStereotypeSysml16Constraint"/>
+</environment:ConstraintEnvironment>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/SysML16.creationmenumodel b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/SysML16.creationmenumodel
new file mode 100644
index 0000000..154da90
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/SysML16.creationmenumodel
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ElementCreationMenuModel:Folder xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ElementCreationMenuModel="http://www.eclipse.org/papyrus/infra/newchild/elementcreationmenumodel" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:filters="http://www.eclipse.org/Papyrus/2014/common/filters" xmlns:umlfilters="http://www.eclipse.org/Papyrus/2014/uml/filters" label="SysML 1.6 Child" icon="platform:/plugin/org.eclipse.papyrus.sysml16/resources/icons/full/obj16/SysML.gif">
+  <filter xsi:type="filters:CompoundFilter" filter="//@filter/@ownedFilter.0">
+    <ownedFilter xsi:type="umlfilters:ProfileApplied" name="isSysML16ProfileApplied" profileQualifiedName="SysML" profileURI="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML"/>
+  </filter>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="AcceptChangeStructuralFeatureEventAction">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AcceptChangeStructuralFeatureEventAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="AddFlowPropertyValueOnNestedPortAction">
+  	<elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AddFlowPropertyValueOnNestedPortAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="AdjunctProperty">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AdjunctProperty"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="AllocateActivityPartition">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AllocateActivityPartition"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Block" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Block.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Block"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="BoundReference" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BoundReference.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.BoundReference"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ChangeStructuralFeatureEvent" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ChangeStructuralFeatureEvent.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ChangeStructuralFeatureEvent"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ClassifierBehaviorProperty" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ClassifierBehaviorProperty.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ConjugatedInterfaceBlock">
+  	<elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ConnectorProperty" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConnectorProperty.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConnectorProperty"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ConstraintBlock" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintBlock.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintBlock"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Continuous ActivityEdge">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Continuous_ActivityEdge"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Continuous Parameter">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Continuous_Parameter"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ControlOperator Behavior" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Behavior.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ControlOperator_Behavior"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ControlOperator Operation" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Operation.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ControlOperator_Operation"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="DirectedFeature">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DirectedFeature"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="DirectedRelationshipPropertyPath">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DirectedRelationshipPropertyPath"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Discrete ActivityEdge">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Discrete_ActivityEdge"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Discrete Parameter">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Discrete_Parameter"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="DistributedProperty" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DistributedProperty.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DistributedProperty"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ElementGroup" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementGroup.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ElementGroup"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ElementPropertyPath">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ElementPropertyPath"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="EndPathMultiplicity" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/EndPathMultiplicity.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.EndPathMultiplicity"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="FlowProperty" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowProperty"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="FlowPort" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowPort"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="FlowSpecification" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowSpecification.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FlowSpecification"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="FullPort" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FullPort.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.FullPort"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="InterfaceBlock" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InterfaceBlock.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.InterfaceBlock"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="InvocationOnNestedPortAction InvocationAction">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_InvocationAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="InvocationOnNestedPortAction Element">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_Element"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="NestedConnectorEnd ConnectorEnd" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_ConnectorEnd.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.NestedConnectorEnd_ConnectorEnd"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="NestedConnectorEnd Element" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_Element.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.NestedConnectorEnd_Element"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="NoBuffer">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.NoBuffer"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Optional" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Optional.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Optional"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Overwrite">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Overwrite"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Parameter" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Parameter"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ParticipantProperty" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ParticipantProperty.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ParticipantProperty"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Problem" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Problem.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Problem"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Probability ActivityEdge">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Probability_ActivityEdge"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Probability ParameterSet">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Probability_ParameterSet"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="PropertySpecificType" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/PropertySpecificType.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.PropertySpecificType"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ProxyPort" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FullPort.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ProxyPort"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="QuantityKind" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceSpecification.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.QuantityKind"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Rate ActivityEdge">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Rate_ActivityEdge"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Rate Parameter">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Rate_Parameter"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Rationale" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rationale.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Rationale"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Requirement" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Requirement.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Requirement"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Stakeholder" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Stakeholder.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Stakeholder"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="TestCase Operation" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Operation.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.TestCase_Operation"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="TestCase Behavior" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Behavior.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.TestCase_Behavior"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="TriggerOnNestedPort Element" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Element.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Element"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="TriggerOnNestedPort Trigger" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Trigger.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Trigger"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Unit" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Unit.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Unit"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ValueType" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ValueType.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ValueType"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="View" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/View.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.View"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Viewpoint" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Viewpoint.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Viewpoint"/>
+  </menu>
+</ElementCreationMenuModel:Folder>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/SysML16Edges.creationmenumodel b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/SysML16Edges.creationmenumodel
new file mode 100644
index 0000000..babdad0
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/SysML16Edges.creationmenumodel
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ElementCreationMenuModel:Folder xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ElementCreationMenuModel="http://www.eclipse.org/papyrus/infra/newchild/elementcreationmenumodel" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:filters="http://www.eclipse.org/Papyrus/2014/common/filters" xmlns:umlfilters="http://www.eclipse.org/Papyrus/2014/uml/filters" label="SysML 1.6 Relationship" icon="platform:/plugin/org.eclipse.papyrus.sysml16/resources/icons/full/obj16/SysML.gif">
+  <filter xsi:type="filters:CompoundFilter" filter="//@filter/@ownedFilter.0">
+    <ownedFilter xsi:type="umlfilters:ProfileApplied" name="isSysML16ProfileApplied" profileQualifiedName="SysML" profileURI="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML"/>
+  </filter>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Allocate">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Allocate_Abstraction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="AssociationBlock" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AssociationBlock.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AssociationBlock"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="BindingConnector" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BindingConnector.gif" displayAllRoles="false">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.BindingConnector"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Conform" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Conform.gif" displayAllRoles="false">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Conform"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Continuous Control Flow" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif" displayAllRoles="false">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ContinuousControlFlow"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Copy" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Copy.gif" displayAllRoles="false">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Copy_Abstraction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="DeriveReqt" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DeriveReqt.gif" displayAllRoles="false">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DeriveReqt_Abstraction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Discrete Control Flow" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif" displayAllRoles="false">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.DiscreteControlFlow"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Expose" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Expose.gif" displayAllRoles="false">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Expose"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="ItemFlow" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ItemFlow.gif" displayAllRoles="false">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ItemFlow"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Rate Control Flow" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif" displayAllRoles="false">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.RateControlFlow"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Refine" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Refine.gif">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Refine_Abstraction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Satisfy" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Satisfy.gif" displayAllRoles="false">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Satisfy_Abstraction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Trace" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Trace.gif" displayAllRoles="false">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Trace_Abstraction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Verify" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Verify.gif" displayAllRoles="false">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Verify_Abstraction"/>
+  </menu>
+</ElementCreationMenuModel:Folder>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/UML4SysML16.creationmenumodel b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/UML4SysML16.creationmenumodel
new file mode 100644
index 0000000..794f7b1
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/UML4SysML16.creationmenumodel
@@ -0,0 +1,363 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ElementCreationMenuModel:Folder xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ElementCreationMenuModel="http://www.eclipse.org/papyrus/infra/newchild/elementcreationmenumodel" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:filters="http://www.eclipse.org/Papyrus/2014/common/filters" xmlns:umlfilters="http://www.eclipse.org/Papyrus/2014/uml/filters" label="UML for SysML 1.6" icon="platform:/plugin/org.eclipse.papyrus.sysml16/resources/icons/full/obj16/SysML.gif">
+  <filter xsi:type="filters:CompoundFilter" filter="//@filter/@ownedFilter.0">
+    <ownedFilter xsi:type="umlfilters:ProfileApplied" name="isSysML16ProfileApplied" profileQualifiedName="SysML" profileURI="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML"/>
+  </filter>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="AcceptCallAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.AcceptCallAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="AcceptEventAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.AcceptEventAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ActionExecutionSpecification">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActionExecutionSpecification"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ActionInputPin">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActionInputPin"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ActivityFinalNode">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActivityFinalNode"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ActivityParameterNode">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActivityParameterNode"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ActivityPartition">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActivityPartition"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="AddStructuralFeatureValueAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.AddStructuralFeatureValueAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="AddVariableValueAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.AddVariableValueAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="AnyReceiveEvent">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.AnyReceiveEvent"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="BehaviorExecutionSpecification">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.BehaviorExecutionSpecification"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="BroadcastSignalAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.BroadcastSignalAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="CallBehaviorAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.CallBehaviorAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="CallEvent">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.CallEvent"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="CentralBufferNode">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.CentralBufferNode"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ChangeEvent">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ChangeEvent"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Class">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Clause">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Clause"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ClearAssociationAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ClearAssociationAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ClearVariableAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ClearVariableAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="CombinedFragment">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.CombinedFragment"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Comment">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Comment"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ConditionalNode">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ConditionalNode"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ConnectorEnd">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ConnectorEnd"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ConsiderIgnoreFragment">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ConsiderIgnoreFragment"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Constraint">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Constraint"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Continuation">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Continuation"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="CreateLinkAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.CreateLinkAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="CreateLinkObjectAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.CreateLinkObjectAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="CreateObjectAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.CreateObjectAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="DataStoreNode">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DataStoreNode"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="DecisionNode">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DecisionNode"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="DestroyLinkAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DestroyLinkAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="DestructionOccurrenceSpecification">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DestructionOccurrenceSpecification"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Duration">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Duration"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="DurationConstraint">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DurationConstraint"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="DurationObservation">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DurationObservation"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ElementImport">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ElementImport"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Enumeration">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Enumeration"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="EnumerationLiteral">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.EnumerationLiteral"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ExecutionOccurrenceSpecification">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ExecutionOccurrenceSpecification"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Expression">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Expression"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ExtensionEnd">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ExtensionEnd"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ExtensionPoint">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ExtensionPoint"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="FinalState">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.FinalState"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="FlowFinalNode">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.FlowFinalNode"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ForkNode">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ForkNode"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="FunctionBehavior">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.FunctionBehavior"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="GeneralOrdering">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.GeneralOrdering"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Image">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Image"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="InformationItem">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InformationItem"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="InputPin">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InputPin"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="InstanceSpecification">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InstanceSpecification"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="InstanceValue">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InstanceValue"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Interaction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Interaction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="InteractionConstraint">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InteractionConstraint"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="InteractionOperand">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InteractionOperand"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="InteractionUse">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InteractionUse"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Interface">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Interface"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Interval">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Interval"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="IntervalConstraint">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.IntervalConstraint"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="JoinNode">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.JoinNode"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Lifeline">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Lifeline"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="LinkEndCreationData">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.LinkEndCreationData"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="LinkEndDestructionData">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.LinkEndDestructionData"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="LiteralBoolean">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.LiteralBoolean"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="LiteralInteger">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.LiteralInteger"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="LiteralNull">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.LiteralNull"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="LiteralReal">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.LiteralReal"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="LiteralUnlimitedNatural">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.LiteralUnlimitedNatural"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="LoopNode">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.LoopNode"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="MergeNode">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.MergeNode"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Message">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Message"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="MessageOccurrenceSpecification">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.MessageOccurrenceSpecification"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Model">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Model"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="OccurrenceSpecification">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.OccurrenceSpecification"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="OpaqueAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.OpaqueAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="OpaqueExpression">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.OpaqueExpression"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Operation">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Operation"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="OutputPin">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.OutputPin"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Package">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Package"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="PackageImport">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.PackageImport"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ParameterSet">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ParameterSet"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="PartDecomposition">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.PartDecomposition"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="PrimitiveType">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.PrimitiveType"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Profile">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Profile"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Property">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="RaiseExceptionAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.RaiseExceptionAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ReadExtentAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ReadExtentAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ReadIsClassifiedObjectAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ReadIsClassifiedObjectAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ReadLinkObjectEndAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ReadLinkObjectEndAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ReadSelfAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ReadSelfAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ReadStructuralFeatureAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ReadStructuralFeatureAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ReadVariableAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ReadVariableAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ReclassifyObjectAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ReclassifyObjectAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ReduceAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ReduceAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Region">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Region"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="RemoveStructuralFeatureValueAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.RemoveStructuralFeatureValueAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="RemoveVariableValueAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.RemoveVariableValueAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ReplyAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ReplyAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="SendSignalAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.SendSignalAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="SequenceNode">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.SequenceNode"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Signal">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Signal"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="SignalEvent">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.SignalEvent"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Slot">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Slot"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="StartClassifierBehaviorAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.StartClassifierBehaviorAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="State">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.State"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="StateInvariant">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.StateInvariant"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="StateMachine">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.StateMachine"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Stereotype">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Stereotype"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="TestIdentityAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.TestIdentityAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="TimeConstraint">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.TimeConstraint"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="TimeEvent">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.TimeEvent"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="TimeExpression">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.TimeExpression"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="TimeObservation">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.TimeObservation"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="Transition">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Transition"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="UnmarshallAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.UnmarshallAction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="UseCase">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.UseCase"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreationMenu" label="ValueSpecificationAction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ValueSpecificationAction"/>
+  </menu>
+</ElementCreationMenuModel:Folder>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/UML4SysML16Edges.creationmenumodel b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/UML4SysML16Edges.creationmenumodel
new file mode 100644
index 0000000..a4e08fa
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/UML4SysML16Edges.creationmenumodel
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ElementCreationMenuModel:Folder xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ElementCreationMenuModel="http://www.eclipse.org/papyrus/infra/newchild/elementcreationmenumodel" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:filters="http://www.eclipse.org/Papyrus/2014/common/filters" xmlns:umlfilters="http://www.eclipse.org/Papyrus/2014/uml/filters" label="UML for SysML 1.6 Edges" icon="platform:/plugin/org.eclipse.papyrus.sysml16/resources/icons/full/obj16/SysML.gif">
+  <filter xsi:type="filters:CompoundFilter" filter="//@filter/@ownedFilter.0">
+    <ownedFilter xsi:type="umlfilters:ProfileApplied" name="isSysML16ProfileApplied" profileQualifiedName="SysML" profileURI="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML"/>
+  </filter>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Abstraction">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Connector">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Connector"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Dependency">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Dependency"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="ElementImport">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ElementImport"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Extend">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Extend"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Generalization">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Generalization"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Include">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Include"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="InformationFlow">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InformationFlow"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="InterfaceRealization">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InterfaceRealization"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="PackageImport">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.PackageImport"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="PackageMerge">
+    <elementType xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.PackageMerge"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="ProfileApplication" visible="false">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ProfileApplication"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Realization">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Realization"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Substitution">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Substitution"/>
+  </menu>
+  <menu xsi:type="ElementCreationMenuModel:CreateRelationshipMenu" label="Usage">
+    <elementType xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Usage"/>
+  </menu>
+</ElementCreationMenuModel:Folder>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/custom/OperationalSysML16.custom b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/custom/OperationalSysML16.custom
new file mode 100644
index 0000000..4107a94
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/custom/OperationalSysML16.custom
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<custom:Customization xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:custom="http://www.eclipse.org/papyrus/emf/facet/custom/0.2.incubation/custom" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:efacet="http://www.eclipse.org/papyrus/emf/facet/efacet/0.2.incubation/efacet" xmlns:javaQuery="http://www.eclipse.org/papyrus/emf/facet/query/java/0.2.incubation/javaquery" xmlns:query="http://www.eclipse.org/papyrus/emf/facet/efacet/0.2.incubation/efacet/query" name="OperationalSysML1.6" documentation="Display contained diagram and their icons">
+  <eClassifiers xsi:type="efacet:Facet" name="TypedProperty" documentation="this element represent a typed property that could be displayed as tree" conformanceTypedElement="//TypedProperty/isTypedProperty">
+    <extendedMetaclass href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+    <facetOperations name="isTypedProperty" documentation="test if the property is typed">
+      <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+      <query xsi:type="javaQuery:JavaQuery" implementationClassName="org.eclipse.papyrus.sysml16.ui.queries.property.IsTypedPropertyJavaQuery"/>
+    </facetOperations>
+  </eClassifiers>
+  <eClassifiers xsi:type="custom:FacetCustomization" name="TypedProperty" documentation="Representation of a typed property">
+    <facetElements xsi:type="efacet:FacetReference" name="attributes" upperBound="-1" defaultValueLiteral="" derived="true">
+      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+      <query xsi:type="query:OperationCallQuery" operation="//TypedProperty.1/TypedPropertyRefContent"/>
+    </facetElements>
+    <facetOperations name="TypedPropertyRefContent" upperBound="-1" documentation="Get the collection of all attributes of a typed property">
+      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+      <query xsi:type="javaQuery:JavaQuery" implementationClassName="org.eclipse.papyrus.sysml16.ui.queries.property.GetContainedAttributesJavaQuery"/>
+    </facetOperations>
+    <extendedFacets href="platform:/plugin/org.eclipse.papyrus.sysml16.ui/resources/custom/OperationalSysML.custom#//TypedProperty"/>
+    <customizedFacet href="platform:/plugin/org.eclipse.papyrus.sysml16.ui/resources/custom/OperationalSysML.custom#//TypedProperty"/>
+  </eClassifiers>
+</custom:Customization>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/icons/PapyrusSysMLLogo32x32.png b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/icons/PapyrusSysMLLogo32x32.png
new file mode 100644
index 0000000..1066104
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/icons/PapyrusSysMLLogo32x32.png
Binary files differ
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/icons/SysMLLibrary.gif b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/icons/SysMLLibrary.gif
new file mode 100644
index 0000000..bf8bdd5
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/icons/SysMLLibrary.gif
Binary files differ
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/icons/SysMLProfile.gif b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/icons/SysMLProfile.gif
new file mode 100644
index 0000000..d8c3834
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/icons/SysMLProfile.gif
Binary files differ
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/SysML1.6.ctx b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/SysML1.6.ctx
new file mode 100644
index 0000000..92f764e
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/SysML1.6.ctx
@@ -0,0 +1,1195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<contexts:Context xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:constraints="http://www.eclipse.org/papyrus/constraints/0.9" xmlns:contexts="http://www.eclipse.org/papyrus/properties/contexts/0.9" xmi:id="_z-Na8M1XEeSGVbFNM4m8gQ" name="SysML 1.6">
+  <dependencies href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_69QJkKDJEeSZxfCXzZz3-w"/>
+  <tabs xmi:id="_2xXfEM1XEeSGVbFNM4m8gQ" label="SysML 1.6" id="osysml16" category="org.eclipse.papyrus" priority="5">
+    <sections xmi:id="_2xtdUM1XEeSGVbFNM4m8gQ" name="Single FlowSpecification" sectionFile="ui/SingleFlowSpecification.xwt">
+      <widget href="ui/SingleFlowSpecification.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xtdUc1XEeSGVbFNM4m8gQ" name="Multiple FlowSpecification" sectionFile="ui/MultipleFlowSpecification.xwt">
+      <widget href="ui/MultipleFlowSpecification.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xuEYM1XEeSGVbFNM4m8gQ" name="Single FlowPort" sectionFile="ui/SingleFlowPort.xwt">
+      <widget href="ui/SingleFlowPort.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xuEYc1XEeSGVbFNM4m8gQ" name="Multiple FlowPort" sectionFile="ui/MultipleFlowPort.xwt">
+      <widget href="ui/MultipleFlowPort.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xurcM1XEeSGVbFNM4m8gQ" name="Single NestedConnectorEnd" sectionFile="ui/SingleNestedConnectorEnd.xwt">
+      <widget href="ui/SingleNestedConnectorEnd.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xurcc1XEeSGVbFNM4m8gQ" name="Multiple NestedConnectorEnd" sectionFile="ui/MultipleNestedConnectorEnd.xwt">
+      <widget href="ui/MultipleNestedConnectorEnd.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xurcs1XEeSGVbFNM4m8gQ" name="Single BoundReference" sectionFile="ui/SingleBoundReference.xwt">
+      <widget href="ui/SingleBoundReference.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xvSgM1XEeSGVbFNM4m8gQ" name="Multiple BoundReference" sectionFile="ui/MultipleBoundReference.xwt">
+      <widget href="ui/MultipleBoundReference.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xvSgc1XEeSGVbFNM4m8gQ" name="Single ValueType" sectionFile="ui/SingleValueType.xwt">
+      <widget href="ui/SingleValueType.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xv5kM1XEeSGVbFNM4m8gQ" name="Multiple ValueType" sectionFile="ui/MultipleValueType.xwt">
+      <widget href="ui/MultipleValueType.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xv5kc1XEeSGVbFNM4m8gQ" name="Single PropertySpecificType" sectionFile="ui/SinglePropertySpecificType.xwt">
+      <widget href="ui/SinglePropertySpecificType.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xv5ks1XEeSGVbFNM4m8gQ" name="Multiple PropertySpecificType" sectionFile="ui/MultiplePropertySpecificType.xwt">
+      <widget href="ui/MultiplePropertySpecificType.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xwgoM1XEeSGVbFNM4m8gQ" name="Single Block" sectionFile="ui/SingleBlock.xwt">
+      <widget href="ui/SingleBlock.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xxHsM1XEeSGVbFNM4m8gQ" name="Multiple Block" sectionFile="ui/MultipleBlock.xwt">
+      <widget href="ui/MultipleBlock.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xxHsc1XEeSGVbFNM4m8gQ" name="Single BindingConnector" sectionFile="ui/SingleBindingConnector.xwt">
+      <widget href="ui/SingleBindingConnector.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xxHss1XEeSGVbFNM4m8gQ" name="Multiple BindingConnector" sectionFile="ui/MultipleBindingConnector.xwt">
+      <widget href="ui/MultipleBindingConnector.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xxHs81XEeSGVbFNM4m8gQ" name="Single DistributedProperty" sectionFile="ui/SingleDistributedProperty.xwt">
+      <widget href="ui/SingleDistributedProperty.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xxuwM1XEeSGVbFNM4m8gQ" name="Multiple DistributedProperty" sectionFile="ui/MultipleDistributedProperty.xwt">
+      <widget href="ui/MultipleDistributedProperty.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xxuwc1XEeSGVbFNM4m8gQ" name="Single ElementPropertyPath" sectionFile="ui/SingleElementPropertyPath.xwt">
+      <widget href="ui/SingleElementPropertyPath.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xxuws1XEeSGVbFNM4m8gQ" name="Multiple ElementPropertyPath" sectionFile="ui/MultipleElementPropertyPath.xwt">
+      <widget href="ui/MultipleElementPropertyPath.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xyV0M1XEeSGVbFNM4m8gQ" name="Single EndPathMultiplicity" sectionFile="ui/SingleEndPathMultiplicity.xwt">
+      <widget href="ui/SingleEndPathMultiplicity.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xy84M1XEeSGVbFNM4m8gQ" name="Multiple EndPathMultiplicity" sectionFile="ui/MultipleEndPathMultiplicity.xwt">
+      <widget href="ui/MultipleEndPathMultiplicity.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xy84c1XEeSGVbFNM4m8gQ" name="Single ConnectorProperty" sectionFile="ui/SingleConnectorProperty.xwt">
+      <widget href="ui/SingleConnectorProperty.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xzj8M1XEeSGVbFNM4m8gQ" name="Multiple ConnectorProperty" sectionFile="ui/MultipleConnectorProperty.xwt">
+      <widget href="ui/MultipleConnectorProperty.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xzj8c1XEeSGVbFNM4m8gQ" name="Single ClassifierBehaviorProperty" sectionFile="ui/SingleClassifierBehaviorProperty.xwt">
+      <widget href="ui/SingleClassifierBehaviorProperty.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2xzj8s1XEeSGVbFNM4m8gQ" name="Multiple ClassifierBehaviorProperty" sectionFile="ui/MultipleClassifierBehaviorProperty.xwt">
+      <widget href="ui/MultipleClassifierBehaviorProperty.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x0LAM1XEeSGVbFNM4m8gQ" name="Single DirectedRelationshipPropertyPath" sectionFile="ui/SingleDirectedRelationshipPropertyPath.xwt">
+      <widget href="ui/SingleDirectedRelationshipPropertyPath.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x0yEM1XEeSGVbFNM4m8gQ" name="Multiple DirectedRelationshipPropertyPath" sectionFile="ui/MultipleDirectedRelationshipPropertyPath.xwt">
+      <widget href="ui/MultipleDirectedRelationshipPropertyPath.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x0yEc1XEeSGVbFNM4m8gQ" name="Single AdjunctProperty" sectionFile="ui/SingleAdjunctProperty.xwt">
+      <widget href="ui/SingleAdjunctProperty.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x1ZIM1XEeSGVbFNM4m8gQ" name="Multiple AdjunctProperty" sectionFile="ui/MultipleAdjunctProperty.xwt">
+      <widget href="ui/MultipleAdjunctProperty.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x1ZIc1XEeSGVbFNM4m8gQ" name="Single ParticipantProperty" sectionFile="ui/SingleParticipantProperty.xwt">
+      <widget href="ui/SingleParticipantProperty.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x1ZIs1XEeSGVbFNM4m8gQ" name="Multiple ParticipantProperty" sectionFile="ui/MultipleParticipantProperty.xwt">
+      <widget href="ui/MultipleParticipantProperty.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x2nQM1XEeSGVbFNM4m8gQ" name="Single Requirement" sectionFile="ui/SingleRequirement.xwt">
+      <widget href="ui/SingleRequirement.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x3OUM1XEeSGVbFNM4m8gQ" name="Multiple Requirement" sectionFile="ui/MultipleRequirement.xwt">
+      <widget href="ui/MultipleRequirement.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x3OUc1XEeSGVbFNM4m8gQ" name="Single Trace" sectionFile="ui/SingleTrace.xwt">
+      <widget href="ui/SingleTrace.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x3OUs1XEeSGVbFNM4m8gQ" name="Multiple Trace" sectionFile="ui/MultipleTrace.xwt">
+      <widget href="ui/MultipleTrace.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x3OU81XEeSGVbFNM4m8gQ" name="Single Copy" sectionFile="ui/SingleCopy.xwt">
+      <widget href="ui/SingleCopy.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x31YM1XEeSGVbFNM4m8gQ" name="Multiple Copy" sectionFile="ui/MultipleCopy.xwt">
+      <widget href="ui/MultipleCopy.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x31Yc1XEeSGVbFNM4m8gQ" name="Single Verify" sectionFile="ui/SingleVerify.xwt">
+      <widget href="ui/SingleVerify.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x31Ys1XEeSGVbFNM4m8gQ" name="Multiple Verify" sectionFile="ui/MultipleVerify.xwt">
+      <widget href="ui/MultipleVerify.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x4ccM1XEeSGVbFNM4m8gQ" name="Single TestCase" sectionFile="ui/SingleTestCase.xwt">
+      <widget href="ui/SingleTestCase.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x4ccc1XEeSGVbFNM4m8gQ" name="Multiple TestCase" sectionFile="ui/MultipleTestCase.xwt">
+      <widget href="ui/MultipleTestCase.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x4ccs1XEeSGVbFNM4m8gQ" name="Single Refine" sectionFile="ui/SingleRefine.xwt">
+      <widget href="ui/SingleRefine.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x4cc81XEeSGVbFNM4m8gQ" name="Multiple Refine" sectionFile="ui/MultipleRefine.xwt">
+      <widget href="ui/MultipleRefine.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x5DgM1XEeSGVbFNM4m8gQ" name="Single Satisfy" sectionFile="ui/SingleSatisfy.xwt">
+      <widget href="ui/SingleSatisfy.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x5Dgc1XEeSGVbFNM4m8gQ" name="Multiple Satisfy" sectionFile="ui/MultipleSatisfy.xwt">
+      <widget href="ui/MultipleSatisfy.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x5Dgs1XEeSGVbFNM4m8gQ" name="Single DeriveReqt" sectionFile="ui/SingleDeriveReqt.xwt">
+      <widget href="ui/SingleDeriveReqt.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x5Dg81XEeSGVbFNM4m8gQ" name="Multiple DeriveReqt" sectionFile="ui/MultipleDeriveReqt.xwt">
+      <widget href="ui/MultipleDeriveReqt.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x5DhM1XEeSGVbFNM4m8gQ" name="Single ConstraintBlock" sectionFile="ui/SingleConstraintBlock.xwt">
+      <widget href="ui/SingleConstraintBlock.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x5qkM1XEeSGVbFNM4m8gQ" name="Multiple ConstraintBlock" sectionFile="ui/MultipleConstraintBlock.xwt">
+      <widget href="ui/MultipleConstraintBlock.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x5qkc1XEeSGVbFNM4m8gQ" name="Single DirectedFeature" sectionFile="ui/SingleDirectedFeature.xwt">
+      <widget href="ui/SingleDirectedFeature.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x6RoM1XEeSGVbFNM4m8gQ" name="Multiple DirectedFeature" sectionFile="ui/MultipleDirectedFeature.xwt">
+      <widget href="ui/MultipleDirectedFeature.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x6Roc1XEeSGVbFNM4m8gQ" name="Single FlowProperty" sectionFile="ui/SingleFlowProperty.xwt">
+      <widget href="ui/SingleFlowProperty.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x64sM1XEeSGVbFNM4m8gQ" name="Multiple FlowProperty" sectionFile="ui/MultipleFlowProperty.xwt">
+      <widget href="ui/MultipleFlowProperty.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x64sc1XEeSGVbFNM4m8gQ" name="Single AcceptChangeStructuralFeatureEventAction" sectionFile="ui/SingleAcceptChangeStructuralFeatureEventAction.xwt">
+      <widget href="ui/SingleAcceptChangeStructuralFeatureEventAction.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x64ss1XEeSGVbFNM4m8gQ" name="Multiple AcceptChangeStructuralFeatureEventAction" sectionFile="ui/MultipleAcceptChangeStructuralFeatureEventAction.xwt">
+      <widget href="ui/MultipleAcceptChangeStructuralFeatureEventAction.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x7fwM1XEeSGVbFNM4m8gQ" name="Single TriggerOnNestedPort" sectionFile="ui/SingleTriggerOnNestedPort.xwt">
+      <widget href="ui/SingleTriggerOnNestedPort.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x7fwc1XEeSGVbFNM4m8gQ" name="Multiple TriggerOnNestedPort" sectionFile="ui/MultipleTriggerOnNestedPort.xwt">
+      <widget href="ui/MultipleTriggerOnNestedPort.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x7fws1XEeSGVbFNM4m8gQ" name="Single FullPort" sectionFile="ui/SingleFullPort.xwt">
+      <widget href="ui/SingleFullPort.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x8G0M1XEeSGVbFNM4m8gQ" name="Multiple FullPort" sectionFile="ui/MultipleFullPort.xwt">
+      <widget href="ui/MultipleFullPort.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x8t4M1XEeSGVbFNM4m8gQ" name="Single InterfaceBlock" sectionFile="ui/SingleInterfaceBlock.xwt">
+      <widget href="ui/SingleInterfaceBlock.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x8t4c1XEeSGVbFNM4m8gQ" name="Multiple InterfaceBlock" sectionFile="ui/MultipleInterfaceBlock.xwt">
+      <widget href="ui/MultipleInterfaceBlock.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x8t4s1XEeSGVbFNM4m8gQ" name="Single InvocationOnNestedPortAction" sectionFile="ui/SingleInvocationOnNestedPortAction.xwt">
+      <widget href="ui/SingleInvocationOnNestedPortAction.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x8t481XEeSGVbFNM4m8gQ" name="Multiple InvocationOnNestedPortAction" sectionFile="ui/MultipleInvocationOnNestedPortAction.xwt">
+      <widget href="ui/MultipleInvocationOnNestedPortAction.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x9U8M1XEeSGVbFNM4m8gQ" name="Single ProxyPort" sectionFile="ui/SingleProxyPort.xwt">
+      <widget href="ui/SingleProxyPort.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x9U8c1XEeSGVbFNM4m8gQ" name="Multiple ProxyPort" sectionFile="ui/MultipleProxyPort.xwt">
+      <widget href="ui/MultipleProxyPort.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x9U8s1XEeSGVbFNM4m8gQ" name="Single ChangeStructuralFeatureEvent" sectionFile="ui/SingleChangeStructuralFeatureEvent.xwt">
+      <widget href="ui/SingleChangeStructuralFeatureEvent.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x9U881XEeSGVbFNM4m8gQ" name="Multiple ChangeStructuralFeatureEvent" sectionFile="ui/MultipleChangeStructuralFeatureEvent.xwt">
+      <widget href="ui/MultipleChangeStructuralFeatureEvent.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x98AM1XEeSGVbFNM4m8gQ" name="Single ItemFlow" sectionFile="ui/SingleItemFlow.xwt">
+      <widget href="ui/SingleItemFlow.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x98Ac1XEeSGVbFNM4m8gQ" name="Multiple ItemFlow" sectionFile="ui/MultipleItemFlow.xwt">
+      <widget href="ui/MultipleItemFlow.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x98As1XEeSGVbFNM4m8gQ" name="Single NoBuffer" sectionFile="ui/SingleNoBuffer.xwt">
+      <widget href="ui/SingleNoBuffer.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x98A81XEeSGVbFNM4m8gQ" name="Multiple NoBuffer" sectionFile="ui/MultipleNoBuffer.xwt">
+      <widget href="ui/MultipleNoBuffer.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x98BM1XEeSGVbFNM4m8gQ" name="Single ControlOperator" sectionFile="ui/SingleControlOperator.xwt">
+      <widget href="ui/SingleControlOperator.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x-jEM1XEeSGVbFNM4m8gQ" name="Multiple ControlOperator" sectionFile="ui/MultipleControlOperator.xwt">
+      <widget href="ui/MultipleControlOperator.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x-jE81XEeSGVbFNM4m8gQ" name="Single Overwrite" sectionFile="ui/SingleOverwrite.xwt">
+      <widget href="ui/SingleOverwrite.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x-jFM1XEeSGVbFNM4m8gQ" name="Multiple Overwrite" sectionFile="ui/MultipleOverwrite.xwt">
+      <widget href="ui/MultipleOverwrite.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x_xMM1XEeSGVbFNM4m8gQ" name="Single Optional" sectionFile="ui/SingleOptional.xwt">
+      <widget href="ui/SingleOptional.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2x_xMc1XEeSGVbFNM4m8gQ" name="Multiple Optional" sectionFile="ui/MultipleOptional.xwt">
+      <widget href="ui/MultipleOptional.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yAYQM1XEeSGVbFNM4m8gQ" name="Single Rate" sectionFile="ui/SingleRate.xwt">
+      <widget href="ui/SingleRate.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yAYQc1XEeSGVbFNM4m8gQ" name="Multiple Rate" sectionFile="ui/MultipleRate.xwt">
+      <widget href="ui/MultipleRate.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yAYQs1XEeSGVbFNM4m8gQ" name="Single Probability" sectionFile="ui/SingleProbability.xwt">
+      <widget href="ui/SingleProbability.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yAYQ81XEeSGVbFNM4m8gQ" name="Multiple Probability" sectionFile="ui/MultipleProbability.xwt">
+      <widget href="ui/MultipleProbability.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yAYRM1XEeSGVbFNM4m8gQ" name="Single AllocateActivityPartition" sectionFile="ui/SingleAllocateActivityPartition.xwt">
+      <widget href="ui/SingleAllocateActivityPartition.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yA_UM1XEeSGVbFNM4m8gQ" name="Multiple AllocateActivityPartition" sectionFile="ui/MultipleAllocateActivityPartition.xwt">
+      <widget href="ui/MultipleAllocateActivityPartition.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yA_Uc1XEeSGVbFNM4m8gQ" name="Single Allocate" sectionFile="ui/SingleAllocate.xwt">
+      <widget href="ui/SingleAllocate.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yA_Us1XEeSGVbFNM4m8gQ" name="Multiple Allocate" sectionFile="ui/MultipleAllocate.xwt">
+      <widget href="ui/MultipleAllocate.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yA_U81XEeSGVbFNM4m8gQ" name="Single Problem" sectionFile="ui/SingleProblem.xwt">
+      <widget href="ui/SingleProblem.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yA_VM1XEeSGVbFNM4m8gQ" name="Multiple Problem" sectionFile="ui/MultipleProblem.xwt">
+      <widget href="ui/MultipleProblem.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yA_Vc1XEeSGVbFNM4m8gQ" name="Single Conform" sectionFile="ui/SingleConform.xwt">
+      <widget href="ui/SingleConform.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yA_Vs1XEeSGVbFNM4m8gQ" name="Multiple Conform" sectionFile="ui/MultipleConform.xwt">
+      <widget href="ui/MultipleConform.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yBmYM1XEeSGVbFNM4m8gQ" name="Single ViewPoint" sectionFile="ui/SingleViewPoint.xwt">
+      <widget href="ui/SingleViewPoint.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yBmYc1XEeSGVbFNM4m8gQ" name="Multiple ViewPoint" sectionFile="ui/MultipleViewPoint.xwt">
+      <widget href="ui/MultipleViewPoint.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yCNcM1XEeSGVbFNM4m8gQ" name="Single View" sectionFile="ui/SingleView.xwt">
+      <widget href="ui/SingleView.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yCNcc1XEeSGVbFNM4m8gQ" name="Multiple View" sectionFile="ui/MultipleView.xwt">
+      <widget href="ui/MultipleView.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yCNcs1XEeSGVbFNM4m8gQ" name="Single ElementGroup" sectionFile="ui/SingleElementGroup.xwt">
+      <widget href="ui/SingleElementGroup.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yC0gM1XEeSGVbFNM4m8gQ" name="Multiple ElementGroup" sectionFile="ui/MultipleElementGroup.xwt">
+      <widget href="ui/MultipleElementGroup.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yC0gc1XEeSGVbFNM4m8gQ" name="Single Expose" sectionFile="ui/SingleExpose.xwt">
+      <widget href="ui/SingleExpose.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yC0gs1XEeSGVbFNM4m8gQ" name="Multiple Expose" sectionFile="ui/MultipleExpose.xwt">
+      <widget href="ui/MultipleExpose.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yC0g81XEeSGVbFNM4m8gQ" name="Single Stakeholder" sectionFile="ui/SingleStakeholder.xwt">
+      <widget href="ui/SingleStakeholder.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yC0hM1XEeSGVbFNM4m8gQ" name="Multiple Stakeholder" sectionFile="ui/MultipleStakeholder.xwt">
+      <widget href="ui/MultipleStakeholder.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yDbkM1XEeSGVbFNM4m8gQ" name="Single Rationale" sectionFile="ui/SingleRationale.xwt">
+      <widget href="ui/SingleRationale.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yDbkc1XEeSGVbFNM4m8gQ" name="Multiple Rationale" sectionFile="ui/MultipleRationale.xwt">
+      <widget href="ui/MultipleRationale.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yC0g81XEeSGVbFNM4m8gA" name="Single AddFlowPropertyValueOnNestedPortAction" sectionFile="ui/SingleAddFlowPropertyValueOnNestedPortAction.xwt">
+      <widget href="ui/SingleAddFlowPropertyValueOnNestedPortAction.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yC0hM1XEeSGVbFNM4m8gA" name="Multiple AddFlowPropertyValueOnNestedPortAction" sectionFile="ui/MultipleAddFlowPropertyValueOnNestedPortAction.xwt">
+      <widget href="ui/MultipleAddFlowPropertyValueOnNestedPortAction.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yDbkM1XEeSGVbFNM4m8gA" name="Single ConjugatedInterfaceBlock" sectionFile="ui/SingleConjugatedInterfaceBlock.xwt">
+      <widget href="ui/SingleConjugatedInterfaceBlock.xwt#/"/>
+    </sections>
+    <sections xmi:id="_2yDbkc1XEeSGVbFNM4m8gA" name="Multiple ConjugatedInterfaceBlock" sectionFile="ui/MultipleConjugatedInterfaceBlock.xwt">
+      <widget href="ui/MultipleConjugatedInterfaceBlock.xwt#/"/>
+    </sections>
+  </tabs>
+  <views xmi:id="_z-OCEs1XEeSGVbFNM4m8gQ" name="Single FlowSpecification" sections="_2xtdUM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODaM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCE81XEeSGVbFNM4m8gQ" name="isSingleFlowSpecification">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCFM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::DeprecatedElements::FlowSpecification"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCFc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple FlowSpecification" sections="_2xtdUc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODaM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCFs1XEeSGVbFNM4m8gQ" name="isMultipleFlowSpecification">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCF81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::DeprecatedElements::FlowSpecification"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCGM1XEeSGVbFNM4m8gQ" name="Single FlowPort" sections="_2xuEYM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODa81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCGc1XEeSGVbFNM4m8gQ" name="isSingleFlowPort">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCGs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::DeprecatedElements::FlowPort"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCG81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple FlowPort" sections="_2xuEYc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODa81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCHM1XEeSGVbFNM4m8gQ" name="isMultipleFlowPort">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCHc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::DeprecatedElements::FlowPort"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCHs1XEeSGVbFNM4m8gQ" name="Single NestedConnectorEnd" sections="_2xurcM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODpc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCH81XEeSGVbFNM4m8gQ" name="isSingleNestedConnectorEnd">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCIM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::NestedConnectorEnd"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCIc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple NestedConnectorEnd" sections="_2xurcc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODpc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCIs1XEeSGVbFNM4m8gQ" name="isMultipleNestedConnectorEnd">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCI81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::NestedConnectorEnd"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCJM1XEeSGVbFNM4m8gQ" name="Single BoundReference" sections="_2xurcs1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODsM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCJc1XEeSGVbFNM4m8gQ" name="isSingleBoundReference">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCJs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::BoundReference"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCJ81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple BoundReference" sections="_2xvSgM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODsM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCKM1XEeSGVbFNM4m8gQ" name="isMultipleBoundReference">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCKc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::BoundReference"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCKs1XEeSGVbFNM4m8gQ" name="Single ValueType" sections="_2xvSgc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODts1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCK81XEeSGVbFNM4m8gQ" name="isSingleValueType">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCLM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::ValueType"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCLc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple ValueType" sections="_2xv5kM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODts1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCLs1XEeSGVbFNM4m8gQ" name="isMultipleValueType">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCL81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::ValueType"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCMM1XEeSGVbFNM4m8gQ" name="Single PropertySpecificType" sections="_2xv5kc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODoM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCMc1XEeSGVbFNM4m8gQ" name="isSinglePropertySpecificType">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCMs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::PropertySpecificType"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCM81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple PropertySpecificType" sections="_2xv5ks1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODoM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCNM1XEeSGVbFNM4m8gQ" name="isMultiplePropertySpecificType">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCNc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::PropertySpecificType"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCNs1XEeSGVbFNM4m8gQ" name="Single Block" sections="_2xwgoM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODrs1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_9QI7YM7uEeSvDdRKNsUTWQ" name="isBlock">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCOM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::Block"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCOc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Block" sections="_2xxHsM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODrs1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCOs1XEeSGVbFNM4m8gQ" name="isMultipleBlock">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCO81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::Block"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCPM1XEeSGVbFNM4m8gQ" name="Single BindingConnector" sections="_2xxHsc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODtc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCPc1XEeSGVbFNM4m8gQ" name="isSingleBindingConnector">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCPs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::BindingConnector"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCP81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple BindingConnector" sections="_2xxHss1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODtc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCQM1XEeSGVbFNM4m8gQ" name="isMultipleBindingConnector">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCQc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::BindingConnector"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCQs1XEeSGVbFNM4m8gQ" name="Single DistributedProperty" sections="_2xxHs81XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODnM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCQ81XEeSGVbFNM4m8gQ" name="isSingleDistributedProperty">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCRM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::DistributedProperty"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCRc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple DistributedProperty" sections="_2xxuwM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODnM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCRs1XEeSGVbFNM4m8gQ" name="isMultipleDistributedProperty">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCR81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::DistributedProperty"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCSM1XEeSGVbFNM4m8gQ" name="Single ElementPropertyPath" sections="_2xxuwc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODs81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCSc1XEeSGVbFNM4m8gQ" name="isSingleElementPropertyPath">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCSs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::ElementPropertyPath"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCS81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple ElementPropertyPath" sections="_2xxuws1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODs81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCTM1XEeSGVbFNM4m8gQ" name="isMultipleElementPropertyPath">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCTc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::ElementPropertyPath"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCTs1XEeSGVbFNM4m8gQ" name="Single EndPathMultiplicity" sections="_2xyV0M1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODnc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCT81XEeSGVbFNM4m8gQ" name="isSingleEndPathMultiplicity">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCUM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::EndPathMultiplicity"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCUc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple EndPathMultiplicity" sections="_2xy84M1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODnc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCUs1XEeSGVbFNM4m8gQ" name="isMultipleEndPathMultiplicity">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCU81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::EndPathMultiplicity"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCVM1XEeSGVbFNM4m8gQ" name="Single ConnectorProperty" sections="_2xy84c1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODoc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCVc1XEeSGVbFNM4m8gQ" name="isSingleConnectorProperty">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCVs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::ConnectorProperty"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCV81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple ConnectorProperty" sections="_2xzj8M1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODoc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCWM1XEeSGVbFNM4m8gQ" name="isMultipleConnectorProperty">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCWc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::ConnectorProperty"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCWs1XEeSGVbFNM4m8gQ" name="Single ClassifierBehaviorProperty" sections="_2xzj8c1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODrc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCW81XEeSGVbFNM4m8gQ" name="isSingleClassifierBehaviorProperty">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCXM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::ClassifierBehaviorProperty"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCXc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple ClassifierBehaviorProperty" sections="_2xzj8s1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODrc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCXs1XEeSGVbFNM4m8gQ" name="isMultipleClassifierBehaviorProperty">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCX81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::ClassifierBehaviorProperty"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCYM1XEeSGVbFNM4m8gQ" name="Single DirectedRelationshipPropertyPath" sections="_2x0LAM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODps1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCYc1XEeSGVbFNM4m8gQ" name="isSingleDirectedRelationshipPropertyPath">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCYs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::DirectedRelationshipPropertyPath"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCY81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple DirectedRelationshipPropertyPath" sections="_2x0yEM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODps1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCZM1XEeSGVbFNM4m8gQ" name="isMultipleDirectedRelationshipPropertyPath">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCZc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::DirectedRelationshipPropertyPath"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCZs1XEeSGVbFNM4m8gQ" name="Single AdjunctProperty" sections="_2x0yEc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODq81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCZ81XEeSGVbFNM4m8gQ" name="isSingleAdjunctProperty">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCaM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::AdjunctProperty"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCac1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple AdjunctProperty" sections="_2x1ZIM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODq81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCas1XEeSGVbFNM4m8gQ" name="isMultipleAdjunctProperty">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCa81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::AdjunctProperty"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCbM1XEeSGVbFNM4m8gQ" name="Single ParticipantProperty" sections="_2x1ZIc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODo81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCbc1XEeSGVbFNM4m8gQ" name="isSingleParticipantProperty">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCbs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::ParticipantProperty"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCb81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple ParticipantProperty" sections="_2x1ZIs1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODo81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCcM1XEeSGVbFNM4m8gQ" name="isMultipleParticipantProperty">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCcc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Blocks::ParticipantProperty"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCcs1XEeSGVbFNM4m8gQ" name="Single Requirement" sections="_2x2nQM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODvs1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCc81XEeSGVbFNM4m8gQ" name="isSingleRequirement">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCdM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::Requirement"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCdc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Requirement" sections="_2x3OUM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODvs1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCds1XEeSGVbFNM4m8gQ" name="isMultipleRequirement">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCd81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::Requirement"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCeM1XEeSGVbFNM4m8gQ" name="Single Trace" sections="_2x3OUc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODyM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCec1XEeSGVbFNM4m8gQ" name="isSingleTrace">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCes1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::Trace"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCe81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Trace" sections="_2x3OUs1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODyM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCfM1XEeSGVbFNM4m8gQ" name="isMultipleTrace">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCfc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::Trace"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCfs1XEeSGVbFNM4m8gQ" name="Single Copy" sections="_2x3OU81XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODyc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCf81XEeSGVbFNM4m8gQ" name="isSingleCopy">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCgM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::Copy"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCgc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Copy" sections="_2x31YM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODyc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCgs1XEeSGVbFNM4m8gQ" name="isMultipleCopy">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCg81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::Copy"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OChM1XEeSGVbFNM4m8gQ" name="Single Verify" sections="_2x31Yc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODys1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OChc1XEeSGVbFNM4m8gQ" name="isSingleVerify">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OChs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::Verify"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCh81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Verify" sections="_2x31Ys1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODys1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCiM1XEeSGVbFNM4m8gQ" name="isMultipleVerify">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCic1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::Verify"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCis1XEeSGVbFNM4m8gQ" name="Single TestCase" sections="_2x4ccM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODvM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCi81XEeSGVbFNM4m8gQ" name="isSingleTestCase">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCjM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::TestCase"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCjc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple TestCase" sections="_2x4ccc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODvM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCjs1XEeSGVbFNM4m8gQ" name="isMultipleTestCase">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCj81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::TestCase"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCkM1XEeSGVbFNM4m8gQ" name="Single Refine" sections="_2x4ccs1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODvc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCkc1XEeSGVbFNM4m8gQ" name="isSingleRefine">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCks1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::Refine"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCk81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Refine" sections="_2x4cc81XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODvc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OClM1XEeSGVbFNM4m8gQ" name="isMultipleRefine">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OClc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::Refine"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCls1XEeSGVbFNM4m8gQ" name="Single Satisfy" sections="_2x5DgM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODu81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCl81XEeSGVbFNM4m8gQ" name="isSingleSatisfy">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCmM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::Satisfy"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCmc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Satisfy" sections="_2x5Dgc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODu81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCms1XEeSGVbFNM4m8gQ" name="isMultipleSatisfy">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCm81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::Satisfy"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCnM1XEeSGVbFNM4m8gQ" name="Single DeriveReqt" sections="_2x5Dgs1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODus1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCnc1XEeSGVbFNM4m8gQ" name="isSingleDeriveReqt">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCns1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::DeriveReqt"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCn81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple DeriveReqt" sections="_2x5Dg81XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODus1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCoM1XEeSGVbFNM4m8gQ" name="isMultipleDeriveReqt">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCoc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Requirements::DeriveReqt"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCos1XEeSGVbFNM4m8gQ" name="Single ConstraintBlock" sections="_2x5DhM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODb81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCo81XEeSGVbFNM4m8gQ" name="isSingleConstraintBlock">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCpM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ConstraintBlocks::ConstraintBlock"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCpc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple ConstraintBlock" sections="_2x5qkM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODb81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCps1XEeSGVbFNM4m8gQ" name="isMultipleConstraintBlock">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCp81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ConstraintBlocks::ConstraintBlock"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCqM1XEeSGVbFNM4m8gQ" name="Single DirectedFeature" sections="_2x5qkc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODc81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCqc1XEeSGVbFNM4m8gQ" name="isSingleDirectedFeature">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCqs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::DirectedFeature"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCq81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple DirectedFeature" sections="_2x6RoM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODc81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCrM1XEeSGVbFNM4m8gQ" name="isMultipleDirectedFeature">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCrc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::DirectedFeature"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCrs1XEeSGVbFNM4m8gQ" name="Single FlowProperty" sections="_2x6Roc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODcc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCr81XEeSGVbFNM4m8gQ" name="isSingleFlowProperty">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCsM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::FlowProperty"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCsc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple FlowProperty" sections="_2x64sM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODcc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCss1XEeSGVbFNM4m8gQ" name="isMultipleFlowProperty">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCs81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::FlowProperty"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCtM1XEeSGVbFNM4m8gQ" name="Single AcceptChangeStructuralFeatureEventAction" sections="_2x64sc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODfM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCtc1XEeSGVbFNM4m8gQ" name="isSingleAcceptChangeStructuralFeatureEventAction">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCts1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::AcceptChangeStructuralFeatureEventAction"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCt81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple AcceptChangeStructuralFeatureEventAction" sections="_2x64ss1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODfM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCuM1XEeSGVbFNM4m8gQ" name="isMultipleAcceptChangeStructuralFeatureEventAction">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCuc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::AcceptChangeStructuralFeatureEventAction"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCus1XEeSGVbFNM4m8gQ" name="Single TriggerOnNestedPort" sections="_2x7fwM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODfs1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCu81XEeSGVbFNM4m8gQ" name="isSingleTriggerOnNestedPort">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCvM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::TriggerOnNestedPort"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCvc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple TriggerOnNestedPort" sections="_2x7fwc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODfs1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCvs1XEeSGVbFNM4m8gQ" name="isMultipleTriggerOnNestedPort">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCv81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::TriggerOnNestedPort"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCwM1XEeSGVbFNM4m8gQ" name="Single FullPort" sections="_2x7fws1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODfc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCwc1XEeSGVbFNM4m8gQ" name="isSingleFullPort">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCws1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::FullPort"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCw81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple FullPort" sections="_2x8G0M1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODfc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCxM1XEeSGVbFNM4m8gQ" name="isMultipleFullPort">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCxc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::FullPort"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCxs1XEeSGVbFNM4m8gQ" name="Single InterfaceBlock" sections="_2x8t4M1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODgM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCx81XEeSGVbFNM4m8gQ" name="isSingleInterfaceBlock">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCyM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::InterfaceBlock"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCyc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple InterfaceBlock" sections="_2x8t4c1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODgM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCys1XEeSGVbFNM4m8gQ" name="isMultipleInterfaceBlock">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCy81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::InterfaceBlock"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCzM1XEeSGVbFNM4m8gQ" name="Single InvocationOnNestedPortAction" sections="_2x8t4s1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODd81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OCzc1XEeSGVbFNM4m8gQ" name="isSingleInvocationOnNestedPortAction">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OCzs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::InvocationOnNestedPortAction"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OCz81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple InvocationOnNestedPortAction" sections="_2x8t481XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODd81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OC0M1XEeSGVbFNM4m8gQ" name="isMultipleInvocationOnNestedPortAction">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OC0c1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::InvocationOnNestedPortAction"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OC0s1XEeSGVbFNM4m8gQ" name="Single ProxyPort" sections="_2x9U8M1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODe81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OC081XEeSGVbFNM4m8gQ" name="isSingleProxyPort">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OC1M1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::ProxyPort"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OC1c1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple ProxyPort" sections="_2x9U8c1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODe81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OC1s1XEeSGVbFNM4m8gQ" name="isMultipleProxyPort">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OC181XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::ProxyPort"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OC2M1XEeSGVbFNM4m8gQ" name="Single ChangeStructuralFeatureEvent" sections="_2x9U8s1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODdc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OC2c1XEeSGVbFNM4m8gQ" name="isSingleChangeStructuralFeatureEvent">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OC2s1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::ChangeStructuralFeatureEvent"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OC281XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple ChangeStructuralFeatureEvent" sections="_2x9U881XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODdc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OC3M1XEeSGVbFNM4m8gQ" name="isMultipleChangeStructuralFeatureEvent">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OC3c1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::ChangeStructuralFeatureEvent"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OC3s1XEeSGVbFNM4m8gQ" name="Single ItemFlow" sections="_2x98AM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODec1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OC381XEeSGVbFNM4m8gQ" name="isSingleItemFlow">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OC4M1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::ItemFlow"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OC4c1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple ItemFlow" sections="_2x98Ac1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODec1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OC4s1XEeSGVbFNM4m8gQ" name="isMultipleItemFlow">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OC481XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::PortsAndFlows::ItemFlow"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OC5M1XEeSGVbFNM4m8gQ" name="Single NoBuffer" sections="_2x98As1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODW81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OC5c1XEeSGVbFNM4m8gQ" name="isSingleNoBuffer">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OC5s1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Activities::NoBuffer"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OC581XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple NoBuffer" sections="_2x98A81XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODW81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OC6M1XEeSGVbFNM4m8gQ" name="isMultipleNoBuffer">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OC6c1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Activities::NoBuffer"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OC6s1XEeSGVbFNM4m8gQ" name="Single ControlOperator" sections="_2x98BM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODVM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OC681XEeSGVbFNM4m8gQ" name="isSingleControlOperator">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OC7M1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Activities::ControlOperator"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OC7c1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple ControlOperator" sections="_2x-jEM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODVM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OC7s1XEeSGVbFNM4m8gQ" name="isMultipleControlOperator">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OC781XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Activities::ControlOperator"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OC9s1XEeSGVbFNM4m8gQ" name="Single Overwrite" sections="_2x-jE81XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODU81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OC981XEeSGVbFNM4m8gQ" name="isSingleOverwrite">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OC-M1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Activities::Overwrite"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-OC-c1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Overwrite" sections="_2x-jFM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODU81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-OC-s1XEeSGVbFNM4m8gQ" name="isMultipleOverwrite">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-OC-81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Activities::Overwrite"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODAs1XEeSGVbFNM4m8gQ" name="Single Optional" sections="_2x_xMM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODWM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODA81XEeSGVbFNM4m8gQ" name="isSingleOptional">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODBM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Activities::Optional"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODBc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Optional" sections="_2x_xMc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODWM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODBs1XEeSGVbFNM4m8gQ" name="isMultipleOptional">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODB81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Activities::Optional"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODCM1XEeSGVbFNM4m8gQ" name="Single Rate" sections="_2yAYQM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODWc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODCc1XEeSGVbFNM4m8gQ" name="isSingleRate">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODCs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Activities::Rate"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODC81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Rate" sections="_2yAYQc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODWc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODDM1XEeSGVbFNM4m8gQ" name="isMultipleRate">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODDc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Activities::Rate"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODDs1XEeSGVbFNM4m8gQ" name="Single Probability" sections="_2yAYQs1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODVs1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODD81XEeSGVbFNM4m8gQ" name="isSingleProbability">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODEM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Activities::Probability"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODEc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Probability" sections="_2yAYQ81XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODVs1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODEs1XEeSGVbFNM4m8gQ" name="isMultipleProbability">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODE81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Activities::Probability"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODFM1XEeSGVbFNM4m8gQ" name="Single AllocateActivityPartition" sections="_2yAYRM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODXc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODFc1XEeSGVbFNM4m8gQ" name="isSingleAllocateActivityPartition">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODFs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Allocations::AllocateActivityPartition"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODF81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple AllocateActivityPartition" sections="_2yA_UM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODXc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODGM1XEeSGVbFNM4m8gQ" name="isMultipleAllocateActivityPartition">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODGc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Allocations::AllocateActivityPartition"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODGs1XEeSGVbFNM4m8gQ" name="Single Allocate" sections="_2yA_Uc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODXs1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODG81XEeSGVbFNM4m8gQ" name="isSingleAllocate">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODHM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Allocations::Allocate"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODHc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Allocate" sections="_2yA_Us1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODXs1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODHs1XEeSGVbFNM4m8gQ" name="isMultipleAllocate">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODH81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::Allocations::Allocate"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODIM1XEeSGVbFNM4m8gQ" name="Single Problem" sections="_2yA_U81XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODk81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODIc1XEeSGVbFNM4m8gQ" name="isSingleProblem">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODIs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::Problem"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODI81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Problem" sections="_2yA_VM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODk81XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODJM1XEeSGVbFNM4m8gQ" name="isMultipleProblem">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODJc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::Problem"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODJs1XEeSGVbFNM4m8gQ" name="Single Conform" sections="_2yA_Vc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODlM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODJ81XEeSGVbFNM4m8gQ" name="isSingleConform">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODKM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::Conform"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODKc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Conform" sections="_2yA_Vs1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODlM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODKs1XEeSGVbFNM4m8gQ" name="isMultipleConform">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODK81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::Conform"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODLM1XEeSGVbFNM4m8gQ" name="Single ViewPoint" sections="_2yBmYM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODgs1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODLc1XEeSGVbFNM4m8gQ" name="isSingleViewPoint">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODLs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::Viewpoint"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODL81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple ViewPoint" sections="_2yBmYc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODgs1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODMM1XEeSGVbFNM4m8gQ" name="isMultipleViewPoint">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODMc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::Viewpoint"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODMs1XEeSGVbFNM4m8gQ" name="Single View" sections="_2yCNcM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODlc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODM81XEeSGVbFNM4m8gQ" name="isSingleView">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODNM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::View"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODNc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple View" sections="_2yCNcc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODlc1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODNs1XEeSGVbFNM4m8gQ" name="isMultipleView">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODN81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::View"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODOM1XEeSGVbFNM4m8gQ" name="Single ElementGroup" sections="_2yCNcs1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODis1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODOc1XEeSGVbFNM4m8gQ" name="isSingleElementGroup">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODOs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::ElementGroup"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODO81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple ElementGroup" sections="_2yC0gM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODis1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODPM1XEeSGVbFNM4m8gQ" name="isMultipleElementGroup">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODPc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::ElementGroup"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODPs1XEeSGVbFNM4m8gQ" name="Single Expose" sections="_2yC0gc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODks1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODP81XEeSGVbFNM4m8gQ" name="isSingleExpose">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODQM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::Expose"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODQc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Expose" sections="_2yC0gs1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODks1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODQs1XEeSGVbFNM4m8gQ" name="isMultipleExpose">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODQ81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::Expose"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODRM1XEeSGVbFNM4m8gQ" name="Single Stakeholder" sections="_2yC0g81XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODmM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODRc1XEeSGVbFNM4m8gQ" name="isSingleStakeholder">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODRs1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::Stakeholder"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODR81XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Stakeholder" sections="_2yC0hM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODmM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODSM1XEeSGVbFNM4m8gQ" name="isMultipleStakeholder">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODSc1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::Stakeholder"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODSs1XEeSGVbFNM4m8gQ" name="Single Rationale" sections="_2yDbkM1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODkM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODS81XEeSGVbFNM4m8gQ" name="isSingleRationale">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODTM1XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::Rationale"/>
+    </constraints>
+  </views>
+  <views xmi:id="_z-ODTc1XEeSGVbFNM4m8gQ" elementMultiplicity="-1" name="Multiple Rationale" sections="_2yDbkc1XEeSGVbFNM4m8gQ" automaticContext="true" datacontexts="_z-ODkM1XEeSGVbFNM4m8gQ">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODTs1XEeSGVbFNM4m8gQ" name="isMultipleRationale">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODT81XEeSGVbFNM4m8gQ" name="stereotypeName" value="SysML::ModelElements::Rationale"/>
+    </constraints>
+  </views>
+  <views xmi:id="_x_tYwEmPEemPZPxrFrrvTw" name="Single AddFlowPropertyValueOnNestedPortAction" sections="_2yC0g81XEeSGVbFNM4m8gA" automaticContext="true" datacontexts="_vFA-sEmOEemPZPxrFrrvTw">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODS81XEeSGVbFNM4m8gA" name="isSingleRationale">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODTM1XEeSGVbFNM4m8gA" name="stereotypeName" value="SysML::ModelElements::AddFlowPropertyValueOnNestedPortAction"/>
+    </constraints>
+  </views>
+  <views xmi:id="_xp0oUEmPEemPZPxrFrrvTw" elementMultiplicity="-1" name="Multiple AddFlowPropertyValueOnNestedPortAction" sections="_2yC0hM1XEeSGVbFNM4m8gA" automaticContext="true" datacontexts="_vFA-sEmOEemPZPxrFrrvTw">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODTs1XEeSGVbFNM4m8gA" name="isMultipleRationale">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODT81XEeSGVbFNM4m8gA" name="stereotypeName" value="SysML::ModelElements::AddFlowPropertyValueOnNestedPortAction"/>
+    </constraints>
+  </views>
+  <views xmi:id="_xTRJgEmPEemPZPxrFrrvTw" name="Single ConjugatedInterfaceBlock" sections="_2yDbkM1XEeSGVbFNM4m8gA" automaticContext="true" datacontexts="_3SsKwEmOEemPZPxrFrrvTw">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODS81XEeSGVbFNM4m8gB" name="isSingleRationale">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODTM1XEeSGVbFNM4m8gB" name="stereotypeName" value="SysML::ModelElements::ConjugatedInterfaceBlock"/>
+    </constraints>
+  </views>
+  <views xmi:id="_wyzgwEmPEemPZPxrFrrvTw" elementMultiplicity="-1" name="Multiple ConjugatedInterfaceBlock" sections="_2yDbkc1XEeSGVbFNM4m8gA" automaticContext="true" datacontexts="_3SsKwEmOEemPZPxrFrrvTw">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_z-ODTs1XEeSGVbFNM4m8gB" name="isMultipleRationale">
+      <constraintType href="ppe:/environment/org.eclipse.papyrus.sysml16.ui/resources/SysML1.6ConstraintEnvironment.xmi#//@constraintTypes.0"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_z-ODT81XEeSGVbFNM4m8gB" name="stereotypeName" value="SysML::ModelElements::ConjugatedInterfaceBlock"/>
+    </constraints>
+  </views>
+  <dataContexts xmi:id="_z-ODUM1XEeSGVbFNM4m8gQ" name="SysML" label="Data Context Root SysML 1.6">
+    <elements xsi:type="contexts:DataContextPackage" xmi:id="_z-ODUc1XEeSGVbFNM4m8gQ" name="Activities">
+      <elements xmi:id="_z-ODUs1XEeSGVbFNM4m8gQ" name="Discrete"/>
+      <elements xmi:id="_z-ODU81XEeSGVbFNM4m8gQ" name="Overwrite">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690zb6DJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODVM1XEeSGVbFNM4m8gQ" name="ControlOperator">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yQKDJEeSZxfCXzZz3-w"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yVaDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODVc1XEeSGVbFNM4m8gQ" name="Continuous"/>
+      <elements xmi:id="_z-ODVs1XEeSGVbFNM4m8gQ" name="Probability">
+        <properties xmi:id="_z-ODV81XEeSGVbFNM4m8gQ" name="probability" type="Reference"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690zVKDJEeSZxfCXzZz3-w"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690y06DJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODWM1XEeSGVbFNM4m8gQ" name="Optional">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yBaDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODWc1XEeSGVbFNM4m8gQ" name="Rate">
+        <properties xmi:id="_z-ODWs1XEeSGVbFNM4m8gQ" name="rate" type="Reference"/>
+      </elements>
+      <elements xmi:id="_z-ODW81XEeSGVbFNM4m8gQ" name="NoBuffer">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690zb6DJEeSZxfCXzZz3-w"/>
+      </elements>
+    </elements>
+    <elements xsi:type="contexts:DataContextPackage" xmi:id="_z-ODXM1XEeSGVbFNM4m8gQ" name="Allocations">
+      <elements xmi:id="_z-ODXc1XEeSGVbFNM4m8gQ" name="AllocateActivityPartition">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690zX6DJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODXs1XEeSGVbFNM4m8gQ" name="Allocate"/>
+    </elements>
+    <elements xsi:type="contexts:DataContextPackage" xmi:id="_z-ODX81XEeSGVbFNM4m8gQ" name="DeprecatedElements">
+      <elements xmi:id="_z-ODYM1XEeSGVbFNM4m8gQ" name="Allocated">
+        <properties xmi:id="_z-ODYc1XEeSGVbFNM4m8gQ" name="allocatedFrom" type="Reference" multiplicity="-1" description="Reverse of allocatedTo: the element types and names of the set of elements that are clients (from) of an «allocate» whose supplier is extended by this stereotype (instance). The same characteristics apply as to /allocatedTo. Each allocatedFrom property will be expressed as «elementType» ElementName."/>
+        <properties xmi:id="_z-ODYs1XEeSGVbFNM4m8gQ" name="allocatedTo" type="Reference" multiplicity="-1" description="The element types and names of the set of elements that are suppliers (“to” end of the concrete syntax) of an «allocate» whose client is extended by this stereotype (instance). This property is the union of all suppliers to which this instance is the client, i.e., there may be more than one /allocatedTo property per allocated model element. Each allocatedTo property will be expressed as «elementType» ElementName."/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xk6DJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODY81XEeSGVbFNM4m8gQ" name="RequirementRelated">
+        <properties xmi:id="_z-ODZM1XEeSGVbFNM4m8gQ" name="TracedFrom" type="Reference" multiplicity="-1" description="Derived from all requirements that are the supplier of a «trace» relationship for which this element is a client."/>
+        <properties xmi:id="_z-ODZc1XEeSGVbFNM4m8gQ" name="Satisfies" type="Reference" multiplicity="-1" description="Derived from all requirements that are the supplier of a «satisfy» relationship for which this element is a client."/>
+        <properties xmi:id="_z-ODZs1XEeSGVbFNM4m8gQ" name="Refines" type="Reference" multiplicity="-1" description="Derived from all requirements that are the supplier of a «refine» relationship for which this element is a client."/>
+        <properties xmi:id="_z-ODZ81XEeSGVbFNM4m8gQ" name="Verifies" type="Reference" multiplicity="-1" description="Derived from all requirements that are the supplier of a «verify» relationship for which this element is a client."/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xk6DJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODaM1XEeSGVbFNM4m8gQ" name="FlowSpecification">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690ybKDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODac1XEeSGVbFNM4m8gQ" name="Deprecated">
+        <properties xmi:id="_z-ODas1XEeSGVbFNM4m8gQ" name="deprecatedReason"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yXqDJEeSZxfCXzZz3-w"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690zC6DJEeSZxfCXzZz3-w"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xu6DJEeSZxfCXzZz3-w"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yG6DJEeSZxfCXzZz3-w"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690x7aDJEeSZxfCXzZz3-w"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xtqDJEeSZxfCXzZz3-w"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690y1qDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODa81XEeSGVbFNM4m8gQ" name="FlowPort">
+        <properties xmi:id="_z-ODbM1XEeSGVbFNM4m8gQ" name="direction" type="Enumeration" description="Indicates the direction in which an atomic flow port relays its items. If the direction is set to “in,” then the items are relayed from an external connector via the flow port into the flow port’s owner (or one of its parts). If the direction is set to “out,” then the items are relayed from the flow port’s owner, via the flow port, through an external connector attached to the flow port. If the direction is set to “inout,” then items can flow both ways. By default, the value is inout."/>
+        <properties xmi:id="_z-ODbc1XEeSGVbFNM4m8gQ" name="isAtomic" type="Boolean" description="This is a derived attribute (derived from the flow port’s type). For a flow port typed by a flow specification the value of this attribute is False, otherwise the value is True."/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690ylaDJEeSZxfCXzZz3-w"/>
+      </elements>
+    </elements>
+    <elements xsi:type="contexts:DataContextPackage" xmi:id="_z-ODbs1XEeSGVbFNM4m8gQ" name="ConstraintBlocks">
+      <elements xmi:id="_z-ODb81XEeSGVbFNM4m8gQ" name="ConstraintBlock"/>
+    </elements>
+    <elements xsi:type="contexts:DataContextPackage" xmi:id="_z-ODcM1XEeSGVbFNM4m8gQ" name="PortsAndFlows">
+      <elements xmi:id="_z-ODcc1XEeSGVbFNM4m8gQ" name="FlowProperty">
+        <properties xmi:id="_z-ODcs1XEeSGVbFNM4m8gQ" name="direction" type="Enumeration" description="Specifies if the property value is received from an external block (direction=“in”), transmitted to an external Block (direction=“out”) or both (direction=“inout”)."/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yG6DJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODc81XEeSGVbFNM4m8gQ" name="DirectedFeature">
+        <properties xmi:id="_z-ODdM1XEeSGVbFNM4m8gQ" name="featureDirection" type="Enumeration"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690x96DJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODdc1XEeSGVbFNM4m8gQ" name="ChangeStructuralFeatureEvent">
+        <properties xmi:id="_z-ODds1XEeSGVbFNM4m8gQ" name="structuralFeature" type="Reference"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690z0aDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODd81XEeSGVbFNM4m8gQ" name="InvocationOnNestedPortAction">
+        <properties xmi:id="_z-ODeM1XEeSGVbFNM4m8gQ" name="onNestedPort" type="Reference" multiplicity="-1"/>
+      </elements>
+      <elements xmi:id="_z-ODec1XEeSGVbFNM4m8gQ" name="ItemFlow">
+        <properties xmi:id="_z-ODes1XEeSGVbFNM4m8gQ" name="itemProperty" type="Reference" description="An optional property that relates the flowing item to the instances of the connector’s enclosing block. This property is applicable only for item flows assigned to connectors. The multiplicity is zero if the item flow is assigned to an Association."/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_6964PaDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODe81XEeSGVbFNM4m8gQ" name="ProxyPort">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690ylaDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODfM1XEeSGVbFNM4m8gQ" name="AcceptChangeStructuralFeatureEventAction">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_6964XqDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODfc1XEeSGVbFNM4m8gQ" name="FullPort">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690ylaDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODfs1XEeSGVbFNM4m8gQ" name="TriggerOnNestedPort">
+        <properties xmi:id="_z-ODf81XEeSGVbFNM4m8gQ" name="onNestedPort" type="Reference" multiplicity="-1"/>
+      </elements>
+      <elements xmi:id="_z-ODgM1XEeSGVbFNM4m8gQ" name="InterfaceBlock"/>
+      <elements xmi:id="_vFA-sEmOEemPZPxrFrrvTw" name="AddFlowPropertyValueOnNestedPortAction">
+        <properties xmi:id="_yNOs0EmOEemPZPxrFrrvTw" name="onNestedPort" type="Reference" multiplicity="-1"/>
+      </elements>
+      <elements xmi:id="_3SsKwEmOEemPZPxrFrrvTw" name="ConjugatedInterfaceBlock">
+        <properties xmi:id="_5HUxIEmOEemPZPxrFrrvTw" name="original" type="Reference"/>
+      </elements>
+    </elements>
+    <elements xsi:type="contexts:DataContextPackage" xmi:id="_z-ODgc1XEeSGVbFNM4m8gQ" name="ModelElements">
+      <elements xmi:id="_z-ODgs1XEeSGVbFNM4m8gQ" name="Viewpoint">
+        <properties xmi:id="_z-ODg81XEeSGVbFNM4m8gQ" name="stakeholder" type="Reference" multiplicity="-1" description="Set of stakeholders."/>
+        <properties xmi:id="_z-ODhM1XEeSGVbFNM4m8gQ" name="purpose" description="The purpose addresses the stakeholder concerns."/>
+        <properties xmi:id="_z-ODhc1XEeSGVbFNM4m8gQ" name="concernList" type="Reference" multiplicity="-1" description="The interest of the stakeholders."/>
+        <properties xmi:id="_z-ODhs1XEeSGVbFNM4m8gQ" name="language" multiplicity="-1" description="The languages used to construct the viewpoint."/>
+        <properties xmi:id="_z-ODh81XEeSGVbFNM4m8gQ" name="method" type="Reference" multiplicity="-1" description="The methods used to construct the views for this viewpoint."/>
+        <properties xmi:id="_z-ODiM1XEeSGVbFNM4m8gQ" name="presentation" multiplicity="-1"/>
+        <properties xmi:id="_z-ODic1XEeSGVbFNM4m8gQ" name="concern" multiplicity="-1"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yXqDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODis1XEeSGVbFNM4m8gQ" name="ElementGroup">
+        <properties xmi:id="_z-ODi81XEeSGVbFNM4m8gQ" name="name"/>
+        <properties xmi:id="_z-ODjM1XEeSGVbFNM4m8gQ" name="criterion"/>
+        <properties xmi:id="_z-ODjc1XEeSGVbFNM4m8gQ" name="size" type="Integer"/>
+        <properties xmi:id="_z-ODjs1XEeSGVbFNM4m8gQ" name="member" type="Reference" multiplicity="-1" description="Set specifying the members of the group.&#xA;Derived from Comment::annotatedElement."/>
+        <properties xmi:id="_z-ODj81XEeSGVbFNM4m8gQ" name="orderedMember" type="Reference" multiplicity="-1" description="Organize member according to an arbitrary order. Optional."/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xgqDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODkM1XEeSGVbFNM4m8gQ" name="Rationale">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xgqDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xsi:type="contexts:DataContextPackage" xmi:id="_z-ODkc1XEeSGVbFNM4m8gQ" name="Deprecated"/>
+      <elements xmi:id="_z-ODks1XEeSGVbFNM4m8gQ" name="Expose">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xmqDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODk81XEeSGVbFNM4m8gQ" name="Problem">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xgqDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODlM1XEeSGVbFNM4m8gQ" name="Conform">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xmqDJEeSZxfCXzZz3-w"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690x7aDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODlc1XEeSGVbFNM4m8gQ" name="View">
+        <properties xmi:id="_z-ODls1XEeSGVbFNM4m8gQ" name="viewPoint" type="Reference" description="The viewpoint for this View, derived from the supplier of the «conform» dependency whose client is this View."/>
+        <properties xmi:id="_z-ODl81XEeSGVbFNM4m8gQ" name="stakeholder" type="Reference" multiplicity="-1"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xiaDJEeSZxfCXzZz3-w"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yXqDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODmM1XEeSGVbFNM4m8gQ" name="Stakeholder">
+        <properties xmi:id="_z-ODmc1XEeSGVbFNM4m8gQ" name="concern" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_z-ODms1XEeSGVbFNM4m8gQ" name="concernList" type="Reference"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xwaDJEeSZxfCXzZz3-w"/>
+      </elements>
+    </elements>
+    <elements xsi:type="contexts:DataContextPackage" xmi:id="_z-ODm81XEeSGVbFNM4m8gQ" name="Blocks">
+      <elements xmi:id="_z-ODnM1XEeSGVbFNM4m8gQ" name="DistributedProperty">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yG6DJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODnc1XEeSGVbFNM4m8gQ" name="EndPathMultiplicity">
+        <properties xmi:id="_z-ODns1XEeSGVbFNM4m8gQ" name="lower" type="Integer" description="Gives the minimum number of values of the property at the end of the related bindingPath, for each object reached by navigation along the bindingPath from an instance of the block owning the property to which EndPathMultiplicity is applied"/>
+        <properties xmi:id="_z-ODn81XEeSGVbFNM4m8gQ" name="upper" description="Gives the maximum number of values of the property at the end of the related bindingPath, for each object reached by navigation along the bindingPath from an instance of the block owning the property to which EndPathMultiplicity is applied."/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yG6DJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODoM1XEeSGVbFNM4m8gQ" name="PropertySpecificType">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xwaDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODoc1XEeSGVbFNM4m8gQ" name="ConnectorProperty">
+        <properties xmi:id="_z-ODos1XEeSGVbFNM4m8gQ" name="connector" type="Reference" description="A connector of the block owning the property on which the stereotype is applied."/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yG6DJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODo81XEeSGVbFNM4m8gQ" name="ParticipantProperty">
+        <properties xmi:id="_z-ODpM1XEeSGVbFNM4m8gQ" name="end" type="Reference" description="A member end of the association block owning the property on which the stereotype is applied."/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yG6DJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODpc1XEeSGVbFNM4m8gQ" name="NestedConnectorEnd"/>
+      <elements xmi:id="_z-ODps1XEeSGVbFNM4m8gQ" name="DirectedRelationshipPropertyPath">
+        <properties xmi:id="_z-ODp81XEeSGVbFNM4m8gQ" name="sourcePropertyPath" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_z-ODqM1XEeSGVbFNM4m8gQ" name="targetPropertyPath" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_z-ODqc1XEeSGVbFNM4m8gQ" name="sourceContext" type="Reference"/>
+        <properties xmi:id="_z-ODqs1XEeSGVbFNM4m8gQ" name="targetContext" type="Reference"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xnaDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODq81XEeSGVbFNM4m8gQ" name="AdjunctProperty">
+        <properties xmi:id="_z-ODrM1XEeSGVbFNM4m8gQ" name="principal" type="Reference" description="Gives the element that determines the values of the property.  Must be a connector, call action, object node, variable, or parameter."/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yG6DJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODrc1XEeSGVbFNM4m8gQ" name="ClassifierBehaviorProperty">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yG6DJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODrs1XEeSGVbFNM4m8gQ" name="Block">
+        <properties xmi:id="_z-ODr81XEeSGVbFNM4m8gQ" name="isEncapsulated" type="Boolean" description="If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of its internal structure via deep-nested connector ends."/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yXqDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODsM1XEeSGVbFNM4m8gQ" name="BoundReference">
+        <properties xmi:id="_z-ODsc1XEeSGVbFNM4m8gQ" name="boundEnd" type="Reference" description="Gives a connector end of a binding connector opposite to the end linked to the stereotyped property, or linked to a property that generalizes the stereotyped one through redefinition."/>
+        <properties xmi:id="_z-ODss1XEeSGVbFNM4m8gQ" name="bindingPath" type="Reference" multiplicity="-1" description="Gives the propertyPath of the NestedConnectorEnd applied, if any, to the boundEnd, appended to the role of the boundEnd. "/>
+      </elements>
+      <elements xmi:id="_z-ODs81XEeSGVbFNM4m8gQ" name="ElementPropertyPath">
+        <properties xmi:id="_z-ODtM1XEeSGVbFNM4m8gQ" name="propertyPath" type="Reference" multiplicity="-1" description="The propertyPath list of the NestedConnectorEnd stereotype must identify a path of containing properties that identify the connected property in the context of the block that owns the connector. The ordering of properties is from a property of the block that owns the connector, through a property of each intermediate block that types the preceding property, until a property is reached that contains a connector end property within its type. The connector end property is not included in the propertyPath list, but instead is held by the role property of the UML ConnectorEnd metaclass."/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690xhaDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODtc1XEeSGVbFNM4m8gQ" name="BindingConnector">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yvqDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODts1XEeSGVbFNM4m8gQ" name="ValueType">
+        <properties xmi:id="_z-ODt81XEeSGVbFNM4m8gQ" name="unit" type="Reference" description="A quantity in terms of which the magnitudes of other quantities that have the same dimension can be stated, as identified by an instance of the Unit stereotype."/>
+        <properties xmi:id="_z-ODuM1XEeSGVbFNM4m8gQ" name="quantityKind" type="Reference" description="A kind of quantity that may be stated by means of defined units, as identified by an instance of the Dimension stereotype. A value type may optionally specify a dimension without any unit. Such a value has no concrete representation, but may be used to express a value in an abstract form independent of any specific units."/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690y1qDJEeSZxfCXzZz3-w"/>
+      </elements>
+    </elements>
+    <elements xsi:type="contexts:DataContextPackage" xmi:id="_z-ODuc1XEeSGVbFNM4m8gQ" name="Requirements">
+      <elements xmi:id="_z-ODus1XEeSGVbFNM4m8gQ" name="DeriveReqt"/>
+      <elements xmi:id="_z-ODu81XEeSGVbFNM4m8gQ" name="Satisfy"/>
+      <elements xmi:id="_z-ODvM1XEeSGVbFNM4m8gQ" name="TestCase">
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yQKDJEeSZxfCXzZz3-w"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yVaDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODvc1XEeSGVbFNM4m8gQ" name="Refine"/>
+      <elements xmi:id="_z-ODvs1XEeSGVbFNM4m8gA" name="AbstractRequirement">
+        <properties xmi:id="_z-ODv81XEeSGVbFNM4m8gQ" name="text" description="The textual representation or a reference to the textual representation of the requirement."/>
+        <properties xmi:id="_z-ODwM1XEeSGVbFNM4m8gQ" name="id" description="The unique id of the requirement."/>
+        <properties xmi:id="_z-ODwc1XEeSGVbFNM4m8gQ" name="derived" type="Reference" multiplicity="-1" description="Derived from all requirements that are the client of a «deriveReqt» relationship for which this requirement is a supplier."/>
+        <properties xmi:id="_z-ODws1XEeSGVbFNM4m8gQ" name="derivedFrom" type="Reference" multiplicity="-1" description="Derived from all requirements that are the supplier of a «deriveReqt» relationship for which this requirement is a client."/>
+        <properties xmi:id="_z-ODw81XEeSGVbFNM4m8gQ" name="satisfiedBy" type="Reference" multiplicity="-1" description="Derived from all elements that are the client of a «satisfy» relationship for which this requirement is a supplier."/>
+        <properties xmi:id="_z-ODxM1XEeSGVbFNM4m8gQ" name="refinedBy" type="Reference" multiplicity="-1" description="Derived from all elements that are the client of a «refine» relationship for which this requirement is a supplier."/>
+        <properties xmi:id="_z-ODxc1XEeSGVbFNM4m8gQ" name="tracedTo" type="Reference" multiplicity="-1" description="Derived from all elements that are the client of a «trace» relationship for which this requirement is a supplier."/>
+        <properties xmi:id="_z-ODxs1XEeSGVbFNM4m8gQ" name="verifiedBy" type="Reference" multiplicity="-1" description="Derived from all elements that are the client of a «verify» relationship for which this requirement is a supplier."/>
+        <properties xmi:id="_z-ODx81XEeSGVbFNM4m8gQ" name="master" type="Reference" multiplicity="-1" description="This is a derived property that lists the master requirement for this slave requirement. The master attribute is derived from the supplier of the Copy dependency that has this requirement as the slave."/>
+      	<supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yXqDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_z-ODvs1XEeSGVbFNM4m8gQ" name="Requirement" supertypes="_z-ODvs1XEeSGVbFNM4m8gA"/>
+      <elements xmi:id="_z-ODyM1XEeSGVbFNM4m8gQ" name="Trace"/>
+      <elements xmi:id="_z-ODyc1XEeSGVbFNM4m8gQ" name="Copy"/>
+      <elements xmi:id="_z-ODys1XEeSGVbFNM4m8gQ" name="Verify"/>
+    </elements>
+    <modelElementFactory href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@modelElementFactories.2"/>
+  </dataContexts>
+</contexts:Context>
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAcceptChangeStructuralFeatureEventAction.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAcceptChangeStructuralFeatureEventAction.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAcceptChangeStructuralFeatureEventAction.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAddFlowPropertyValueOnNestedPortAction.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAddFlowPropertyValueOnNestedPortAction.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAddFlowPropertyValueOnNestedPortAction.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAdjunctProperty.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAdjunctProperty.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAdjunctProperty.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAllocate.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAllocate.xwt
new file mode 100644
index 0000000..042177a
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAllocate.xwt
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppel:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppel:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAllocateActivityPartition.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAllocateActivityPartition.xwt
new file mode 100644
index 0000000..ad5a7df
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleAllocateActivityPartition.xwt
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:ActivityPartition:isDimension"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:ActivityPartition:isExternal"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleBindingConnector.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleBindingConnector.xwt
new file mode 100644
index 0000000..346c655
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleBindingConnector.xwt
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Connector:kind"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleBlock.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleBlock.xwt
new file mode 100644
index 0000000..7837177
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleBlock.xwt
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Class:isActive"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="SysML:Blocks:Block:isEncapsulated"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleBoundReference.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleBoundReference.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleBoundReference.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleChangeStructuralFeatureEvent.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleChangeStructuralFeatureEvent.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleChangeStructuralFeatureEvent.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleClassifierBehaviorProperty.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleClassifierBehaviorProperty.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleClassifierBehaviorProperty.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleConform.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleConform.xwt
new file mode 100644
index 0000000..a08c6bb
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleConform.xwt
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+<Composite>
+<Composite.layout><ppel:PropertiesLayout></ppel:PropertiesLayout></Composite.layout>
+<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleConjugatedInterfaceBlock.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleConjugatedInterfaceBlock.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleConjugatedInterfaceBlock.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleConnectorProperty.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleConnectorProperty.xwt
new file mode 100644
index 0000000..c0b75ad
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleConnectorProperty.xwt
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerived"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerivedUnion"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:StructuralFeature:isReadOnly"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Property:aggregation"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleConstraintBlock.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleConstraintBlock.xwt
new file mode 100644
index 0000000..3c2229e
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleConstraintBlock.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleControlOperator.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleControlOperator.xwt
new file mode 100644
index 0000000..439c94d
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleControlOperator.xwt
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Class:isActive"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Operation:isQuery"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Behavior:isReentrant"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:BehavioralFeature:concurrency"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleCopy.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleCopy.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleCopy.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleDeriveReqt.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleDeriveReqt.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleDeriveReqt.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleDirectedFeature.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleDirectedFeature.xwt
new file mode 100644
index 0000000..2eab883
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleDirectedFeature.xwt
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="SysML:PortsAndFlows:DirectedFeature:featureDirection"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleDirectedRelationshipPropertyPath.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleDirectedRelationshipPropertyPath.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleDirectedRelationshipPropertyPath.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleDistributedProperty.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleDistributedProperty.xwt
new file mode 100644
index 0000000..c0b75ad
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleDistributedProperty.xwt
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerived"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerivedUnion"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:StructuralFeature:isReadOnly"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Property:aggregation"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleElementGroup.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleElementGroup.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleElementGroup.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleElementPropertyPath.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleElementPropertyPath.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleElementPropertyPath.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleEndPathMultiplicity.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleEndPathMultiplicity.xwt
new file mode 100644
index 0000000..5255ec0
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleEndPathMultiplicity.xwt
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:IntegerEditor input="{Binding}"
+			property="SysML:Blocks:EndPathMultiplicity:lower"></ppe:IntegerEditor>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleExpose.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleExpose.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleExpose.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleFlowPort.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleFlowPort.xwt
new file mode 100644
index 0000000..7e335de
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleFlowPort.xwt
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Port:isBehavior"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerived"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerivedUnion"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:StructuralFeature:isReadOnly"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Port:isService"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Property:aggregation"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="SysML:DeprecatedElements:FlowPort:direction"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+		
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleFlowProperty.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleFlowProperty.xwt
new file mode 100644
index 0000000..f4dab98
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleFlowProperty.xwt
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerived"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerivedUnion"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:StructuralFeature:isReadOnly"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Property:aggregation"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="SysML:PortsAndFlows:FlowProperty:direction"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleFlowSpecification.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleFlowSpecification.xwt
new file mode 100644
index 0000000..077d905
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleFlowSpecification.xwt
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleFullPort.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleFullPort.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleFullPort.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleInterfaceBlock.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleInterfaceBlock.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleInterfaceBlock.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleInvocationOnNestedPortAction.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleInvocationOnNestedPortAction.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleInvocationOnNestedPortAction.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleItemFlow.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleItemFlow.xwt
new file mode 100644
index 0000000..b9120c1
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleItemFlow.xwt
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleNestedConnectorEnd.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleNestedConnectorEnd.xwt
new file mode 100644
index 0000000..eb3eb29
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleNestedConnectorEnd.xwt
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleNoBuffer.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleNoBuffer.xwt
new file mode 100644
index 0000000..4783af2
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleNoBuffer.xwt
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:ObjectNode:isControlType"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:ObjectNode:ordering"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleOptional.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleOptional.xwt
new file mode 100644
index 0000000..dffb555
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleOptional.xwt
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Parameter:isException"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Parameter:isStream"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Parameter:direction"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:Parameter:effect"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleOverwrite.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleOverwrite.xwt
new file mode 100644
index 0000000..4783af2
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleOverwrite.xwt
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:ObjectNode:isControlType"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:ObjectNode:ordering"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleParticipantProperty.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleParticipantProperty.xwt
new file mode 100644
index 0000000..c0b75ad
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleParticipantProperty.xwt
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerived"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerivedUnion"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:StructuralFeature:isReadOnly"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Property:aggregation"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleProbability.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleProbability.xwt
new file mode 100644
index 0000000..3570b63
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleProbability.xwt
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleProblem.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleProblem.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleProblem.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultiplePropertySpecificType.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultiplePropertySpecificType.xwt
new file mode 100644
index 0000000..077d905
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultiplePropertySpecificType.xwt
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleProxyPort.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleProxyPort.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleProxyPort.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleRate.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleRate.xwt
new file mode 100644
index 0000000..9bd3502
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleRate.xwt
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Parameter:isException"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Parameter:isStream"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Parameter:direction"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:Parameter:effect"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleRationale.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleRationale.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleRationale.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleRefine.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleRefine.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleRefine.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleRequirement.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleRequirement.xwt
new file mode 100644
index 0000000..a0e0901
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleRequirement.xwt
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleSatisfy.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleSatisfy.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleSatisfy.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleStakeholder.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleStakeholder.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleStakeholder.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleTestCase.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleTestCase.xwt
new file mode 100644
index 0000000..439c94d
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleTestCase.xwt
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Class:isActive"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Operation:isQuery"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Behavior:isReentrant"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:BehavioralFeature:concurrency"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleTrace.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleTrace.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleTrace.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleTriggerOnNestedPort.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleTriggerOnNestedPort.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleTriggerOnNestedPort.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleValueType.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleValueType.xwt
new file mode 100644
index 0000000..077d905
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleValueType.xwt
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleVerify.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleVerify.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleVerify.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleView.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleView.xwt
new file mode 100644
index 0000000..b9120c1
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleView.xwt
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleViewPoint.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleViewPoint.xwt
new file mode 100644
index 0000000..d8c19e4
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/MultipleViewPoint.xwt
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Class:isActive"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAcceptChangeStructuralFeatureEventAction.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAcceptChangeStructuralFeatureEventAction.xwt
new file mode 100644
index 0000000..12b8227
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAcceptChangeStructuralFeatureEventAction.xwt
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAddFlowPropertyValueOnNestedPortAction.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAddFlowPropertyValueOnNestedPortAction.xwt
new file mode 100644
index 0000000..4674f40
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAddFlowPropertyValueOnNestedPortAction.xwt
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}" 
+			property="SysML:PortsAndFlows:AddFlowPropertyValueOnNestedPortAction:onNestedPort"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAdjunctProperty.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAdjunctProperty.xwt
new file mode 100644
index 0000000..772cf68
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAdjunctProperty.xwt
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="SysML:Blocks:AdjunctProperty:principal"></ppe:ReferenceDialog>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAllocate.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAllocate.xwt
new file mode 100644
index 0000000..0bfe2c4
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAllocate.xwt
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}" property="UML:Dependency:client"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}" property="UML:Dependency:supplier"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAllocateActivityPartition.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAllocateActivityPartition.xwt
new file mode 100644
index 0000000..c9101f4
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleAllocateActivityPartition.xwt
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:ActivityPartition:isDimension"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:ActivityPartition:isExternal"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleBindingConnector.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleBindingConnector.xwt
new file mode 100644
index 0000000..3c10e1b
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleBindingConnector.xwt
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Connector:kind"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleBlock.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleBlock.xwt
new file mode 100644
index 0000000..4ffce34
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleBlock.xwt
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns="http://www.eclipse.org/xwt/presentation" xmlns:x="http://www.eclipse.org/xwt"
+	xmlns:j="clr-namespace:java.lang">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Class:isActive"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="SysML:Blocks:Block:isEncapsulated"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleBoundReference.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleBoundReference.xwt
new file mode 100644
index 0000000..0e06edb
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleBoundReference.xwt
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="SysML:Blocks:BoundReference:boundEnd"></ppe:ReferenceDialog>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleChangeStructuralFeatureEvent.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleChangeStructuralFeatureEvent.xwt
new file mode 100644
index 0000000..67c7e31
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleChangeStructuralFeatureEvent.xwt
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="SysML:PortsAndFlows:ChangeStructuralFeatureEvent:structuralFeature"></ppe:ReferenceDialog>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleClassifierBehaviorProperty.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleClassifierBehaviorProperty.xwt
new file mode 100644
index 0000000..6fd4f94
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleClassifierBehaviorProperty.xwt
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>	
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleConform.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleConform.xwt
new file mode 100644
index 0000000..0bfe2c4
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleConform.xwt
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}" property="UML:Dependency:client"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}" property="UML:Dependency:supplier"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleConjugatedInterfaceBlock.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleConjugatedInterfaceBlock.xwt
new file mode 100644
index 0000000..b10c351
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleConjugatedInterfaceBlock.xwt
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+		<ppe:ReferenceDialog input="{Binding}" 
+			property="SysML:PortsAndFlows:ConjugatedInterfaceBlock:original"></ppe:ReferenceDialog>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleConnectorProperty.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleConnectorProperty.xwt
new file mode 100644
index 0000000..3382b47
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleConnectorProperty.xwt
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerived"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerivedUnion"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:StructuralFeature:isReadOnly"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Property:aggregation"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="SysML:Blocks:ConnectorProperty:connector"></ppe:ReferenceDialog>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleConstraintBlock.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleConstraintBlock.xwt
new file mode 100644
index 0000000..4cfe2a1
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleConstraintBlock.xwt
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:Class:isActive"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="SysML:Blocks:Block:isEncapsulated"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="UML:NamedElement:visibility"></ppe:EnumCombo>
+		<ppe:MultiReference input="{Binding}"
+			property="UML:StructuredClassifier:ownedAttribute"
+			customLabel="Parameters"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="UML:NamedElement:ownedRule" customLabel="Constraints"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleControlOperator.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleControlOperator.xwt
new file mode 100644
index 0000000..0c98171
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleControlOperator.xwt
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Class:isActive"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Operation:isQuery"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Behavior:isReentrant"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:BehavioralFeature:concurrency"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleCopy.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleCopy.xwt
new file mode 100644
index 0000000..6fd4f94
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleCopy.xwt
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>	
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleDeriveReqt.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleDeriveReqt.xwt
new file mode 100644
index 0000000..c560d52
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleDeriveReqt.xwt
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>		
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleDirectedFeature.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleDirectedFeature.xwt
new file mode 100644
index 0000000..2eab883
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleDirectedFeature.xwt
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="SysML:PortsAndFlows:DirectedFeature:featureDirection"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleDirectedRelationshipPropertyPath.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleDirectedRelationshipPropertyPath.xwt
new file mode 100644
index 0000000..cc6eb14
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleDirectedRelationshipPropertyPath.xwt
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="SysML:Blocks:DirectedRelationshipPropertyPath:sourceContext"></ppe:ReferenceDialog>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="SysML:Blocks:DirectedRelationshipPropertyPath:targetContext"></ppe:ReferenceDialog>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Blocks:DirectedRelationshipPropertyPath:sourcePropertyPath"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Blocks:DirectedRelationshipPropertyPath:targetPropertyPath"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleDistributedProperty.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleDistributedProperty.xwt
new file mode 100644
index 0000000..c6ab439
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleDistributedProperty.xwt
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerived"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerivedUnion"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:StructuralFeature:isReadOnly"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Property:aggregation"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleElementGroup.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleElementGroup.xwt
new file mode 100644
index 0000000..3db51de
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleElementGroup.xwt
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:uml="clr-namespace:org.eclipse.papyrus.uml.properties.widgets"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"	 property="SysML:ModelElements:ElementGroup:name"></ppe:StringEditor>
+		<ppe:IntegerEditor input="{Binding}" property="SysML:ModelElements:ElementGroup:size"></ppe:IntegerEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<uml:CommentBodyWrapperEditor input="{Binding}"
+			property="UML:Comment:body" customLabel="Criterion"></uml:CommentBodyWrapperEditor>
+		<ppe:MultiReference input="{Binding}"
+			property="UML:Comment:annotatedElement" customLabel="Member"></ppe:MultiReference>			
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:ModelElements:ElementGroup:orderedMember"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleElementPropertyPath.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleElementPropertyPath.xwt
new file mode 100644
index 0000000..b6c0c22
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleElementPropertyPath.xwt
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Blocks:ElementPropertyPath:propertyPath"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleEndPathMultiplicity.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleEndPathMultiplicity.xwt
new file mode 100644
index 0000000..50fa553
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleEndPathMultiplicity.xwt
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="SysML:Blocks:EndPathMultiplicity:upper"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:IntegerEditor input="{Binding}"
+			property="SysML:Blocks:EndPathMultiplicity:lower"></ppe:IntegerEditor>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleExpose.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleExpose.xwt
new file mode 100644
index 0000000..c560d52
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleExpose.xwt
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>		
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleFlowPort.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleFlowPort.xwt
new file mode 100644
index 0000000..ac59b67
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleFlowPort.xwt
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="SysML:DeprecatedElements:FlowPort:isAtomic"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Port:isBehavior"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="SysML:DeprecatedElements:FlowPort:isConjugated"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerived"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerivedUnion"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:StructuralFeature:isReadOnly"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Port:isService"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Property:aggregation"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="SysML:DeprecatedElements:FlowPort:direction"></ppe:EnumCombo>
+					<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+			
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleFlowProperty.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleFlowProperty.xwt
new file mode 100644
index 0000000..36049d5
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleFlowProperty.xwt
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerived"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerivedUnion"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:StructuralFeature:isReadOnly"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Property:aggregation"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="SysML:PortsAndFlows:FlowProperty:direction"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleFlowSpecification.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleFlowSpecification.xwt
new file mode 100644
index 0000000..fd4cac8
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleFlowSpecification.xwt
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:x="http://www.eclipse.org/xwt"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:j="clr-namespace:java.lang" xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleFullPort.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleFullPort.xwt
new file mode 100644
index 0000000..b46fb73
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleFullPort.xwt
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+		<ppe:ReferenceDialog input="{Binding}" property="UML:TypedElement:type"></ppe:ReferenceDialog>
+	</Composite>	
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleInterfaceBlock.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleInterfaceBlock.xwt
new file mode 100644
index 0000000..b339086
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleInterfaceBlock.xwt
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleInvocationOnNestedPortAction.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleInvocationOnNestedPortAction.xwt
new file mode 100644
index 0000000..ca6a7a7
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleInvocationOnNestedPortAction.xwt
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:PortsAndFlows:InvocationOnNestedPortAction:onNestedPort"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleItemFlow.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleItemFlow.xwt
new file mode 100644
index 0000000..59b530a
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleItemFlow.xwt
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="SysML:PortsAndFlows:ItemFlow:itemProperty"></ppe:ReferenceDialog>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleNestedConnectorEnd.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleNestedConnectorEnd.xwt
new file mode 100644
index 0000000..49015b1
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleNestedConnectorEnd.xwt
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}" property="UML:ConnectorEnd:role"></ppe:ReferenceDialog>
+		<ppe:MultiReference input="{Binding}" property="SysML:Blocks:NestedConnectorEnd:propertyPath"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleNoBuffer.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleNoBuffer.xwt
new file mode 100644
index 0000000..77a273e
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleNoBuffer.xwt
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:ObjectNode:isControlType"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:ObjectNode:ordering"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleOptional.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleOptional.xwt
new file mode 100644
index 0000000..dcff4c4
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleOptional.xwt
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Parameter:isException"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Parameter:isStream"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Parameter:direction"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:Parameter:effect"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleOverwrite.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleOverwrite.xwt
new file mode 100644
index 0000000..77a273e
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleOverwrite.xwt
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:ObjectNode:isControlType"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:ObjectNode:ordering"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleParticipantProperty.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleParticipantProperty.xwt
new file mode 100644
index 0000000..77759b0
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleParticipantProperty.xwt
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerived"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Property:isDerivedUnion"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:StructuralFeature:isReadOnly"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Property:aggregation"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="SysML:Blocks:ParticipantProperty:end"></ppe:ReferenceDialog>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleProbability.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleProbability.xwt
new file mode 100644
index 0000000..7937289
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleProbability.xwt
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="SysML:Activities:Probability:probability"></ppe:ReferenceDialog>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleProblem.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleProblem.xwt
new file mode 100644
index 0000000..85b1a07
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleProblem.xwt
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:uml="clr-namespace:org.eclipse.papyrus.uml.properties.widgets"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<uml:CommentBodyWrapperEditor input="{Binding}"
+		property="UML:Comment:body"></uml:CommentBodyWrapperEditor>
+	<ppe:MultiReference input="{Binding}"
+		property="UML:Comment:annotatedElement"></ppe:MultiReference>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SinglePropertySpecificType.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SinglePropertySpecificType.xwt
new file mode 100644
index 0000000..4d642d2
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SinglePropertySpecificType.xwt
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleProxyPort.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleProxyPort.xwt
new file mode 100644
index 0000000..b46fb73
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleProxyPort.xwt
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+		<ppe:ReferenceDialog input="{Binding}" property="UML:TypedElement:type"></ppe:ReferenceDialog>
+	</Composite>	
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleRate.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleRate.xwt
new file mode 100644
index 0000000..2af6ed7
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleRate.xwt
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Parameter:isException"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isOrdered"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Parameter:isStream"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:MultiplicityElement:isUnique"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:Parameter:direction"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:Parameter:effect"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="SysML:Activities:Rate:rate"></ppe:ReferenceDialog>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleRationale.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleRationale.xwt
new file mode 100644
index 0000000..85b1a07
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleRationale.xwt
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:uml="clr-namespace:org.eclipse.papyrus.uml.properties.widgets"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<uml:CommentBodyWrapperEditor input="{Binding}"
+		property="UML:Comment:body"></uml:CommentBodyWrapperEditor>
+	<ppe:MultiReference input="{Binding}"
+		property="UML:Comment:annotatedElement"></ppe:MultiReference>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleRefine.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleRefine.xwt
new file mode 100644
index 0000000..3dc2c73
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleRefine.xwt
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>		
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleRequirement.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleRequirement.xwt
new file mode 100644
index 0000000..270e99c
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleRequirement.xwt
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:id"></ppe:StringEditor>
+		<ppe:StringEditor input="{Binding}"
+			property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringMultiline input="{Binding}"
+			property="SysML:Requirements:AbstractRequirement:text"></ppe:StringMultiline>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:Requirement:master"></ppe:MultiReference>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:Requirement:derived"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:Requirement:derivedFrom"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:Requirement:refinedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:Requirement:satisfiedBy"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:Requirement:tracedTo"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:Requirement:verifiedBy"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleSatisfy.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleSatisfy.xwt
new file mode 100644
index 0000000..6fd4f94
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleSatisfy.xwt
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>	
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleStakeholder.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleStakeholder.xwt
new file mode 100644
index 0000000..fd012a9
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleStakeholder.xwt
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:ModelElements:Stakeholder:concern"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:ModelElements:Stakeholder:concernList"></ppe:MultiReference>			
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleTestCase.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleTestCase.xwt
new file mode 100644
index 0000000..e6abbd8
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleTestCase.xwt
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Class:isActive"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Operation:isQuery"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Behavior:isReentrant"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Feature:isStatic"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:BehavioralFeature:concurrency"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:Requirements:TestCase:verifies"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleTrace.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleTrace.xwt
new file mode 100644
index 0000000..c560d52
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleTrace.xwt
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>		
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleTriggerOnNestedPort.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleTriggerOnNestedPort.xwt
new file mode 100644
index 0000000..98f00be
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleTriggerOnNestedPort.xwt
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:PortsAndFlows:TriggerOnNestedPort:onNestedPort"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleValueType.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleValueType.xwt
new file mode 100644
index 0000000..ff20f69
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleValueType.xwt
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="SysML:Blocks:ValueType:unit"></ppe:ReferenceDialog>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="SysML:Blocks:ValueType:quantityKind"></ppe:ReferenceDialog>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleVerify.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleVerify.xwt
new file mode 100644
index 0000000..c560d52
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleVerify.xwt
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>		
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleView.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleView.xwt
new file mode 100644
index 0000000..7dd5094
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleView.xwt
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="SysML:ModelElements:View:viewPoint" readOnly="true"></ppe:ReferenceDialog>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleViewPoint.xwt b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleViewPoint.xwt
new file mode 100644
index 0000000..c966a3d
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/resources/properties/ui/SingleViewPoint.xwt
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="UML:NamedElement:name"></ppe:StringEditor>
+		<ppe:EnumCombo input="{Binding}" property="UML:NamedElement:visibility"></ppe:EnumCombo>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Classifier:isAbstract"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}" property="UML:Class:isActive"></ppe:BooleanRadio>
+		<ppe:BooleanRadio input="{Binding}"
+			property="UML:RedefinableElement:isLeaf"></ppe:BooleanRadio>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}" property="SysML:ModelElements:Viewpoint:purpose"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:MultiString input="{Binding}"
+			property="SysML:ModelElements:Viewpoint:concern"></ppe:MultiString>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:ModelElements:Viewpoint:concernList"></ppe:MultiReference>
+		<ppe:MultiString input="{Binding}"
+			property="SysML:ModelElements:Viewpoint:method"></ppe:MultiString>
+		<ppe:MultiString input="{Binding}"
+			property="SysML:ModelElements:Viewpoint:language"></ppe:MultiString>
+		<ppe:MultiString input="{Binding}"
+			property="SysML:ModelElements:Viewpoint:presentation"></ppe:MultiString>
+		<ppe:MultiReference input="{Binding}"
+			property="SysML:ModelElements:Viewpoint:stakeholder"></ppe:MultiReference>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/Activator.java b/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/Activator.java
new file mode 100644
index 0000000..df734c7
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/Activator.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.ui;
+
+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.sysml16.ui"; //$NON-NLS-1$
+
+	/**
+	 * The shared instance.
+	 */
+	private static Activator plugin;
+
+	/** Logging helper. */
+	private static LogHelper logHelper;
+
+	/**
+	 * The constructor.
+	 */
+	public Activator() {
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(final BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+		logHelper = new LogHelper(plugin);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @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;
+	}
+
+	/**
+	 * Returns the log helper.
+	 * 
+	 * @return the log helper.
+	 */
+	public static LogHelper getLogHelper() {
+		return logHelper;
+	}
+
+}
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/constraints/HasStereotypeSysml16Constraint.java b/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/constraints/HasStereotypeSysml16Constraint.java
new file mode 100644
index 0000000..8dd0376
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/constraints/HasStereotypeSysml16Constraint.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.ui.constraints;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.infra.constraints.constraints.Constraint;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.uml.properties.constraints.HasStereotypeConstraint;
+import org.eclipse.papyrus.uml.tools.utils.UMLUtil;
+import org.eclipse.uml2.uml.Profile;
+
+/**
+ * A constraint to test if the given object is a UML Element and has the given Stereotype and Sysml1.6 profile applied.
+ */
+public class HasStereotypeSysml16Constraint extends HasStereotypeConstraint implements Constraint {
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.infra.constraints.constraints.AbstractConstraint#match(java.lang.Object)
+	 *      Check if the containing package has profilUri applied.
+	 */
+	@Override
+	public boolean match(Object selection) {
+		if (super.match(selection)) {
+			EList<Profile> allAppliedProfiles = UMLUtil.resolveUMLElement(selection).getNearestPackage().getAllAppliedProfiles();
+			for (Profile profile : allAppliedProfiles) {
+				String uri = profile.getURI();
+				if (SysMLResource.PROFILE_URI.equals(uri)) {
+					return true;
+				}
+			}
+		}
+		return false; // always called even when not defined
+	}
+
+
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see java.lang.Object#toString()
+	 */
+	@Override
+	public String toString() {
+		return String.format("HasStereotypeSysml16 %s (%s)", stereotypeName, getDisplayUnit().getElementMultiplicity() == 1 ? "Single" : "Multiple"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.infra.constraints.constraints.AbstractConstraint#equivalent(org.eclipse.papyrus.infra.constraints.constraints.Constraint)
+	 */
+	@Override
+	protected boolean equivalent(Constraint constraint) {
+		return super.equivalent(constraint) && constraint instanceof HasStereotypeSysml16Constraint;
+	}
+}
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/paste/PartPasteStrategy.java b/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/paste/PartPasteStrategy.java
new file mode 100644
index 0000000..4b1000a
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/paste/PartPasteStrategy.java
@@ -0,0 +1,368 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.ui.paste;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.emf.common.command.CompoundCommand;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.MoveRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.commands.wrappers.EMFtoGEFCommandWrapper;
+import org.eclipse.papyrus.infra.core.clipboard.IClipboardAdditionalData;
+import org.eclipse.papyrus.infra.core.clipboard.PapyrusClipboard;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.gmfdiag.common.strategy.paste.DefaultPasteStrategy;
+import org.eclipse.papyrus.infra.gmfdiag.common.strategy.paste.IPasteStrategy;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.uml.diagram.common.Activator;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Offer a strategy for copying stereotypes.
+ */
+public class PartPasteStrategy implements IPasteStrategy {
+
+	/** The instance. */
+	private static IPasteStrategy instance = new PartPasteStrategy();
+
+	/**
+	 * Gets the single instance of StereotypePasteStrategy.
+	 *
+	 * @return single instance of StereotypePasteStrategy
+	 */
+	public static IPasteStrategy getInstance() {
+		return instance;
+	}
+
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.papyrus.infra.gmfdiag.common.strategy.paste.IPasteStrategy#getLabel()
+	 */
+	@Override
+	public String getLabel() {
+		return "partPasteStrategy"; //$NON-NLS-1$
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.papyrus.infra.gmfdiag.common.strategy.paste.IPasteStrategy#getID()
+	 */
+	@Override
+	public String getID() {
+		return Activator.ID + ".partPasteStrategy"; //$NON-NLS-1$
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.papyrus.infra.gmfdiag.common.strategy.paste.IPasteStrategy#getDescription()
+	 */
+	@Override
+	public String getDescription() {
+		return "Paste part elements with association"; //$NON-NLS-1$
+	}
+
+	/**
+	 * Gets the category id.
+	 *
+	 * @return the category id
+	 */
+	public String getCategoryID() {
+		return "org.eclipse.papyrus.strategy.paste"; //$NON-NLS-1$
+	}
+
+	/**
+	 * Gets the category label.
+	 *
+	 * @return the category label
+	 */
+	public String getCategoryLabel() {
+		return "Paste all copied elements"; //$NON-NLS-1$
+	}
+
+	/**
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.infra.gmfdiag.common.strategy.paste.IPasteStrategy#getImage()
+	 * @deprecated
+	 */
+	@Override
+	@Deprecated
+	public Image getImage() {
+		return null;
+	}
+
+
+	/**
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.infra.gmfdiag.common.strategy.paste.IPasteStrategy#getPriority()
+	 * @deprecated
+	 */
+	@Override
+	@Deprecated
+	public int getPriority() {
+		return 1;
+	}
+
+	/**
+	 * Sets the options.
+	 *
+	 * @param options
+	 *            the options
+	 */
+	public void setOptions(Map<String, Object> options) {
+		// Nothing
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.papyrus.infra.gmfdiag.common.strategy.paste.IPasteStrategy#getSemanticCommand(org.eclipse.emf.edit.domain.EditingDomain,
+	 * org.eclipse.emf.ecore.EObject, org.eclipse.papyrus.infra.core.clipboard.PapyrusClipboard)
+	 */
+	@Override
+	public org.eclipse.emf.common.command.Command getSemanticCommand(EditingDomain domain, EObject targetOwner, PapyrusClipboard<Object> papyrusClipboard) {
+		if (targetOwner instanceof Classifier || targetOwner instanceof Package) { // test if block or package
+			// get affiliate AdditionnalData
+			Map<Object, ?> additionalDataMap = papyrusClipboard.getAdditionalDataForStrategy(getID());
+			if (additionalDataMap != null) {
+				CompoundCommand compoundCommand = new CompoundCommand("Copy associations for parts"); //$NON-NLS-1$
+				for (Iterator<Object> iterator = papyrusClipboard.iterator(); iterator.hasNext();) {
+					Object object = iterator.next();
+					EObject target = papyrusClipboard.getTragetCopyFromInternalClipboardCopy(object);
+					Object additionnalData = additionalDataMap.get(object);
+					EList<Association> listDuplicatedAssociation = new BasicEList<>();
+					EObject associationContainer = null;
+					if (target instanceof Property && targetOwner instanceof Classifier && additionnalData instanceof PartAdditionalData) { // test if it is a part
+						Classifier block = (Classifier) targetOwner;
+						Property property = (Property) target;
+						PartAdditionalData partAdditionalData = (PartAdditionalData) additionnalData;
+						Association newAssociation = partAdditionalData.getDuplicatedAssociation();
+						restoreAssociationPartContext(block, property, newAssociation);
+						listDuplicatedAssociation.add(newAssociation);
+						associationContainer = block.eContainer();
+					} else if (target instanceof Classifier && targetOwner instanceof Package && additionnalData instanceof PartBlockAdditionalData) { // test if it is a block
+						Classifier classifier = (Classifier) target;
+						EList<Property> allAttributes = classifier.getAllAttributes();
+						PartBlockAdditionalData partBlockAdditionalData = (PartBlockAdditionalData) additionnalData;
+						for (Property property : allAttributes) {
+							Association duplicatedAssociation = partBlockAdditionalData.getDuplicatedAssociationByPropertyName(property.getName());
+							if (duplicatedAssociation != null) {
+								restoreAssociationPartContext(classifier, property, duplicatedAssociation);
+								listDuplicatedAssociation.add(duplicatedAssociation);
+							}
+						}
+						associationContainer = targetOwner;
+					}
+					if (associationContainer != null && !listDuplicatedAssociation.isEmpty()) {
+						// add associations to the nearest container
+						MoveRequest moveRequest = new MoveRequest(associationContainer, listDuplicatedAssociation);
+						IElementEditService provider = ElementEditServiceUtils.getCommandProvider(targetOwner);
+						if (provider != null) {
+							ICommand editCommand = provider.getEditCommand(moveRequest);
+							GMFtoEMFCommandWrapper gmFtoEMFCommandWrapper = new GMFtoEMFCommandWrapper(editCommand);
+							compoundCommand.append(gmFtoEMFCommandWrapper);
+						}
+					}
+				}
+				// An empty command can't be executed
+				if (compoundCommand.getCommandList().isEmpty()) {
+					return null;
+				}
+				return compoundCommand;
+			}
+		}
+		return null;
+	}
+
+
+
+
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.papyrus.infra.gmfdiag.common.strategy.paste.IPasteStrategy#getGraphicalCommand(org.eclipse.emf.edit.domain.EditingDomain,
+	 * org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart, org.eclipse.papyrus.infra.core.clipboard.PapyrusClipboard)
+	 */
+	@Override
+	public Command getGraphicalCommand(EditingDomain domain, org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart targetEditPart, PapyrusClipboard<Object> papyrusClipboard) {
+		View targetView = (View) targetEditPart.getModel();
+		EObject targetOwner = targetView.getElement();
+		org.eclipse.emf.common.command.Command semanticCommand = getSemanticCommand(domain, targetOwner, papyrusClipboard);
+		if (semanticCommand != null) {
+			org.eclipse.gef.commands.CompoundCommand compoundCommand = new org.eclipse.gef.commands.CompoundCommand("Association Part Semantic And Graphical paste"); //$NON-NLS-1$
+			EMFtoGEFCommandWrapper emFtoGEFCommandWrapper = new EMFtoGEFCommandWrapper(semanticCommand);
+			compoundCommand.add(emFtoGEFCommandWrapper);
+			return compoundCommand;
+		}
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.papyrus.infra.gmfdiag.common.strategy.paste.IPasteStrategy#dependsOn()
+	 */
+	@Override
+	public IPasteStrategy dependsOn() {
+		return DefaultPasteStrategy.getInstance();
+	}
+
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.papyrus.infra.gmfdiag.common.strategy.paste.IPasteStrategy#prepare(org.eclipse.papyrus.infra.core.clipboard.PapyrusClipboard)
+	 */
+	@Override
+	public void prepare(PapyrusClipboard<Object> papyrusClipboard, Collection<EObject> selection) {
+		Map<Object, IClipboardAdditionalData> mapCopyPartData = new HashMap<>();
+		for (Iterator<EObject> iterator = papyrusClipboard.iterateOnSource(); iterator.hasNext();) {
+			EObject eObjectSource = iterator.next();
+			if (eObjectSource instanceof Element) {
+				Element elementSource = (Element) eObjectSource;
+				IClipboardAdditionalData clipboardAdditionalData = null;
+				if (elementSource instanceof Property && UMLUtil.getStereotypeApplication(elementSource.getOwner(), Block.class) != null) { // is part
+					Property propertySource = (Property) elementSource;
+					Association association = propertySource.getAssociation();
+					if (association != null) {
+						clipboardAdditionalData = new PartAdditionalData(association);
+					}
+				} else if (elementSource instanceof Classifier && UMLUtil.getStereotypeApplication(elementSource, Block.class) != null) {// is Block
+					Classifier block = (Classifier) elementSource;
+					clipboardAdditionalData = new PartBlockAdditionalData(block);
+				}
+				if (clipboardAdditionalData != null) {
+					Object copy = papyrusClipboard.getCopyFromSource(eObjectSource);
+					mapCopyPartData.put(copy, clipboardAdditionalData);
+				}
+			}
+
+		}
+		papyrusClipboard.pushAdditionalData(getID(), mapCopyPartData);
+	}
+
+
+	/**
+	 * Duplicate the association
+	 *
+	 * @param association
+	 * @return
+	 */
+	protected Association duplicateAssociation(Association association) {
+		EcoreUtil.Copier copier = new EcoreUtil.Copier();
+		copier.copy(association);
+		return (Association) copier.get(association);
+	}
+
+	/**
+	 * Init the association in the new context
+	 *
+	 * @param classifier
+	 * @param property
+	 * @param association
+	 */
+	protected void restoreAssociationPartContext(Classifier classifier, Property property, Association association) {
+		EList<Property> memberEnds = association.getMemberEnds(); // should have only one element
+		if (memberEnds != null) {
+			if (!memberEnds.isEmpty()) {
+				Property blockProperty = memberEnds.get(0);
+				blockProperty.setType(classifier);
+			}
+			memberEnds.add(property);
+		}
+	}
+
+
+	/**
+	 * The Class PartAdditionalData.
+	 */
+	protected class PartAdditionalData implements IClipboardAdditionalData {
+
+		/** The association. */
+		protected Association asssociation;
+
+		/**
+		 * @param association
+		 */
+		public PartAdditionalData(Association asssociation) {
+			this.asssociation = duplicateAssociation(asssociation);
+		}
+
+		/**
+		 * @return a copy of the association
+		 */
+		public Association getDuplicatedAssociation() {
+			return duplicateAssociation(asssociation);
+		}
+
+	}
+
+	/**
+	 * The Class PartBlockAdditionalData.
+	 */
+	protected class PartBlockAdditionalData implements IClipboardAdditionalData {
+
+		/** The associations by property name. */
+		protected Map<String, Association> mapPropertyNameToAssociation;
+
+		/**
+		 * @param block
+		 */
+		public PartBlockAdditionalData(Classifier block) {
+			this.mapPropertyNameToAssociation = new HashMap<>();
+			EList<Property> allAttributes = block.getAllAttributes();
+			for (Property property : allAttributes) {
+				Association association = property.getAssociation();
+				Association newAssociation = duplicateAssociation(association);
+				mapPropertyNameToAssociation.put(property.getName(), newAssociation);
+			}
+
+		}
+
+		/**
+		 * @param propertyName
+		 * @return a copy of the association
+		 */
+		public Association getDuplicatedAssociationByPropertyName(String propertyName) {
+			Association association = mapPropertyNameToAssociation.get(propertyName);
+			return duplicateAssociation(association);
+		}
+	}
+}
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/queries/property/GetContainedAttributesJavaQuery.java b/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/queries/property/GetContainedAttributesJavaQuery.java
new file mode 100644
index 0000000..daa001f
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/queries/property/GetContainedAttributesJavaQuery.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.ui.queries.property;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager;
+import org.eclipse.papyrus.emf.facet.efacet.core.exception.DerivedTypedElementException;
+import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2;
+import org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2;
+import org.eclipse.uml2.uml.Property;
+
+
+/**
+ * Build the facet linked to a typed property for Menu Explorer customisation
+ * Get the collection of all owned elements of the typed property
+ */
+public class GetContainedAttributesJavaQuery implements IJavaQuery2<Property, Collection<EObject>> {
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2#evaluate(org.eclipse.emf.ecore.EObject, org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2, org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager)
+	 */
+	@Override
+	public Collection<EObject> evaluate(Property property, IParameterValueList2 parameterValues, IFacetManager facetManager) throws DerivedTypedElementException {
+		List<EObject> result = new ArrayList<>();
+		if(property.getType()!=null){
+			result.addAll(property.getType().getOwnedElements());
+		}
+		return result;
+	}
+}
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/queries/property/IsTypedPropertyJavaQuery.java b/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/queries/property/IsTypedPropertyJavaQuery.java
new file mode 100644
index 0000000..063e839
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/queries/property/IsTypedPropertyJavaQuery.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.ui.queries.property;
+
+import org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager;
+import org.eclipse.papyrus.emf.facet.efacet.core.exception.DerivedTypedElementException;
+import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2;
+import org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * Query used for Menu Explorer customisation.
+ */
+public class IsTypedPropertyJavaQuery implements IJavaQuery2<Property, Boolean> {
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2#evaluate(org.eclipse.emf.ecore.EObject, org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2, org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager)
+	 */
+	@Override
+	public Boolean evaluate(Property source, IParameterValueList2 parameterValues, IFacetManager facetManager) throws DerivedTypedElementException {
+		return source.getType()!=null;
+	}
+
+}
diff --git a/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/template/ImportSysMLQUDVLibraryInModel.java b/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/template/ImportSysMLQUDVLibraryInModel.java
new file mode 100644
index 0000000..9c8f82f
--- /dev/null
+++ b/plugins/gui/org.eclipse.papyrus.sysml16.ui/src/org/eclipse/papyrus/sysml16/ui/template/ImportSysMLQUDVLibraryInModel.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.ui.template;
+
+import java.io.IOException;
+import java.util.Collections;
+
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.sysml16.ui.Activator;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.uml.diagram.wizards.transformation.IGenerator;
+import org.eclipse.papyrus.uml.tools.model.UmlUtils;
+import org.eclipse.uml2.uml.PackageImport;
+
+/**
+ * Utility class to provide QUDV in the new model wizard
+ */
+public class ImportSysMLQUDVLibraryInModel implements IGenerator {
+
+	private ModelSet modelSet;
+
+	private org.eclipse.uml2.uml.Package root;
+
+	private org.eclipse.uml2.uml.Package qudv;
+
+	@Override
+	public void execute() {
+
+		// Get its resource
+		Resource umlResource = UmlUtils.getUmlModel(modelSet).getResource();
+
+		// Select the root element to add the wanted imports
+		root = (org.eclipse.uml2.uml.Package) umlResource.getContents().get(0);
+
+		URI qudvURI = URI.createURI(SysMLResource.QUDV_LIBRARY_PATH).appendFragment(SysMLResource.QUDV_LIBRARY_ROOT_ID);
+		qudv = (org.eclipse.uml2.uml.Package) modelSet.getEObject(qudvURI, true);
+
+		// Creates the import packages at the root of the model (elements of type packageImport)
+		this.getCommandStack(modelSet).execute(new RecordingCommand(modelSet.getTransactionalEditingDomain()) {
+
+			@Override
+			protected void doExecute() {
+				PackageImport importPrimitivePack = root.createPackageImport(qudv);
+				if (!root.getPackageImports().contains(importPrimitivePack)) {
+					root.getPackageImports().add(importPrimitivePack);
+				}
+
+				try {
+					root.eResource().save(Collections.emptyMap());
+				} catch (IOException e) {
+					Activator.getLogHelper().error(e);
+				}
+			}
+		});
+
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.uml.diagram.wizards.transformation.IGenerator#setModelSet(org.eclipse.papyrus.uml.diagram.wizards.transformation.ModelSet)
+	 *
+	 * @param modelSet
+	 */
+	@Override
+	public void setModelSet(ModelSet modelSet) {
+		this.modelSet = modelSet;
+	}
+
+	protected final CommandStack getCommandStack(ModelSet modelSet) {
+		return modelSet.getTransactionalEditingDomain().getCommandStack();
+	}
+
+	public ModelSet getModelSet() {
+		return this.modelSet;
+	}
+
+}
diff --git a/plugins/gui/pom.xml b/plugins/gui/pom.xml
new file mode 100644
index 0000000..44e9f44
--- /dev/null
+++ b/plugins/gui/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.plugins</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.gui</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML GUI</name>
+	<description>This module contains the different plugins relative to the graphical user interface for SysML 1.6.</description>
+	
+	<modules>
+		<module>org.eclipse.papyrus.sysml16.architecture</module>
+		<module>org.eclipse.papyrus.sysml16.ui</module>
+		<module>org.eclipse.papyrus.sysml16.modelexplorer</module>
+	</modules>
+</project>
diff --git a/plugins/pom.xml b/plugins/pom.xml
new file mode 100644
index 0000000..4709c73
--- /dev/null
+++ b/plugins/pom.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.parent</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.plugins</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML Plug-ins</name>
+	<description>SysML Plug-ins.</description>
+	<modules>
+		<module>core</module>
+		<module>gui</module>
+		<module>diagram</module>
+		<module>table</module>
+		<module>extension</module>
+	</modules>
+</project>
diff --git a/plugins/table/.settings/org.eclipse.core.resources.prefs b/plugins/table/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/plugins/table/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.classpath b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.project b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.project
new file mode 100644
index 0000000..96e418e
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.nattable.allocation</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.core.resources.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.core.runtime.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.jdt.core.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.jdt.ui.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.m2e.core.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.pde.api.tools.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/META-INF/MANIFEST.MF b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..b63835b
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.gmf.runtime.diagram.core;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.infra.tools;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.nattable.common;bundle-version="3.0.0",
+ org.eclipse.papyrus.infra.nattable;bundle-version="3.0.0",
+ org.eclipse.papyrus.infra.nattable.model;bundle-version="3.0.0",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.service.types;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.nattable.common;bundle-version="1.0.0"
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Activator: org.eclipse.papyrus.sysml16.nattable.allocation.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.nattable.allocation;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.sysml16.nattable.allocation
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.nattable.allocation
+
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/OSGI-INF/l10n/bundle.properties b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..e173871
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,14 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = Papyrus SysML 1.6 Allocation Table
\ No newline at end of file
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/about.html b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/build.properties b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/build.properties
new file mode 100644
index 0000000..57d80cb
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/build.properties
@@ -0,0 +1,11 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               about.html,\
+               OSGI-INF/,\
+               build.properties,\
+               icons/,\
+               resources/
+src.includes = about.html
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/icons/table_SysML_Allocation.png b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/icons/table_SysML_Allocation.png
new file mode 100644
index 0000000..ad1a933
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/icons/table_SysML_Allocation.png
Binary files differ
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/icons/table_SysML_Allocation_new.png b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/icons/table_SysML_Allocation_new.png
new file mode 100644
index 0000000..fc8ff25
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/icons/table_SysML_Allocation_new.png
Binary files differ
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/plugin.xml b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/plugin.xml
new file mode 100644
index 0000000..c6dbfbd
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/plugin.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+
+   <extension
+         point="org.eclipse.papyrus.infra.nattable.configuration">
+      <configuration
+            file="resources/allocation.nattableconfiguration"
+            type="PapyrusSysML16AllocationTable">
+      </configuration>
+      <configuration
+            file="resources/allocationMatrix.nattableconfiguration"
+            type="AllocationRequirementMatrix">
+      </configuration>
+   </extension>
+
+</plugin>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/pom.xml b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/pom.xml
new file mode 100644
index 0000000..6b23299
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.table</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.nattable.allocation</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This plugin defines the allocation table of SysML 1.6.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/resources/allocation.nattableconfiguration b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/resources/allocation.nattableconfiguration
new file mode 100644
index 0000000..7e2cd63
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/resources/allocation.nattableconfiguration
@@ -0,0 +1,40 @@
+<?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="_Tn9sgF9WEeibbMBxjCBt2w" description="This table is used to display SysML Allocation" name="AllocationTable" type="PapyrusSysML16AllocationTable" iconPath="platform:/plugin/org.eclipse.papyrus.sysml16.nattable.allocation/icons/table_SysML_Allocation.png" cellEditorDeclaration="COLUMN" defaultRowAxisProvider="_Tn9slF9WEeibbMBxjCBt2w" defaultColumnAxisProvider="_Tn9skF9WEeibbMBxjCBt2w">
+  <styles xmi:type="nattablestyle:StringListValueStyle" xmi:id="_Tn9sgV9WEeibbMBxjCBt2w" name="dragRegions">
+    <stringListValue>ROW_HEADER</stringListValue>
+  </styles>
+  <rowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_Tn9sg19WEeibbMBxjCBt2w" indexStyle="NUMERIC" displayLabel="true" displayFilter="false" displayIndex="false">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:ObjectLabelProviderConfiguration" xmi:id="_Tn9shF9WEeibbMBxjCBt2w" displayIcon="true" displayLabel="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:OperationLabelProviderConfiguration" xmi:id="_Tn9shV9WEeibbMBxjCBt2w" displayIcon="true" displayLabel="true" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:EStructuralFeatureValueFillingConfiguration" xmi:id="_Tn9shl9WEeibbMBxjCBt2w">
+      <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="_Tn9sh19WEeibbMBxjCBt2w" detachedMode="true" pastedElementId="org.eclipse.papyrus.SysML16.Allocate_Abstraction">
+      <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="_Tn9siF9WEeibbMBxjCBt2w" manager="org.eclipse.papyrus.sysml16.nattable.allocation.feature.axis.manager">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency/supplier"/>
+      </axisIdentifier>
+    </ownedAxisConfigurations>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_Tn9siV9WEeibbMBxjCBt2w" axisManagerId="org.eclipse.papyrus.sysml16.nattable.allocate.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="_Tn9shF9WEeibbMBxjCBt2w" specificAxisConfigurations="_Tn9shl9WEeibbMBxjCBt2w"/>
+  </rowHeaderAxisConfiguration>
+  <columnHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_Tn9sil9WEeibbMBxjCBt2w" displayLabel="true" displayFilter="false" displayIndex="false">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" xmi:id="_Tn9si19WEeibbMBxjCBt2w" displayIcon="true" displayLabel="true" displayIsDerived="true" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:OperationLabelProviderConfiguration" xmi:id="_Tn9sjF9WEeibbMBxjCBt2w" displayIcon="true" displayLabel="true" displayType="true" displayMultiplicity="true" displayName="true"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="org.eclipse.papyrus.sysml16.nattable.allocation.feature.axis.manager" axisManagerId="org.eclipse.papyrus.uml.nattable.feature.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_Tn9si19WEeibbMBxjCBt2w"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="org.eclipse.papyrus.sysml16.nattable.allocation.stereotype.property.axis.manager" axisManagerId="org.eclipse.papyrus.uml.nattable.stereotype.property.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_Tn9si19WEeibbMBxjCBt2w"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="org.eclipse.papyrus.sysml16.nattable.allocation.operation.axis.manager" axisManagerId="org.eclipse.papyrus.uml.nattable.operation.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.operation.labelprovider" headerLabelConfiguration="_Tn9sjF9WEeibbMBxjCBt2w"/>
+  </columnHeaderAxisConfiguration>
+  <columnAxisProviders xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_Tn9skF9WEeibbMBxjCBt2w" description="This provider provides the default columns for the SysML Allocation Table" name="SysMLAllocationFeatureProvider">
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Tn9skV9WEeibbMBxjCBt2w" manager="org.eclipse.papyrus.sysml16.nattable.allocation.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="_Tn9skl9WEeibbMBxjCBt2w" manager="org.eclipse.papyrus.sysml16.nattable.allocation.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="_Tn9sk19WEeibbMBxjCBt2w" manager="org.eclipse.papyrus.sysml16.nattable.allocation.feature.axis.manager">
+      <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency/supplier"/>
+    </axis>
+  </columnAxisProviders>
+  <rowAxisProviders xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_Tn9slF9WEeibbMBxjCBt2w" description="This row providers allows to display all Allocation in a Table" name="SysMLAllocationProvider" disconnectSlave="true"/>
+</nattableconfiguration:TableConfiguration>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/resources/allocationMatrix.nattableconfiguration b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/resources/allocationMatrix.nattableconfiguration
new file mode 100644
index 0000000..1a28a5e
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/resources/allocationMatrix.nattableconfiguration
@@ -0,0 +1,116 @@
+<?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:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" 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:nattablecelleditor="http://www.eclipse.org/papyrus/nattable/model/table/nattablecelleditor" 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" xmlns:umlexpressions="http://www.eclipse.org/papyrus/umlexpressions" xmi:id="Allocation_Requirment_Matrix" description="This table allows to display SysML 1.6 allocate relationship between Classes and Requirements " name="Allocation Requirement Matrix" type="AllocationRequirementMatrix" iconPath="platform:/plugin/org.eclipse.papyrus.sysml16.nattable.allocation/icons/table_SysML_Allocation.png" cellEditorDeclaration="COLUMN" defaultRowAxisProvider="_Pe60EcZPEeijBIWPt_NRXw" defaultColumnAxisProvider="_Pe60EsZPEeijBIWPt_NRXw">
+  <styles xmi:type="nattablestyle:TableDisplayStyle" xmi:id="_Pe4X0cZPEeijBIWPt_NRXw" displayStyle="HIERARCHIC_SINGLE_TREE_COLUMN"/>
+  <styles xmi:type="nattablestyle:StringListValueStyle" xmi:id="_Pe4X0sZPEeijBIWPt_NRXw" name="dragRegions">
+    <stringListValue>ROW_HEADER</stringListValue>
+  </styles>
+  <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_Pe4X08ZPEeijBIWPt_NRXw" name="hiddenCategoriesByDepth">
+    <intListValue>1</intListValue>
+  </styles>
+  <styles xmi:type="nattablestyle:BooleanValueStyle" xmi:id="_Pe4X1MZPEeijBIWPt_NRXw" name="expandAll" booleanValue="true"/>
+  <rowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_Pe4-4MZPEeijBIWPt_NRXw" indexStyle="NUMERIC" displayLabel="true" displayFilter="false" displayIndex="true">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:ObjectLabelProviderConfiguration" xmi:id="_Pe4-4cZPEeijBIWPt_NRXw" displayIcon="true" displayLabel="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" xmi:id="_Pe4-4sZPEeijBIWPt_NRXw" displayIcon="true" displayLabel="true" displayIsDerived="true" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:OperationLabelProviderConfiguration" xmi:id="_Pe4-48ZPEeijBIWPt_NRXw" displayIcon="true" displayLabel="true" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_Pe4-5MZPEeijBIWPt_NRXw" depth="1" labelProvider="_Pe4-4sZPEeijBIWPt_NRXw" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Pe4-5cZPEeijBIWPt_NRXw" alias="">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xmi:type="umlexpressions:IsKindOfExpression" xmi:id="_SUHXIEr3EemPZPxrFrrvTw" name="IsAllocationEndNamedElementRow1" description="Check if this is a NamedElement">
+        <umlEClass xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_Pe4-5sZPEeijBIWPt_NRXw" depth="2" labelProvider="_Pe4-4sZPEeijBIWPt_NRXw" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Pe5l8MZPEeijBIWPt_NRXw" alias="">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xmi:type="umlexpressions:IsKindOfExpression" xmi:id="_V1xgAEr3EemPZPxrFrrvTw" name="IsAllocationEndNamedElementRow2" description="Check if this is a NamedElement">
+        <umlEClass xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_Pe5l8cZPEeijBIWPt_NRXw" depth="3" labelProvider="_Pe4-4sZPEeijBIWPt_NRXw" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Pe5l8sZPEeijBIWPt_NRXw" alias="">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xmi:type="umlexpressions:IsKindOfExpression" xmi:id="_V-kPoEr3EemPZPxrFrrvTw" name="IsAllocationEndNamedElementRow3" description="Check if this is a NamedElement">
+        <umlEClass xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_Pe5l88ZPEeijBIWPt_NRXw" depth="4" labelProvider="_Pe4-4sZPEeijBIWPt_NRXw" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Pe5l9MZPEeijBIWPt_NRXw" alias="">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xmi:type="umlexpressions:IsKindOfExpression" xmi:id="_Wpn-0Er3EemPZPxrFrrvTw" name="IsAllocationEndNamedElementRow4" description="Check if this is a NamedElement">
+        <umlEClass xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_Pe5l9cZPEeijBIWPt_NRXw" depth="5" labelProvider="_Pe4-4sZPEeijBIWPt_NRXw" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Pe5l9sZPEeijBIWPt_NRXw" alias="">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xmi:type="umlexpressions:IsKindOfExpression" xmi:id="_WlfswEr3EemPZPxrFrrvTw" name="IsAllocationEndNamedElementRow5" description="Check if this is a NamedElement">
+        <umlEClass xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_Pe5l98ZPEeijBIWPt_NRXw" depth="6" labelProvider="_Pe4-4sZPEeijBIWPt_NRXw" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Pe5l-MZPEeijBIWPt_NRXw" alias="">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xmi:type="umlexpressions:IsKindOfExpression" xmi:id="_WfYdsEr3EemPZPxrFrrvTw" name="IsAllocationEndNamedElementRow6" description="Check if this is a NamedElement">
+        <umlEClass xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_Pe5l-cZPEeijBIWPt_NRXw" depth="7" labelProvider="_Pe4-4sZPEeijBIWPt_NRXw" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Pe5l-sZPEeijBIWPt_NRXw" alias="">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xmi:type="umlexpressions:IsKindOfExpression" xmi:id="_WaWzwEr3EemPZPxrFrrvTw" name="IsAllocationEndNamedElementRow7" description="Check if this is a NamedElement">
+        <umlEClass xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_Pe5l-8ZPEeijBIWPt_NRXw" depth="8" labelProvider="_Pe4-4sZPEeijBIWPt_NRXw" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Pe5l_MZPEeijBIWPt_NRXw" alias="">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xmi:type="umlexpressions:IsKindOfExpression" xmi:id="_WU5sAEr3EemPZPxrFrrvTw" name="IsAllocationEndNamedElementRow8" description="Check if this is a NamedElement">
+        <umlEClass xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_Pe6NAMZPEeijBIWPt_NRXw" depth="9" labelProvider="_Pe4-4sZPEeijBIWPt_NRXw" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Pe6NAcZPEeijBIWPt_NRXw" alias="">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xmi:type="umlexpressions:IsKindOfExpression" xmi:id="_WPqmsEr3EemPZPxrFrrvTw" name="IsAllocationEndNamedElementRow9" description="Check if this is a NamedElement">
+        <umlEClass xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_Pe6NAsZPEeijBIWPt_NRXw" depth="10" labelProvider="_Pe4-4sZPEeijBIWPt_NRXw" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Pe6NA8ZPEeijBIWPt_NRXw" alias="">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xmi:type="umlexpressions:IsKindOfExpression" xmi:id="_WJ5V4Er3EemPZPxrFrrvTw" name="IsNamedElement" description="Check if this is a NamedElement">
+        <umlEClass xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_Pe6NBMZPEeijBIWPt_NRXw" axisManagerId="org.eclipse.papyrus.infra.uml.nattable.tree.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="_Pe4-4cZPEeijBIWPt_NRXw" specificAxisConfigurations="_Pe4-5MZPEeijBIWPt_NRXw _Pe6NAsZPEeijBIWPt_NRXw _Pe4-5sZPEeijBIWPt_NRXw _Pe5l8cZPEeijBIWPt_NRXw _Pe5l88ZPEeijBIWPt_NRXw _Pe5l9cZPEeijBIWPt_NRXw _Pe5l98ZPEeijBIWPt_NRXw _Pe5l-cZPEeijBIWPt_NRXw _Pe5l-8ZPEeijBIWPt_NRXw _Pe6NAMZPEeijBIWPt_NRXw"/>
+  </rowHeaderAxisConfiguration>
+  <columnHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_Pe6NBcZPEeijBIWPt_NRXw" displayLabel="true" displayFilter="false" displayIndex="true">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:ObjectLabelProviderConfiguration" xmi:id="_Pe6NBsZPEeijBIWPt_NRXw" displayIcon="true" displayLabel="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" xmi:id="_Pe6NB8ZPEeijBIWPt_NRXw" displayIcon="true" displayLabel="true" displayIsDerived="true" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:OperationLabelProviderConfiguration" xmi:id="_Pe6NCMZPEeijBIWPt_NRXw" displayIcon="true" displayLabel="true" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_Pe6NCcZPEeijBIWPt_NRXw" depth="1" labelProvider="_Pe6NB8ZPEeijBIWPt_NRXw" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Pe6NCsZPEeijBIWPt_NRXw">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xmi:type="umlexpressions:IsKindOfExpression" xmi:id="_W96MwEr3EemPZPxrFrrvTw" name="IsAllocationEndNamedElementColumn1" description="Check if this is a NamedElement">
+        <umlEClass xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_Pe60EMZPEeijBIWPt_NRXw" axisManagerId="org.eclipse.papyrus.infra.emf.nattable.axis.column.eobject.matrix.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="_Pe6NBsZPEeijBIWPt_NRXw" specificAxisConfigurations="_Pe6NCcZPEeijBIWPt_NRXw"/>
+  </columnHeaderAxisConfiguration>
+  <rowAxisProviders xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_Pe60EcZPEeijBIWPt_NRXw" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowAxisManager" disconnectSlave="true"/>
+  <columnAxisProviders xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_Pe60EsZPEeijBIWPt_NRXw" description="This axis provider manages the columns, according to the wanted hierarchy" name="HierarchicalColumnsAxisManager" disconnectSlave="true"/>
+  <ownedCellEditorConfigurations xmi:type="nattablecelleditor:GenericRelationshipMatrixCellEditorConfiguration" xmi:id="_Pe60E8ZPEeijBIWPt_NRXw" cellEditorId="GenericRelationshipMatrixEditorConfiguration" direction="FROM_ROW_TO_COLUMN" relationshipOwnerStrategy="DEFAULT">
+    <editedElement xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Allocate_Abstraction"/>
+  </ownedCellEditorConfigurations>
+</nattableconfiguration:TableConfiguration>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/src/org/eclipse/papyrus/sysml16/nattable/allocation/Activator.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/src/org/eclipse/papyrus/sysml16/nattable/allocation/Activator.java
new file mode 100644
index 0000000..74d486f
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.allocation/src/org/eclipse/papyrus/sysml16/nattable/allocation/Activator.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.allocation;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * 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.sysml16.nattable.allocation"; //$NON-NLS-1$
+
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.classpath b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.project b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.project
new file mode 100644
index 0000000..c725aab
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.nattable.common</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.core.resources.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.core.runtime.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.jdt.core.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.jdt.ui.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.m2e.core.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.pde.api.tools.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/META-INF/MANIFEST.MF b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..9cfc768
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/META-INF/MANIFEST.MF
@@ -0,0 +1,36 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.sysml16.nattable.common,
+ org.eclipse.papyrus.sysml16.nattable.common.manager.axis,
+ org.eclipse.papyrus.sysml16.nattable.common.manager.cell,
+ org.eclipse.papyrus.sysml16.nattable.common.provider
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.gmf.runtime.diagram.core;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.nebula.widgets.nattable.core;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.papyrus.infra.emf.nattable;bundle-version="3.0.0",
+ org.eclipse.papyrus.infra.services.labelprovider;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.nattable;bundle-version="3.0.0",
+ org.eclipse.papyrus.infra.nattable.model;bundle-version="3.0.0",
+ org.eclipse.papyrus.infra.widgets;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.tools;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.expressions;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.emf.expressions;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.uml.nattable;bundle-version="3.0.0",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.service.types;bundle-version="1.0.0"
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Activator: org.eclipse.papyrus.sysml16.nattable.common.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.nattable.common;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Description: %Bundle-Description
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.nattable.common
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/OSGI-INF/l10n/bundle.properties b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..4dfd727
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,15 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Description=This plugin provides common classes for the SysML 1.6 tables.
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = Papyrus SysML 1.6 Common Table
\ No newline at end of file
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/about.html b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/build.properties b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/build.properties
new file mode 100644
index 0000000..a9c703a
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               OSGI-INF/,\
+               about.html,\
+               resources/
+src.includes = about.html
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/plugin.xml b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/plugin.xml
new file mode 100644
index 0000000..931c9d1
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/plugin.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+   <extension
+         point="org.eclipse.papyrus.infra.services.labelprovider.labelProvider">
+      <labelProvider
+            priority="1700"
+            provider="org.eclipse.papyrus.sysml16.nattable.common.provider.SysMLFlowPortDirectionLabelProvider">
+         <labelProviderContext
+               context="org.eclipse.papyrus.infra.nattable.body.labelprovider">
+         </labelProviderContext>
+      </labelProvider>
+   </extension>
+   <extension
+         point="org.eclipse.papyrus.infra.nattable.cellmanager">
+      <cellManager
+            id="org.eclipse.papyrus.sysml16.nattable.common.stereotype.property.cell.manager"
+            manager="org.eclipse.papyrus.sysml16.nattable.common.manager.cell.SysMLStereotypePropertyCellManager"
+            order="250">
+      </cellManager>
+   </extension>
+   <extension
+         point="org.eclipse.papyrus.infra.nattable.axismanager">
+      <axisManager
+            id="org.eclipse.papyrus.sysml16.nattable.requirement.axis.manager"
+            manager="org.eclipse.papyrus.sysml16.nattable.common.manager.axis.RequirementAxisManager">
+      </axisManager>
+      <axisManager
+            id="org.eclipse.papyrus.sysml16.nattable.requirement.tree.axis.manager"
+            manager="org.eclipse.papyrus.sysml16.nattable.common.manager.axis.RequirementTreeAxisManager">
+      </axisManager>      
+      
+      <axisManager
+            id="org.eclipse.papyrus.sysml16.nattable.allocate.axis.manager"
+            manager="org.eclipse.papyrus.sysml16.nattable.common.manager.axis.AllocateAxisManager">
+      </axisManager>
+   </extension>
+   <extension
+         point="org.eclipse.papyrus.infra.emf.expressions.expressionCatalog">
+      <catalog
+            file="resources/SysML16.expressions">
+      </catalog>
+   </extension>   
+</plugin>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/pom.xml b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/pom.xml
new file mode 100644
index 0000000..4949435
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.table</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.nattable.common</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>The plugin gather the shared API for the table based upon nattable framework.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/resources/SysML16.expressions b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/resources/SysML16.expressions
new file mode 100644
index 0000000..8f4df37
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/resources/SysML16.expressions
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<expressions:ExpressionCatalog xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:expressions="http://www.eclipse.org/papyrus/expressions" xmlns:umlexpressions="http://www.eclipse.org/papyrus/umlexpressions" xmi:id="_P7ayEDv6Eee2LLfELRoVyg" name="SysML1.6 Expressions" description="This catalog provides expressions for the profile SysML 1.6.">
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayETv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Activities::Continuous" description="This expression returns TRUE if the Element is stereotyped with SysML::Activities::Continuous and FALSE otherwise." stereotypeQualifiedName="SysML::Activities::Continuous"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayEjv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Activities::ControlOperator" description="This expression returns TRUE if the Element is stereotyped with SysML::Activities::ControlOperator and FALSE otherwise." stereotypeQualifiedName="SysML::Activities::ControlOperator"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayEzv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Activities::Discrete" description="This expression returns TRUE if the Element is stereotyped with SysML::Activities::Discrete and FALSE otherwise." stereotypeQualifiedName="SysML::Activities::Discrete"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayFDv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Activities::NoBuffer" description="This expression returns TRUE if the Element is stereotyped with SysML::Activities::NoBuffer and FALSE otherwise." stereotypeQualifiedName="SysML::Activities::NoBuffer"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayFTv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Activities::Optional" description="This expression returns TRUE if the Element is stereotyped with SysML::Activities::Optional and FALSE otherwise." stereotypeQualifiedName="SysML::Activities::Optional"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayFjv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Activities::Overwrite" description="This expression returns TRUE if the Element is stereotyped with SysML::Activities::Overwrite and FALSE otherwise." stereotypeQualifiedName="SysML::Activities::Overwrite"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayFzv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Activities::Probability" description="This expression returns TRUE if the Element is stereotyped with SysML::Activities::Probability and FALSE otherwise." stereotypeQualifiedName="SysML::Activities::Probability"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayGDv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Activities::Rate" description="This expression returns TRUE if the Element is stereotyped with SysML::Activities::Rate and FALSE otherwise." stereotypeQualifiedName="SysML::Activities::Rate"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayGTv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Allocations::Allocate" description="This expression returns TRUE if the Element is stereotyped with SysML::Allocations::Allocate and FALSE otherwise." stereotypeQualifiedName="SysML::Allocations::Allocate"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayGjv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Allocations::AllocateActivityPartition" description="This expression returns TRUE if the Element is stereotyped with SysML::Allocations::AllocateActivityPartition and FALSE otherwise." stereotypeQualifiedName="SysML::Allocations::AllocateActivityPartition"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayGzv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::AdjunctProperty" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::AdjunctProperty and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::AdjunctProperty"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayHDv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::BindingConnector" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::BindingConnector and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::BindingConnector"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayHTv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::Block" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::Block and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::Block"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayHjv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::BoundReference" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::BoundReference and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::BoundReference"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayHzv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::ClassifierBehaviorProperty" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::ClassifierBehaviorProperty and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::ClassifierBehaviorProperty"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayIDv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::ConnectorProperty" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::ConnectorProperty and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::ConnectorProperty"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayITv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::DirectedRelationshipPropertyPath" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::DirectedRelationshipPropertyPath and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::DirectedRelationshipPropertyPath"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayIjv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::DistributedProperty" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::DistributedProperty and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::DistributedProperty"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayIzv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::ElementPropertyPath" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::ElementPropertyPath and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::ElementPropertyPath"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayJDv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::EndPathMultiplicity" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::EndPathMultiplicity and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::EndPathMultiplicity"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayJTv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::NestedConnectorEnd" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::NestedConnectorEnd and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::NestedConnectorEnd"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayJjv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::ParticipantProperty" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::ParticipantProperty and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::ParticipantProperty"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayJzv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::PropertySpecificType" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::PropertySpecificType and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::PropertySpecificType"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayKDv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Blocks::ValueType" description="This expression returns TRUE if the Element is stereotyped with SysML::Blocks::ValueType and FALSE otherwise." stereotypeQualifiedName="SysML::Blocks::ValueType"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayKTv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::ConstraintBlocks::ConstraintBlock" description="This expression returns TRUE if the Element is stereotyped with SysML::ConstraintBlocks::ConstraintBlock and FALSE otherwise." stereotypeQualifiedName="SysML::ConstraintBlocks::ConstraintBlock"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayKjv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::DeprecatedElements::FlowPort" description="This expression returns TRUE if the Element is stereotyped with SysML::DeprecatedElements::FlowPort and FALSE otherwise." stereotypeQualifiedName="SysML::DeprecatedElements::FlowPort"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayKzv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::DeprecatedElements::FlowSpecification" description="This expression returns TRUE if the Element is stereotyped with SysML::DeprecatedElements::FlowSpecification and FALSE otherwise." stereotypeQualifiedName="SysML::DeprecatedElements::FlowSpecification"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayLDv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::ModelElements::Conform" description="This expression returns TRUE if the Element is stereotyped with SysML::ModelElements::Conform and FALSE otherwise." stereotypeQualifiedName="SysML::ModelElements::Conform"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayLTv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::ModelElements::ElementGroup" description="This expression returns TRUE if the Element is stereotyped with SysML::ModelElements::ElementGroup and FALSE otherwise." stereotypeQualifiedName="SysML::ModelElements::ElementGroup"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayLjv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::ModelElements::Expose" description="This expression returns TRUE if the Element is stereotyped with SysML::ModelElements::Expose and FALSE otherwise." stereotypeQualifiedName="SysML::ModelElements::Expose"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayLzv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::ModelElements::Problem" description="This expression returns TRUE if the Element is stereotyped with SysML::ModelElements::Problem and FALSE otherwise." stereotypeQualifiedName="SysML::ModelElements::Problem"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayMDv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::ModelElements::Rationale" description="This expression returns TRUE if the Element is stereotyped with SysML::ModelElements::Rationale and FALSE otherwise." stereotypeQualifiedName="SysML::ModelElements::Rationale"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayMTv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::ModelElements::Stakeholder" description="This expression returns TRUE if the Element is stereotyped with SysML::ModelElements::Stakeholder and FALSE otherwise." stereotypeQualifiedName="SysML::ModelElements::Stakeholder"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayMjv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::ModelElements::View" description="This expression returns TRUE if the Element is stereotyped with SysML::ModelElements::View and FALSE otherwise." stereotypeQualifiedName="SysML::ModelElements::View"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayMzv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::ModelElements::Viewpoint" description="This expression returns TRUE if the Element is stereotyped with SysML::ModelElements::Viewpoint and FALSE otherwise." stereotypeQualifiedName="SysML::ModelElements::Viewpoint"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayNDv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::PortsAndFlows::AcceptChangeStructuralFeatureEventAction" description="This expression returns TRUE if the Element is stereotyped with SysML::PortsAndFlows::AcceptChangeStructuralFeatureEventAction and FALSE otherwise." stereotypeQualifiedName="SysML::PortsAndFlows::AcceptChangeStructuralFeatureEventAction"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayNTv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::PortsAndFlows::ChangeStructuralFeatureEvent" description="This expression returns TRUE if the Element is stereotyped with SysML::PortsAndFlows::ChangeStructuralFeatureEvent and FALSE otherwise." stereotypeQualifiedName="SysML::PortsAndFlows::ChangeStructuralFeatureEvent"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayNjv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::PortsAndFlows::DirectedFeature" description="This expression returns TRUE if the Element is stereotyped with SysML::PortsAndFlows::DirectedFeature and FALSE otherwise." stereotypeQualifiedName="SysML::PortsAndFlows::DirectedFeature"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayNzv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::PortsAndFlows::FlowProperty" description="This expression returns TRUE if the Element is stereotyped with SysML::PortsAndFlows::FlowProperty and FALSE otherwise." stereotypeQualifiedName="SysML::PortsAndFlows::FlowProperty"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayODv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::PortsAndFlows::FullPort" description="This expression returns TRUE if the Element is stereotyped with SysML::PortsAndFlows::FullPort and FALSE otherwise." stereotypeQualifiedName="SysML::PortsAndFlows::FullPort"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayOTv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::PortsAndFlows::InterfaceBlock" description="This expression returns TRUE if the Element is stereotyped with SysML::PortsAndFlows::InterfaceBlock and FALSE otherwise." stereotypeQualifiedName="SysML::PortsAndFlows::InterfaceBlock"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayOjv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::PortsAndFlows::InvocationOnNestedPortAction" description="This expression returns TRUE if the Element is stereotyped with SysML::PortsAndFlows::InvocationOnNestedPortAction and FALSE otherwise." stereotypeQualifiedName="SysML::PortsAndFlows::InvocationOnNestedPortAction"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayOzv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::PortsAndFlows::ItemFlow" description="This expression returns TRUE if the Element is stereotyped with SysML::PortsAndFlows::ItemFlow and FALSE otherwise." stereotypeQualifiedName="SysML::PortsAndFlows::ItemFlow"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayPDv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::PortsAndFlows::ProxyPort" description="This expression returns TRUE if the Element is stereotyped with SysML::PortsAndFlows::ProxyPort and FALSE otherwise." stereotypeQualifiedName="SysML::PortsAndFlows::ProxyPort"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayPTv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::PortsAndFlows::TriggerOnNestedPort" description="This expression returns TRUE if the Element is stereotyped with SysML::PortsAndFlows::TriggerOnNestedPort and FALSE otherwise." stereotypeQualifiedName="SysML::PortsAndFlows::TriggerOnNestedPort"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayPjv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Requirements::Copy" description="This expression returns TRUE if the Element is stereotyped with SysML::Requirements::Copy and FALSE otherwise." stereotypeQualifiedName="SysML::Requirements::Copy"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayPzv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Requirements::DeriveReqt" description="This expression returns TRUE if the Element is stereotyped with SysML::Requirements::DeriveReqt and FALSE otherwise." stereotypeQualifiedName="SysML::Requirements::DeriveReqt"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayQDv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Requirements::Refine" description="This expression returns TRUE if the Element is stereotyped with SysML::Requirements::Refine and FALSE otherwise." stereotypeQualifiedName="SysML::Requirements::Refine"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayQTv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Requirements::Requirement" description="This expression returns TRUE if the Element is stereotyped with SysML::Requirements::Requirement and FALSE otherwise." stereotypeQualifiedName="SysML::Requirements::Requirement"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayQjv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Requirements::Satisfy" description="This expression returns TRUE if the Element is stereotyped with SysML::Requirements::Satisfy and FALSE otherwise." stereotypeQualifiedName="SysML::Requirements::Satisfy"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayQzv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Requirements::TestCase" description="This expression returns TRUE if the Element is stereotyped with SysML::Requirements::TestCase and FALSE otherwise." stereotypeQualifiedName="SysML::Requirements::TestCase"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayRDv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Requirements::Trace" description="This expression returns TRUE if the Element is stereotyped with SysML::Requirements::Trace and FALSE otherwise." stereotypeQualifiedName="SysML::Requirements::Trace"/>
+  <expressions xsi:type="umlexpressions:IsStereotypedWithExpression" xmi:id="_P7ayRTv6Eee2LLfELRoVyg" name="IsStereotypedWith_SysML::Requirements::Verify" description="This expression returns TRUE if the Element is stereotyped with SysML::Requirements::Verify and FALSE otherwise." stereotypeQualifiedName="SysML::Requirements::Verify"/>
+</expressions:ExpressionCatalog>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/Activator.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/Activator.java
new file mode 100644
index 0000000..40fbbc2
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/Activator.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.common;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * 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.sysml16.nattable.common"; //$NON-NLS-1$
+
+	/**
+	 * Returns an image descriptor for the image file at the given plug-in relative path.
+	 *
+	 * @param path
+	 *            The path.
+	 * @return The image descriptor.
+	 */
+	public static ImageDescriptor getImageDescriptor(String path) {
+		return imageDescriptorFromPlugin(PLUGIN_ID, path);
+	}
+
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/manager/axis/AllocateAxisManager.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/manager/axis/AllocateAxisManager.java
new file mode 100644
index 0000000..ae9736b
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/manager/axis/AllocateAxisManager.java
@@ -0,0 +1,94 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.common.manager.axis;
+
+import org.eclipse.papyrus.sysml16.allocations.Allocate;
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Axis Manager for Allocate.
+ */
+public class AllocateAxisManager extends AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager<Allocate> {
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.infra.nattable.manager.axis.AbstractAxisManager#canCreateAxisElement(java.lang.String)
+	 */
+	@Override
+	public boolean canCreateAxisElement(final String elementId) {
+		return SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_ALLOCATE_ABSTRACTION.equals(elementId);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#isInstanceOfRequiredStereotypeApplication(java.lang.Object)
+	 */
+	@Override
+	protected boolean isInstanceOfRequiredStereotypeApplication(Object object) {
+		return object instanceof Allocate;
+	}
+
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#getStereotypeApplication(org.eclipse.uml2.uml.Element)
+	 */
+	@Override
+	protected Allocate getStereotypeApplication(final Element el) {
+		return UMLUtil.getStereotypeApplication(el, Allocate.class);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#getStereotypeBaseElement(org.eclipse.emf.ecore.EObject)
+	 */
+	@Override
+	protected Element getStereotypeBaseElement(final Allocate stereotypeApplication) {
+		return stereotypeApplication.getBase_Abstraction();
+	}
+
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#getStereotypeApplicationBasePropertyName()
+	 */
+	@Override
+	protected String getStereotypeApplicationBasePropertyName() {
+		return AllocationsPackage.eINSTANCE.getAllocate_Base_Abstraction().getName();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#isAllowedAsBaseElement(org.eclipse.uml2.uml.Element)
+	 */
+	@Override
+	protected boolean isAllowedAsBaseElement(Element element) {
+		return element instanceof Abstraction;
+	}
+
+
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/manager/axis/RequirementAxisManager.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/manager/axis/RequirementAxisManager.java
new file mode 100644
index 0000000..58aac0b
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/manager/axis/RequirementAxisManager.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.common.manager.axis;
+
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * AxisManager for SysML Requirements.
+ */
+public class RequirementAxisManager extends AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager<Requirement> {
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.infra.nattable.manager.axis.AbstractAxisManager#canCreateAxisElement(java.lang.String)
+	 */
+	@Override
+	public boolean canCreateAxisElement(String elementId) {
+		return SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_REQUIREMENT.equals(elementId);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#getStereotypeApplication(org.eclipse.uml2.uml.Element)
+	 */
+	@Override
+	protected Requirement getStereotypeApplication(Element el) {
+		return UMLUtil.getStereotypeApplication(el, Requirement.class);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#isInstanceOfRequiredStereotypeApplication(java.lang.Object)
+	 */
+	@Override
+	protected boolean isInstanceOfRequiredStereotypeApplication(final Object object) {
+		return object instanceof Requirement;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#getStereotypeBaseElement(org.eclipse.emf.ecore.EObject)
+	 */
+	@Override
+	protected Element getStereotypeBaseElement(final Requirement stereotypeApplication) {
+		return stereotypeApplication.getBase_Class();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#isAllowedAsBaseElement(org.eclipse.uml2.uml.Element)
+	 */
+	@Override
+	protected boolean isAllowedAsBaseElement(final Element element) {
+		return element instanceof Class;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#getStereotypeApplicationBasePropertyName()
+	 */
+	@Override
+	protected String getStereotypeApplicationBasePropertyName() {
+		return RequirementsPackage.eINSTANCE.getRequirement_Base_Class().getName();
+	}
+
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/manager/axis/RequirementTreeAxisManager.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/manager/axis/RequirementTreeAxisManager.java
new file mode 100644
index 0000000..d677320
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/manager/axis/RequirementTreeAxisManager.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.common.manager.axis;
+
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.TreeFillingConfiguration;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.nattable.manager.axis.UMLElementTreeAxisManagerForEventList;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * AxisManager for SysML Requirements tree is Manager.
+ */
+public class RequirementTreeAxisManager extends UMLElementTreeAxisManagerForEventList {
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.UMLElementTreeAxisManagerForEventList#canCreateAxisElement(java.lang.String)
+	 */
+	@Override
+	public boolean canCreateAxisElement(String elementId) {
+		return SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_REQUIREMENT.equals(elementId);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.UMLElementTreeAxisManagerForEventList#isAllowedContents(java.lang.Object, java.lang.Object, org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.TreeFillingConfiguration, int)
+	 */
+	@Override
+	public boolean isAllowedContents(Object objectToTest, Object semanticParent, TreeFillingConfiguration conf, int depth) {
+		if (objectToTest  instanceof Element){
+			Element element = (Element) objectToTest;
+			if (UMLUtil.getStereotypeApplication(element, Requirement.class)!= null){
+				return super.isAllowedContents(objectToTest, semanticParent, conf, depth);
+			}
+		}
+		return false;
+	}
+
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/manager/cell/SysMLStereotypePropertyCellManager.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/manager/cell/SysMLStereotypePropertyCellManager.java
new file mode 100644
index 0000000..776eb44
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/manager/cell/SysMLStereotypePropertyCellManager.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *   Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Bug 545402
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.common.manager.cell;
+
+import java.util.AbstractMap;
+import java.util.List;
+import java.util.Map.Entry;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.sysml16.service.types.matcher.FlowPortNAMatcher;
+import org.eclipse.papyrus.sysml16.util.SysMLQualifiedName;
+import org.eclipse.papyrus.uml.nattable.manager.cell.StereotypePropertyCellManager;
+import org.eclipse.papyrus.uml.nattable.utils.Constants;
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * This cell manager manages the cell displaying the direction of the FlowPort.
+ * If the flowport is not atomic, the cell is not editable and the direction is N/A.
+ */
+public class SysMLStereotypePropertyCellManager extends StereotypePropertyCellManager {
+
+	/**
+	 * the FlowPort isAtomicMatcher
+	 */
+	private static final FlowPortNAMatcher matcher = new FlowPortNAMatcher();
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.cell.manager.StereotypePropertyCellManager#handles(java.lang.Object, java.lang.Object)
+	 */
+	@Override
+	public boolean handles(final Object columnElement, final Object rowElement, final INattableModelManager tableManager) {
+		boolean isHandled = super.handles(columnElement, rowElement, tableManager);
+		if (isHandled) {
+			Entry<EObject, String> cellDefinition = getCellDefinition(columnElement, rowElement);
+			if (cellDefinition != null && cellDefinition.getKey() instanceof Port) {
+				final String propertyQualifiedNameString = cellDefinition.getValue().substring(Constants.PROPERTY_OF_STEREOTYPE_PREFIX.length(), cellDefinition.getValue().length());
+				// We have to use the full name for Constants because of the previous one
+				isHandled = SysMLQualifiedName.STEREOTYPE_FLOWPORT_DIRECTION.equals(propertyQualifiedNameString);
+			}else {
+				isHandled = false;
+			}
+		}
+		return isHandled;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.cell.manager.StereotypePropertyCellManager#isCellEditable(java.lang.Object, java.lang.Object)
+	 */
+	@Override
+	public boolean isCellEditable(final Object columnElement, final Object rowElement, final INattableModelManager tableManager) {
+		boolean isEditable = super.isCellEditable(columnElement, rowElement, tableManager);
+		if (isEditable) {
+			Entry<EObject, String> cellDefinition = getCellDefinition(columnElement, rowElement);
+			if (cellDefinition != null) {
+				isEditable = !matcher.matches(cellDefinition.getKey());
+			}
+		}
+		return isEditable;
+	}
+
+	/**
+	 * @param columnElement
+	 * @param rowElement
+	 * @return Entry<EObject,propertyQualifiedName>
+	 */
+	// FIXME this method should be provided by the core API
+	private Entry<EObject, String> getCellDefinition(final Object columnElement, final Object rowElement) {
+		final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement, null);
+		// The list must have 2 elements (row and column elements)
+		if (objects != null && 2 == objects.size()) {
+			if (objects.get(0) instanceof EObject && objects.get(1) instanceof String) {
+				return new AbstractMap.SimpleEntry<>((EObject) objects.get(0), (String) objects.get(1));
+			}
+		}
+		return null;
+	}
+
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/provider/SysMLFlowPortDirectionLabelProvider.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/provider/SysMLFlowPortDirectionLabelProvider.java
new file mode 100644
index 0000000..2467413
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.common/src/org/eclipse/papyrus/sysml16/nattable/common/provider/SysMLFlowPortDirectionLabelProvider.java
@@ -0,0 +1,83 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.common.provider;
+
+import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
+import org.eclipse.nebula.widgets.nattable.layer.cell.ILayerCell;
+import org.eclipse.papyrus.infra.nattable.utils.AxisUtils;
+import org.eclipse.papyrus.infra.nattable.utils.Constants;
+import org.eclipse.papyrus.infra.nattable.utils.LabelProviderCellContextElementWrapper;
+import org.eclipse.papyrus.sysml16.service.types.matcher.FlowPortNAMatcher;
+import org.eclipse.papyrus.sysml16.util.SysMLQualifiedName;
+import org.eclipse.papyrus.uml.nattable.provider.AbstractUMLNattableCellLabelProvider;
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * This label provider allows to display N/A for the direction of the FlowPort when its required.
+ */
+public class SysMLFlowPortDirectionLabelProvider extends AbstractUMLNattableCellLabelProvider {
+
+	/**
+	 * N/A FlowPort matcher
+	 */
+	private static final FlowPortNAMatcher matcher = new FlowPortNAMatcher();
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.infra.nattable.provider.GenericCellLabelProvider#accept(java.lang.Object)
+	 */
+	@Override
+	public boolean accept(final Object element) {
+		if (element instanceof LabelProviderCellContextElementWrapper) {
+			final ILayerCell cell = ((LabelProviderCellContextElementWrapper) element);
+			final IConfigRegistry registry = ((LabelProviderCellContextElementWrapper) element).getConfigRegistry();
+			final Object columnObject = getColumnObject(cell, registry);
+			String str = AxisUtils.getPropertyId(columnObject);
+			if (str == null) {
+				final Object rowObject = getRowObject(cell, registry);
+				str = AxisUtils.getPropertyId(rowObject);
+			}
+			if (str != null) {
+				return str.endsWith(SysMLQualifiedName.STEREOTYPE_FLOWPORT_DIRECTION);
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.infra.nattable.provider.GenericCellLabelProvider#getText(java.lang.Object)
+	 */
+	@Override
+	public String getText(Object element) {
+		final ILayerCell cell = (LabelProviderCellContextElementWrapper) element;
+		final IConfigRegistry configRegistry = ((LabelProviderCellContextElementWrapper) element).getConfigRegistry();
+		final Object rowObject = AxisUtils.getRepresentedElement(getRowObject(cell, configRegistry));
+		final Object columObject = AxisUtils.getRepresentedElement(getColumnObject(cell, configRegistry));
+		Port port = null;
+		if (rowObject instanceof Port) {
+			port = (Port) rowObject;
+		} else if (columObject instanceof Port) {
+			port = (Port) columObject;
+		}
+		if (port != null && matcher.matches(port)) {
+			return Constants.NOT_AVALAIBLE;
+		}
+		return super.getText(element);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.classpath b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.project b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.project
new file mode 100644
index 0000000..8e5255e
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.nattable.requirement</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.core.resources.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.core.runtime.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.jdt.core.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.jdt.ui.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.m2e.core.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.pde.api.tools.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/META-INF/MANIFEST.MF b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a5775d0
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.gmf.runtime.diagram.core;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.infra.tools;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.emf.nattable;bundle-version="3.0.0",
+ org.eclipse.papyrus.infra.nattable.common;bundle-version="3.0.0",
+ org.eclipse.papyrus.infra.nattable;bundle-version="3.0.0",
+ org.eclipse.papyrus.infra.nattable.model;bundle-version="3.0.0",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.nattable;bundle-version="3.0.0",
+ org.eclipse.papyrus.uml.nattable.richtext;bundle-version="2.1.0",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.service.types;bundle-version="1.0.0"
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Activator: org.eclipse.papyrus.sysml16.nattable.requirement.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.nattable.requirement;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.sysml16.nattable.requirement,
+ org.eclipse.papyrus.sysml16.nattable.requirement.config
+Bundle-Description: %Bundle-Description
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.nattable.requirement
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/OSGI-INF/l10n/bundle.properties b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..9ca9074
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,16 @@
+#################################################################################
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = Papyrus SysML 1.6 Requirement Table
+Bundle-Description=This plugin provides the configuration to use for Requirement Table.
\ No newline at end of file
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/about.html b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/build.properties b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/build.properties
new file mode 100644
index 0000000..d93f2c3
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/build.properties
@@ -0,0 +1,10 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               OSGI-INF/,\
+               resources/,\
+               icons/,\
+               about.html
+src.includes = about.html
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/icons/table_SysML_Requirement.png b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/icons/table_SysML_Requirement.png
new file mode 100644
index 0000000..a325432
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/icons/table_SysML_Requirement.png
Binary files differ
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/icons/table_SysML_Requirement_new.png b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/icons/table_SysML_Requirement_new.png
new file mode 100644
index 0000000..ed086b5
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/icons/table_SysML_Requirement_new.png
Binary files differ
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/icons/table_SysML_Tree_Requirement.png b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/icons/table_SysML_Tree_Requirement.png
new file mode 100644
index 0000000..17bf5c7
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/icons/table_SysML_Tree_Requirement.png
Binary files differ
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/plugin.xml b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/plugin.xml
new file mode 100644
index 0000000..c2e17aa
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/plugin.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+   <extension
+         point="org.eclipse.papyrus.infra.nattable.configuration">
+      <configuration
+            file="resources/requirement.nattableconfiguration"
+            type="PapyrusSysML16RequirementTable">
+      </configuration>
+   </extension>
+   <extension
+         point="org.eclipse.papyrus.infra.nattable.configuration">
+      <configuration
+            file="resources/requirementTree.nattableconfiguration"
+            type="PapyrusSysML16RequirementTreeTable">
+      </configuration>
+   </extension>   
+   <extension
+         point="org.eclipse.papyrus.infra.nattable.celleditor.configuration">
+      <cellAxisConfiguration
+            class="org.eclipse.papyrus.sysml16.nattable.requirement.config.RequirementTextStringCellEditorConfiguration"
+            order="149"><!--This configuration has priority over the RichTextCellEditorConfiguration-->
+      </cellAxisConfiguration>
+   </extension>
+</plugin>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/pom.xml b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/pom.xml
new file mode 100644
index 0000000..25001ee
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.table</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.nattable.requirement</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This plugins defines the requirement table of SysML 1.6.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/resources/requirement.nattableconfiguration b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/resources/requirement.nattableconfiguration
new file mode 100644
index 0000000..47780ae
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/resources/requirement.nattableconfiguration
@@ -0,0 +1,33 @@
+<?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="__qulcG1gEeijMr8XjU8gCg" description="A synchronized table for SysML Requirements " name="RequirementTable" type="PapyrusSysML16RequirementTable" iconPath="platform:/plugin/org.eclipse.papyrus.sysml16.nattable.requirement/icons/table_SysML_Requirement.png" cellEditorDeclaration="COLUMN" defaultRowAxisProvider="__q8A0W1gEeijMr8XjU8gCg" defaultColumnAxisProvider="__q6ysG1gEeijMr8XjU8gCg">
+  <styles xmi:type="nattablestyle:StringListValueStyle" xmi:id="__qvzkG1gEeijMr8XjU8gCg" name="dragRegions">
+    <stringListValue>ROW_HEADER</stringListValue>
+  </styles>
+  <rowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="__qyP0G1gEeijMr8XjU8gCg" indexStyle="NUMERIC" displayLabel="true" displayFilter="false" displayIndex="false">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:ObjectLabelProviderConfiguration" xmi:id="__qy24G1gEeijMr8XjU8gCg" displayIcon="true" displayLabel="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:OperationLabelProviderConfiguration" xmi:id="__qzd8G1gEeijMr8XjU8gCg" displayIcon="true" displayLabel="true" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:EStructuralFeatureValueFillingConfiguration" xmi:id="__q0FAG1gEeijMr8XjU8gCg">
+      <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="__q0sEG1gEeijMr8XjU8gCg" detachedMode="true" pastedElementId="org.eclipse.papyrus.SysML16.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="org.eclipse.papyrus.sysml16.nattable.requirement.feature.axis.manager">
+        <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="__q4WcG1gEeijMr8XjU8gCg" axisManagerId="org.eclipse.papyrus.sysml16.nattable.requirement.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="__qy24G1gEeijMr8XjU8gCg" specificAxisConfigurations="__q0FAG1gEeijMr8XjU8gCg"/>
+  </rowHeaderAxisConfiguration>
+  <columnHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="__q49gG1gEeijMr8XjU8gCg" displayLabel="true" displayFilter="false" displayIndex="false">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" xmi:id="__q5kkG1gEeijMr8XjU8gCg" displayIcon="true" displayLabel="true" displayIsDerived="true" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:OperationLabelProviderConfiguration" xmi:id="__q5kkW1gEeijMr8XjU8gCg" displayIcon="true" displayLabel="true" displayType="true" displayMultiplicity="true" displayName="true"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="org.eclipse.papyrus.sysml16.nattable.requirement.feature.axis.manager" axisManagerId="org.eclipse.papyrus.uml.nattable.feature.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="__q5kkG1gEeijMr8XjU8gCg"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="org.eclipse.papyrus.sysml16.nattable.requirement.stereotype.property.axis.manager" axisManagerId="org.eclipse.papyrus.uml.nattable.stereotype.property.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="__q5kkG1gEeijMr8XjU8gCg"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="org.eclipse.papyrus.sysml16.nattable.requirement.operation.axis.manager" axisManagerId="org.eclipse.papyrus.uml.nattable.operation.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.operation.labelprovider" headerLabelConfiguration="__q5kkW1gEeijMr8XjU8gCg"/>
+  </columnHeaderAxisConfiguration>
+  <columnAxisProviders xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="__q6ysG1gEeijMr8XjU8gCg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="__q7ZwG1gEeijMr8XjU8gCg" manager="org.eclipse.papyrus.sysml16.nattable.requirement.stereotype.property.axis.manager" element="property_of_stereotype:/SysML::Requirements::AbstractRequirement::id"/>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="__q8A0G1gEeijMr8XjU8gCg" manager="org.eclipse.papyrus.sysml16.nattable.requirement.stereotype.property.axis.manager" element="property_of_stereotype:/SysML::Requirements::AbstractRequirement::text"/>
+  </columnAxisProviders>
+  <rowAxisProviders xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="__q8A0W1gEeijMr8XjU8gCg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+</nattableconfiguration:TableConfiguration>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/resources/requirementTree.nattableconfiguration b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/resources/requirementTree.nattableconfiguration
new file mode 100644
index 0000000..412d860
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/resources/requirementTree.nattableconfiguration
@@ -0,0 +1,70 @@
+<?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="_QpaQsF9WEeibbMBxjCBt2w" description="This table allows to display owned requirements of the context of the table as tree" name="RequirementTreeTable" type="PapyrusSysML16RequirementTreeTable" iconPath="platform:/plugin/org.eclipse.papyrus.sysml16.nattable.requirement/icons/table_SysML_Tree_Requirement.png" cellEditorDeclaration="COLUMN" defaultRowAxisProvider="_QpaQ1F9WEeibbMBxjCBt2w" defaultColumnAxisProvider="_QpaQ0V9WEeibbMBxjCBt2w">
+  <styles xmi:type="nattablestyle:TableDisplayStyle" xmi:id="_QpaQsV9WEeibbMBxjCBt2w" displayStyle="HIERARCHIC_SINGLE_TREE_COLUMN"/>
+  <styles xmi:type="nattablestyle:StringListValueStyle" xmi:id="_QpaQsl9WEeibbMBxjCBt2w" name="dragRegions">
+    <stringListValue>ROW_HEADER</stringListValue>
+  </styles>
+  <styles xmi:type="nattablestyle:BooleanValueStyle" xmi:id="_QpaQs19WEeibbMBxjCBt2w" name="expandAll" booleanValue="true"/>
+  <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_QpaQtF9WEeibbMBxjCBt2w" name="hiddenCategoriesByDepth">
+    <intListValue>0</intListValue>
+    <intListValue>1</intListValue>
+    <intListValue>2</intListValue>
+    <intListValue>3</intListValue>
+    <intListValue>4</intListValue>
+  </styles>
+  <rowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_QpaQtl9WEeibbMBxjCBt2w" indexStyle="NUMERIC" displayLabel="true" displayFilter="false" displayIndex="false">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:ObjectLabelProviderConfiguration" xmi:id="_QpaQt19WEeibbMBxjCBt2w" displayIcon="true" displayLabel="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" xmi:id="_QpaQuF9WEeibbMBxjCBt2w" displayIcon="true" displayLabel="true" displayIsDerived="true" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:OperationLabelProviderConfiguration" xmi:id="_QpaQuV9WEeibbMBxjCBt2w" displayIcon="true" displayLabel="true" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_QpaQul9WEeibbMBxjCBt2w" pasteConfiguration="_QpaQxF9WEeibbMBxjCBt2w" labelProvider="_QpaQuF9WEeibbMBxjCBt2w" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_QpaQu19WEeibbMBxjCBt2w" alias="nestedRequirements">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_QpaQvF9WEeibbMBxjCBt2w" pasteConfiguration="_QpaQxl9WEeibbMBxjCBt2w" depth="1" labelProvider="_QpaQuF9WEeibbMBxjCBt2w" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_QpaQvV9WEeibbMBxjCBt2w" alias="nestedRequirements">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_QpaQvl9WEeibbMBxjCBt2w" pasteConfiguration="_QpaQyF9WEeibbMBxjCBt2w" depth="2" labelProvider="_QpaQuF9WEeibbMBxjCBt2w" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_QpaQv19WEeibbMBxjCBt2w" alias="nestedRequirements">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_QpaQwF9WEeibbMBxjCBt2w" pasteConfiguration="_QpaQyF9WEeibbMBxjCBt2w" depth="3" labelProvider="_QpaQuF9WEeibbMBxjCBt2w" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_QpaQwV9WEeibbMBxjCBt2w" alias="nestedRequirements">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_QpaQwl9WEeibbMBxjCBt2w" pasteConfiguration="_QpaQyF9WEeibbMBxjCBt2w" depth="4" labelProvider="_QpaQuF9WEeibbMBxjCBt2w" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_QpaQw19WEeibbMBxjCBt2w" alias="nestedRequirements">
+        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_QpaQxF9WEeibbMBxjCBt2w" detachedMode="false" pastedElementId="org.eclipse.papyrus.SysML16.Requirement">
+      <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+      <axisIdentifier xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_QpaQxV9WEeibbMBxjCBt2w" manager="org.eclipse.papyrus.sysml16.nattable.requirementtree.stereotype.property.axis.manager" element="property_of_stereotype:/SysML::Requirements::Requirement::text"/>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_QpaQxl9WEeibbMBxjCBt2w" detachedMode="false" pastedElementId="org.eclipse.papyrus.SysML16.Requirement">
+      <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+      <axisIdentifier xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_QpaQx19WEeibbMBxjCBt2w" manager="org.eclipse.papyrus.sysml16.nattable.requirementtree.stereotype.property.axis.manager" element="property_of_stereotype:/SysML::Requirements::Requirement::text"/>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_QpaQyF9WEeibbMBxjCBt2w" detachedMode="false" pastedElementId="org.eclipse.papyrus.SysML16.Requirement">
+      <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+      <axisIdentifier xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_QpaQyV9WEeibbMBxjCBt2w" manager="org.eclipse.papyrus.sysml16.nattable.requirementtree.stereotype.property.axis.manager" element="property_of_stereotype:/SysML::Requirements::Requirement::text"/>
+    </ownedAxisConfigurations>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_QpaQyl9WEeibbMBxjCBt2w" axisManagerId="org.eclipse.papyrus.sysml16.nattable.requirement.tree.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="_QpaQt19WEeibbMBxjCBt2w" specificAxisConfigurations="_QpaQul9WEeibbMBxjCBt2w _QpaQvF9WEeibbMBxjCBt2w _QpaQvl9WEeibbMBxjCBt2w _QpaQwF9WEeibbMBxjCBt2w _QpaQwl9WEeibbMBxjCBt2w"/>
+  </rowHeaderAxisConfiguration>
+  <columnHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_QpaQy19WEeibbMBxjCBt2w" displayLabel="true" displayFilter="false" displayIndex="false">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" xmi:id="_QpaQzF9WEeibbMBxjCBt2w" displayIcon="true" displayLabel="true" displayIsDerived="true" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:OperationLabelProviderConfiguration" xmi:id="_QpaQzV9WEeibbMBxjCBt2w" displayIcon="true" displayLabel="true" displayType="true" displayMultiplicity="true" displayName="true"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="org.eclipse.papyrus.sysml16.nattable.requirementtree.feature.axis.manager" axisManagerId="org.eclipse.papyrus.uml.nattable.feature.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_QpaQzF9WEeibbMBxjCBt2w"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="org.eclipse.papyrus.sysml16.nattable.requirementtree.stereotype.property.axis.manager" axisManagerId="org.eclipse.papyrus.uml.nattable.stereotype.property.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_QpaQzF9WEeibbMBxjCBt2w"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="org.eclipse.papyrus.sysml16.nattable.requirementtree.operation.axis.manager" axisManagerId="org.eclipse.papyrus.uml.nattable.operation.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.operation.labelprovider" headerLabelConfiguration="_QpaQzV9WEeibbMBxjCBt2w"/>
+  </columnHeaderAxisConfiguration>
+  <columnAxisProviders xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_QpaQ0V9WEeibbMBxjCBt2w" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_QpaQ0l9WEeibbMBxjCBt2w" manager="org.eclipse.papyrus.sysml16.nattable.requirementtree.stereotype.property.axis.manager" element="property_of_stereotype:/SysML::Requirements::AbstractRequirement::id"/>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_QpaQ019WEeibbMBxjCBt2w" manager="org.eclipse.papyrus.sysml16.nattable.requirementtree.stereotype.property.axis.manager" element="property_of_stereotype:/SysML::Requirements::AbstractRequirement::text"/>
+  </columnAxisProviders>
+  <rowAxisProviders xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_QpaQ1F9WEeibbMBxjCBt2w" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowAxisManager" disconnectSlave="true"/>
+</nattableconfiguration:TableConfiguration>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/src/org/eclipse/papyrus/sysml16/nattable/requirement/Activator.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/src/org/eclipse/papyrus/sysml16/nattable/requirement/Activator.java
new file mode 100644
index 0000000..8b3b1c9
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/src/org/eclipse/papyrus/sysml16/nattable/requirement/Activator.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.requirement;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * 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.sysml16.nattable.requirement"; //$NON-NLS-1$
+
+	/**
+	 * The papyrus requirement table type.
+	 */
+	public static final String TABLE_TYPE = "PapyrusSysMLRequirementTable"; //$NON-NLS-1$
+
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/src/org/eclipse/papyrus/sysml16/nattable/requirement/config/RequirementTextStringCellEditorConfiguration.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/src/org/eclipse/papyrus/sysml16/nattable/requirement/config/RequirementTextStringCellEditorConfiguration.java
new file mode 100644
index 0000000..594c9da
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.requirement/src/org/eclipse/papyrus/sysml16/nattable/requirement/config/RequirementTextStringCellEditorConfiguration.java
@@ -0,0 +1,66 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.requirement.config;
+
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+import org.eclipse.papyrus.infra.nattable.utils.AxisUtils;
+import org.eclipse.papyrus.sysml16.util.SysMLQualifiedName;
+import org.eclipse.papyrus.uml.nattable.richtext.celleditor.config.RichTextCellEditorConfiguration;
+import org.eclipse.papyrus.uml.nattable.utils.UMLTableUtils;
+
+/**
+ * Cell Editor configuration for the Text field of Requirement table.
+ */
+public class RequirementTextStringCellEditorConfiguration extends RichTextCellEditorConfiguration {
+
+	/** The ID of this cell editor. */
+	private static final String ID = "org.eclipse.papyrus.sysml16.nattable.requirement.config.RequirementTextStringCellEditorConfiguration";//$NON-NLS-1$
+
+	/** Requirement Text column ID in SysML Requirements table. */
+	private static final String SYSML_REQUIREMENTS_REQUIREMENT_TEXT_ID = UMLTableUtils.PROPERTY_OF_STEREOTYPE_PREFIX + SysMLQualifiedName.SYSML_REQUIREMENTS_REQUIREMENT_TEXT_QN;
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.infra.nattable.configuration.IPapyrusNatTableConfiguration#getConfigurationId()
+	 */
+	@Override
+	public String getConfigurationId() {
+		return ID;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.infra.nattable.configuration.IPapyrusNatTableConfiguration#getConfigurationDescription()
+	 */
+	@Override
+	public String getConfigurationDescription() {
+		return "This configuration provides a Rich Text Editor for the Text field of Requirement table"; //$NON-NLS-1$
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.infra.nattable.celleditor.config.ICellAxisConfiguration#handles(org.eclipse.papyrus.infra.nattable.model.nattable.Table, java.lang.Object)
+	 */
+	@Override
+	public boolean handles(final Table table, final Object axisElement) {
+
+		// Handle only the Requirement::text column in Requirement table
+		return (SYSML_REQUIREMENTS_REQUIREMENT_TEXT_ID.equals(AxisUtils.getPropertyId(axisElement)));
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.classpath b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.project b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.project
new file mode 100644
index 0000000..66fe8cd
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.nattable.ui</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.core.resources.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.core.runtime.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.m2e.core.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.pde.api.tools.prefs b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/META-INF/MANIFEST.MF b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..95ff5f4
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,34 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.sysml16.nattable.ui,
+ org.eclipse.papyrus.sysml16.nattable.ui.filter,
+ org.eclipse.papyrus.sysml16.nattable.ui.handlers
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.nebula.widgets.nattable.core;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.4.500,4.0.0)",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.nattable;bundle-version="3.0.0",
+ org.eclipse.papyrus.infra.core.sasheditor;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.nattable.model;bundle-version="3.0.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.papyrus.infra.tools;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.nattable.menu;bundle-version="1.1.0",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.service.types;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.service.types.ui;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.sysml16.diagram.common;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.service.types;bundle-version="1.0.0"
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Activator: org.eclipse.papyrus.sysml16.nattable.ui.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.nattable.ui;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Description: %Bundle-Description
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.nattable.ui
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/OSGI-INF/l10n/bundle.properties b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..0cc74f6
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,15 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = Papyrus SysML 1.6 Table UI
+Bundle-Description=This plugin provides the context menu for the tabular editor in SysML, with handlers for the creation of SysML model elements
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/about.html b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/build.properties b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/build.properties
new file mode 100644
index 0000000..7be5519
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               about.html,\
+               OSGI-INF/
+src.includes = about.html
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/plugin.xml b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/plugin.xml
new file mode 100644
index 0000000..b8bae9d
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/plugin.xml
@@ -0,0 +1,635 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+	<extension point="org.eclipse.ui.handlers">
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.ActorPartPropertyHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.ActorPartCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.BlockHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.BlockCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler 
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.ConstraintBlockHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.ConstraintBlockCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.ConstraintBlockParameterHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.ConstraintBlockParameterCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.ConstraintPropertyHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.ConstraintPropertyCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler 
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.FlowPortHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.FlowPortCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.FlowPortNAHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.FlowPort_NACreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.FlowPropertyHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.FlowPropertyCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	   	</handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.FlowSpecificationHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.FlowSpecificationCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+		</handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.PartPropertyHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.PartPropertyCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.ProblemHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.ProblemCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.RationaleHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.RationaleCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.ReferencePropertyHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.ReferencePropertyCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.RequirementHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.RequirementCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.UnitHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.UnitCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.ValuePropertyHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.ValuePropertyCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.ValueTypeHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.ValueTypeCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+		</handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.ViewHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.ViewCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+		<handler
+			class= "org.eclipse.papyrus.sysml16.nattable.ui.handlers.ViewPointHandler"
+			commandId="org.eclipse.papyrus.sysml16.service.types.ViewPointCreateCommand" >
+		    <activeWhen>
+		       <with
+		             variable="selection">
+		          <test
+		                property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+		                value="true">
+		          </test>
+		       </with>
+		    </activeWhen>
+	    </handler>
+	</extension>
+
+	<extension
+        point="org.eclipse.ui.menus">
+   		<menuContribution
+         	allPopups="true"
+         	locationURI="popup:org.eclipse.papyrus.infra.nattable.widget.menu?after=org.eclipse.papyrus.uml.nattable.create.uml.menu">
+      		<menu
+            	id="org.eclipse.papyrus.sysml16.nattable.ui.menu"
+            	label="Create SysML 1.6 Element">
+        		<visibleWhen
+               		checkEnabled="false">
+            		<with
+                  		variable="selection">
+               			<test
+                     		property="org.eclipse.papyrus.infra.nattable.tester.isNattableWidget"
+                    		value="true">
+               			</test>
+            		</with>
+         		</visibleWhen>
+      		</menu>
+   		</menuContribution>
+      	<menuContribution
+            allPopups="false"
+            class="org.eclipse.papyrus.sysml16.nattable.ui.handlers.SysmlNattableCreateMenu"
+            locationURI="popup:org.eclipse.papyrus.sysml16.nattable.ui.menu">
+      	</menuContribution>
+   	</extension>
+   
+   
+	<!-- SysML ElementType bindings to Papyrus shared IClientContext -->
+	<extension point="org.eclipse.ui.commands">
+	
+		<!-- Creation command for ActorPart -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new ActorPart" id="org.eclipse.papyrus.sysml16.service.types.ActorPartCreateCommand" name="Create a new ActorPart">
+		</command>
+		
+		<!-- Creation command for Allocate -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new Allocate" id="org.eclipse.papyrus.sysml16.service.types.AllocateCreateCommand" name="Create a new Allocate">
+		</command>
+		
+		<!-- Creation command for Association -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new Association" id="org.eclipse.papyrus.sysml16.service.types.AssociationCreateCommand" name="Create a new Association">
+		</command>
+		
+		<!-- Creation command for AssociationComposite -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new AssociationComposite" id="org.eclipse.papyrus.sysml16.service.types.AssociationCompositeCreateCommand" name="Create a new AssociationComposite">
+		</command>
+		
+		<!-- Creation command for AssociationCompositeDirected -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new AssociationCompositeDirected" id="org.eclipse.papyrus.sysml16.service.types.AssociationCompositeDirectedCreateCommand" name="Create a new AssociationCompositeDirected">
+		</command>
+		
+		<!-- Creation command for AssociationNone -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new AssociationNone" id="org.eclipse.papyrus.sysml16.service.types.AssociationNoneCreateCommand" name="Create a new AssociationNone">
+		</command>
+		
+		<!-- Creation command for AssociationNoneDirected -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new AssociationNoneDirected" id="org.eclipse.papyrus.sysml16.service.types.AssociationNoneDirectedCreateCommand" name="Create a new AssociationNoneDirected">
+		</command>
+		
+		<!-- Creation command for AssociationShared -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new AssociationShared" id="org.eclipse.papyrus.sysml16.service.types.AssociationSharedCreateCommand" name="Create a new AssociationShared">
+		</command>
+		
+		<!-- Creation command for AssociationSharedDirected -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new AssociationSharedDirected" id="org.eclipse.papyrus.sysml16.service.types.AssociationSharedDirectedCreateCommand" name="Create a new AssociationSharedDirected">
+		</command>
+		
+		<!-- Creation command for Block -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new Block" id="org.eclipse.papyrus.sysml16.service.types.BlockCreateCommand" name="Create a new Block">
+		</command>
+		
+		<!-- Creation command for Conform -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new Conform" id="org.eclipse.papyrus.sysml16.service.types.ConformCreateCommand" name="Create a new Conform">
+		</command>
+			
+		<!-- Creation command for ConstraintBlock -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new ConstraintBlock" id="org.eclipse.papyrus.sysml16.service.types.ConstraintBlockCreateCommand" name="Create a new ConstraintBlock">
+		</command>
+	
+		<!-- Creation command for ConstraintBlockParameter -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new Parameter" id="org.eclipse.papyrus.sysml16.service.types.ConstraintBlockParameterCreateCommand" name="Create a new Parameter">
+		</command>
+	
+		<!-- Creation command for ConstraintProperty -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new ConstraintProperty" id="org.eclipse.papyrus.sysml16.service.types.ConstraintPropertyCreateCommand" name="Create a new ConstraintProperty">
+		</command>
+		
+		<!-- Creation command for Copy -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new Copy" id="org.eclipse.papyrus.sysml16.service.types.CopyCreateCommand" name="Create a new Copy">
+		</command>
+		
+		<!-- Creation command for DeriveReqt -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new DeriveReqt" id="org.eclipse.papyrus.sysml16.service.types.DeriveReqtCreateCommand" name="Create a new DeriveReqt">
+		</command>
+		
+		<!-- Creation command for FlowPort -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new FlowPort" id="org.eclipse.papyrus.sysml16.service.types.FlowPortCreateCommand" name="Create a new FlowPort">
+		</command>
+	
+		<!-- Creation command for FlowPort_NA -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new FlowPort (non atomic)" id="org.eclipse.papyrus.sysml16.service.types.FlowPort_NACreateCommand" name="Create a new FlowPort (non atomic)">
+		</command>
+	
+		<!-- Creation command for FlowProperty -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new FlowProperty" id="org.eclipse.papyrus.sysml16.service.types.FlowPropertyCreateCommand" name="Create a new FlowProperty">
+		</command>
+		
+		<!-- Creation command for FlowSpecification -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new FlowSpecification" id="org.eclipse.papyrus.sysml16.service.types.FlowSpecificationCreateCommand" name="Create a new FlowSpecification">
+		</command>
+		
+		<!-- Creation command for ItemFlow -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new ItemFlow" id="org.eclipse.papyrus.sysml16.service.types.ItemFlowCreateCommand" name="Create a new ItemFlow">
+		</command>
+	
+		<!-- Creation command for PartProperty -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new PartProperty" id="org.eclipse.papyrus.sysml16.service.types.PartPropertyCreateCommand" name="Create a new PartProperty">
+		</command>
+			
+		<!-- Creation command for Problem -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new Problem" id="org.eclipse.papyrus.sysml16.service.types.ProblemCreateCommand" name="Create a new Problem">
+		</command>
+		
+		<!-- Creation command for Rationale -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new Rationale" id="org.eclipse.papyrus.sysml16.service.types.RationaleCreateCommand" name="Create a new Rationale">
+		</command>
+		
+		<!-- Creation command for ReferenceProperty -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new ReferenceProperty" id="org.eclipse.papyrus.sysml16.service.types.ReferencePropertyCreateCommand" name="Create a new ReferenceProperty">
+		</command>
+		
+		<!-- Creation command for Requirement -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new Requirement" id="org.eclipse.papyrus.sysml16.service.types.RequirementCreateCommand" name="Create a new Requirement">
+		</command>
+		
+		<!-- Creation command for Satisfy -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new Satisfy" id="org.eclipse.papyrus.sysml16.service.types.SatisfyCreateCommand" name="Create a new Satisfy">
+		</command>
+		
+		<!-- Creation command for Unit -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new Unit" id="org.eclipse.papyrus.sysml16.service.types.UnitCreateCommand" name="Create a new Unit">
+		</command>
+		
+		<!-- Creation command for ValueProperty -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new ValueProperty" id="org.eclipse.papyrus.sysml16.service.types.ValuePropertyCreateCommand" name="Create a new ValueProperty">
+		</command>
+		
+		<!-- Creation command for ValueType -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new ValueType" id="org.eclipse.papyrus.sysml16.service.types.ValueTypeCreateCommand" name="Create a new ValueType">
+		</command>
+		
+		<!-- Creation command for ValueType_Enumeration -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new ValueType_Enumeration" id="org.eclipse.papyrus.sysml16.service.types.ValueType_EnumerationCreateCommand" name="Create a new ValueType_Enumeration">
+		</command>
+		
+		<!-- Creation command for ValueType_PrimitiveType -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new ValueType_PrimitiveType" id="org.eclipse.papyrus.sysml16.service.types.ValueType_PrimitiveTypeCreateCommand" name="Create a new ValueType_PrimitiveType">
+		</command>
+		
+		<!-- Creation command for Verify -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new Verify" id="org.eclipse.papyrus.sysml16.service.types.VerifyCreateCommand" name="Create a new Verify">
+		</command>
+		
+		<!-- Creation command for View -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new View" id="org.eclipse.papyrus.sysml16.service.types.ViewCreateCommand" name="Create a new View">
+		</command>
+		
+		<!-- Creation command for ViewPoint -->
+		<command categoryId="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands" description="Create a new ViewPoint" id="org.eclipse.papyrus.sysml16.service.types.ViewPointCreateCommand" name="Create a new ViewPoint">
+		</command>
+		
+		<!-- Category for the creation of Sysml elements-->
+		
+	</extension>
+	
+	<extension
+	      point="org.eclipse.ui.commands">
+	   <category
+	         id="org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands"
+	         name="Commands for the creation of SysML 1.6 elements">
+	   </category>
+	</extension>
+	
+	<extension
+	      point="org.eclipse.ui.commandImages">
+	   
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ActorPartCreateCommand" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif">
+	
+			</image>
+	
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.AllocateCreateCommand" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Abstraction.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.AssociationCreateCommand" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.AssociationCompositeCreateCommand" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.AssociationCompositeDirectedCreateCommand" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.AssociationNoneCreateCommand" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.AssociationNoneDirectedCreateCommand" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.AssociationSharedCreateCommand" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.AssociationSharedDirectedCreateCommand" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.BlockCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Block.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ConformCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Conform.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ConstraintBlockCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintBlock.gif">
+	
+			</image>
+	
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ConstraintBlockParameterCreateCommand" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif">
+	
+			</image>
+	
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ConstraintPropertyCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintProperty.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.CopyCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Copy.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.DeriveReqtCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DeriveReqt.gif">
+	
+			</image>
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.FlowPortCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort.gif">
+	
+			</image>
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.FlowPort_NACreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_NA.gif">
+	
+			</image>
+	
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.FlowPropertyCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.FlowSpecificationCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowSpecification.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ItemFlowCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ItemFlow.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.PartPropertyCreateCommand" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif">
+	
+			</image>
+					
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ProblemCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Problem.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.RationaleCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rationale.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ReferencePropertyCreateCommand" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif">
+	
+			</image>
+					
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.RequirementCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Requirement.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.SatisfyCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Satisfy.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.UnitCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Unit.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ValuePropertyCreateCommand" icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif">
+	
+			</image>
+					
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ValueTypeCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ValueType.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ValueType_EnumerationCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ValueType.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ValueType_PrimitiveTypeCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ValueType.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.VerifyCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Verify.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ViewCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/View.gif">
+	
+			</image>
+			
+			
+			<image commandId="org.eclipse.papyrus.sysml16.service.types.ViewPointCreateCommand" icon="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Viewpoint.gif">
+	
+			</image>
+	</extension>
+   
+      <extension
+         point="org.eclipse.ui.handlers">
+      <handler
+            class="org.eclipse.papyrus.sysml16.nattable.ui.handlers.CreateAllocateHandler"
+            commandId="org.eclipse.papyrus.sysml16.service.types.AllocateCreateCommand">
+      </handler>
+   </extension>
+</plugin>
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/pom.xml b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/pom.xml
new file mode 100644
index 0000000..a0250ea
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.table</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.nattable.ui</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This plugin defines the user interface specific to tables in SysML 1.6.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/Activator.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/Activator.java
new file mode 100644
index 0000000..3397f5a
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/Activator.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * 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.sysml16.nattable.ui"; //$NON-NLS-1$
+
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/filter/SysmlCommandFilter.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/filter/SysmlCommandFilter.java
new file mode 100644
index 0000000..cccdd1c
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/filter/SysmlCommandFilter.java
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.filter;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
+import org.eclipse.papyrus.uml.service.types.filter.ICommandFilter;
+
+/**
+ * Filter for available Sysml commands. Moved from oep.sysml.modelexplorer
+ */
+public class SysmlCommandFilter implements ICommandFilter {
+
+	/**
+	 * Singleton instance
+	 */
+	public static final SysmlCommandFilter INSTANCE = new SysmlCommandFilter();
+
+	private List<IElementType> visibleCommands;
+	
+	private SysmlCommandFilter() {
+		// to prevent instantiation
+	}
+
+	@Override
+	public List<IElementType> getVisibleCommands() {
+		if (visibleCommands == null) {
+			List<IElementType> localVisibleCommands = new ArrayList<>();
+			localVisibleCommands.add(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_BLOCK));
+			localVisibleCommands.add(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK));
+			localVisibleCommands.add(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_FLOWPORT));
+			localVisibleCommands.add(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_FLOWPROPERTY));
+			localVisibleCommands.add(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_FLOWSPECIFICATION));
+			localVisibleCommands.add(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_PROBLEM));
+			localVisibleCommands.add(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_RATIONALE));
+			localVisibleCommands.add(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_REQUIREMENT));
+			localVisibleCommands.add(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_UNIT));
+			localVisibleCommands.add(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_VALUETYPE));
+			localVisibleCommands.add(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_VIEW));
+			localVisibleCommands.add(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_VIEWPOINT));
+
+			// UMLElementTypes.PROPERTY is required by ConstraintBlock Parameter
+			localVisibleCommands.add(UMLElementTypes.PROPERTY);
+			this.visibleCommands = Collections.unmodifiableList(localVisibleCommands);
+		}
+		return visibleCommands;
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/AbstractCreateSysmlChildMenu.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/AbstractCreateSysmlChildMenu.java
new file mode 100644
index 0000000..ad881dd
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/AbstractCreateSysmlChildMenu.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.papyrus.infra.ui.util.AbstractCreateMenuFromCommandCategory;
+
+/**
+ * Abstract menu for the creation of Sysml elements
+ */
+public abstract class AbstractCreateSysmlChildMenu extends AbstractCreateMenuFromCommandCategory {
+
+	/** the cateogory of the command used to create SysML elements */
+	public static final String SYSML_CREATION_COMMAND_CATEGORY = "org.eclipse.papyrus.sysml16.service.types.sysmlElementCreationCommands"; //$NON-NLS-1$
+
+	/**
+	 * Constructor.
+	 *
+	 */
+	public AbstractCreateSysmlChildMenu() {
+		super(SYSML_CREATION_COMMAND_CATEGORY);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/AbstractSysmlCreateElementCommandHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/AbstractSysmlCreateElementCommandHandler.java
new file mode 100644
index 0000000..c5e47e2
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/AbstractSysmlCreateElementCommandHandler.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.papyrus.sysml16.nattable.ui.filter.SysmlCommandFilter;
+import org.eclipse.papyrus.uml.service.types.filter.ICommandFilter;
+import org.eclipse.papyrus.uml.service.types.ui.handlers.AbstractCreateElementCommandHandler;
+
+/**
+ * Abstract handler for every creation command for Sysml elements
+ * used in the ModelExplorer contextual ("Create new child") menu
+ */
+public abstract class AbstractSysmlCreateElementCommandHandler extends AbstractCreateElementCommandHandler {
+
+	private static final ICommandFilter filter = SysmlCommandFilter.INSTANCE;
+
+	@Override
+	public ICommandFilter getCommandFilter() {
+		return filter;
+	}
+
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/AbstractSysmlNattableCreateCommandHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/AbstractSysmlNattableCreateCommandHandler.java
new file mode 100644
index 0000000..e4a06fb
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/AbstractSysmlNattableCreateCommandHandler.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.INattableModelManagerUtils;
+import org.eclipse.papyrus.uml.nattable.menu.util.TableMenuUtils;
+import org.eclipse.papyrus.uml.service.types.utils.ICommandContext;
+
+/**
+ * Abstract handler for the creation commands of Sysml elements in the Nattable editor.
+ */
+public abstract class AbstractSysmlNattableCreateCommandHandler extends AbstractSysmlCreateElementCommandHandler {
+
+	/**
+	 * <pre>
+	 *
+	 * Build the create command for an element creation in the selected container.
+	 * The create command is given by the {@link org.eclipse.papyrus.infra.services.edit.service.IElementEditService} of selected
+	 * element.
+	 *
+	 * &#64;return the composite creation command for current selection
+	 *
+	 * </pre>
+	 */
+	@Override
+	protected Command buildCommand() {
+		Command createCmd = super.buildCommand();
+		return TableMenuUtils.buildNattableCreationCommand(createCmd, this.createRequest);
+	}
+
+	/**
+	 * Obtain the context of the active table editor.
+	 *
+	 * @see org.eclipse.papyrus.uml.service.types.handlers.AbstractCommandHandler#getCommandContext()
+	 *
+	 * @return
+	 */
+	@Override
+	protected ICommandContext getCommandContext() {
+		return TableMenuUtils.getTableCreateElementCommandContext(INattableModelManagerUtils.getTableManagerFromWorkbenchPart(getActiveWorkbenchPart()));
+
+	}
+
+	/**
+	 * Verify if this handler is currently active and the command can execute. Additionally, verify if this table can add this type of element.
+	 *
+	 * @see org.eclipse.papyrus.uml.service.types.handlers.AbstractCreateCommandHandler#setEnabled(java.lang.Object)
+	 *
+	 * @param evaluationContext
+	 */
+	@Override
+	public void setEnabled(Object evaluationContext) {
+		boolean isEnabled = false;
+		INattableModelManager tableManager = INattableModelManagerUtils.getTableManagerFromWorkbenchPart(getActiveWorkbenchPart());
+		IElementType elementTypeToCreate = getElementTypeToCreate();
+
+		if (elementTypeToCreate != null) {
+			String id = elementTypeToCreate.getId();
+			if (id != null) {
+				isEnabled = tableManager.canCreateRowElement(id);
+				if (isEnabled) {
+					// we test the enable of the super implementation
+					super.setEnabled(evaluationContext);
+					isEnabled = super.isEnabled();
+				}
+				setBaseEnabled(isEnabled);
+			}
+		}
+	}
+
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ActorPartPropertyHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ActorPartPropertyHandler.java
new file mode 100644
index 0000000..ad1d15d
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ActorPartPropertyHandler.java
@@ -0,0 +1,82 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.UnexecutableCommand;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for ActorPart (Property) creation
+ *
+ * </pre>
+ */
+public class ActorPartPropertyHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.creation.handler.CreateHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_ACTORPART);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected Command buildCommand() {
+
+		if (getCommandContext() == null) {
+			return UnexecutableCommand.INSTANCE;
+		}
+
+		EObject container = getCommandContext().getContainer();
+		EReference reference = getCommandContext().getReference();
+
+		IElementEditService provider = ElementEditServiceUtils.getCommandProvider(container);
+		if (provider == null) {
+			return UnexecutableCommand.INSTANCE;
+		}
+
+		CreateElementRequest createRequest;
+		if (reference == null) {
+			createRequest = new CreateElementRequest(container, getElementTypeToCreate());
+		} else {
+			createRequest = new CreateElementRequest(container, getElementTypeToCreate(), reference);
+		}
+		// Retrieve create command from the Element Edit service
+		ICommand createGMFCommand = provider.getEditCommand(createRequest);
+		if (createGMFCommand != null) {
+			return GMFtoEMFCommandWrapper.wrap(createGMFCommand);
+		}
+		return UnexecutableCommand.INSTANCE;
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/AllocateHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/AllocateHandler.java
new file mode 100644
index 0000000..26de257
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/AllocateHandler.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for Allocate creation
+ * </pre>
+ */
+public class AllocateHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.types.handlers.AbstractCreateCommandHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_ALLOCATE_ABSTRACTION);
+	}
+
+
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/BlockHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/BlockHandler.java
new file mode 100644
index 0000000..eae1c72
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/BlockHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for Block creation
+ * </pre>
+ */
+public class BlockHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.creation.handler.CreateHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_BLOCK);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ConstraintBlockHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ConstraintBlockHandler.java
new file mode 100644
index 0000000..bbc4211
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ConstraintBlockHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for ConstraintBlock creation
+ * </pre>
+ */
+public class ConstraintBlockHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.types.handlers.AbstractCreateCommandHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ConstraintBlockParameterHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ConstraintBlockParameterHandler.java
new file mode 100644
index 0000000..14fab79
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ConstraintBlockParameterHandler.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.UnexecutableCommand;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.edit.commands.ConfigureFeatureCommandFactory;
+import org.eclipse.papyrus.infra.services.edit.commands.IConfigureCommandFactory;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
+import org.eclipse.papyrus.uml.tools.utils.NamedElementUtil;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <pre>
+ * Command handler for Problem creation
+ * </pre>
+ */
+public class ConstraintBlockParameterHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.types.handlers.AbstractCreateCommandHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return UMLElementTypes.PROPERTY;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected Command buildCommand() {
+
+		if (getCommandContext() == null) {
+			return UnexecutableCommand.INSTANCE;
+		}
+
+		EObject container = getCommandContext().getContainer();
+		EReference reference = getCommandContext().getReference();
+
+		IElementEditService provider = ElementEditServiceUtils.getCommandProvider(container);
+		if (provider == null) {
+			return UnexecutableCommand.INSTANCE;
+		}
+
+		CreateElementRequest createRequest;
+		if (reference == null) {
+			createRequest = new CreateElementRequest(container, getElementTypeToCreate());
+		} else {
+			createRequest = new CreateElementRequest(container, getElementTypeToCreate(), reference);
+		}
+
+		String name = NamedElementUtil.getDefaultNameWithIncrementFromBase("parameter", ((Element) container).eContents()); //$NON-NLS-1$
+		createRequest.setParameter(IConfigureCommandFactory.CONFIGURE_COMMAND_FACTORY_ID, new ConfigureFeatureCommandFactory(UMLPackage.eINSTANCE.getNamedElement_Name(), name));
+
+		// Retrieve create command from the Element Edit service
+		ICommand createGMFCommand = provider.getEditCommand(createRequest);
+		if (createGMFCommand != null) {
+			return GMFtoEMFCommandWrapper.wrap(createGMFCommand);
+		}
+		return UnexecutableCommand.INSTANCE;
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ConstraintPropertyHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ConstraintPropertyHandler.java
new file mode 100644
index 0000000..4ad7a90
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ConstraintPropertyHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for ConstraintProperty creation
+ * </pre>
+ */
+public class ConstraintPropertyHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.types.handlers.AbstractCreateCommandHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTPROPERTY);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/CreateAllocateHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/CreateAllocateHandler.java
new file mode 100644
index 0000000..464d771
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/CreateAllocateHandler.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.INattableModelManagerUtils;
+
+/**
+ * This handler allows to create an Allocate object, only if the table is a PapyrusSysMLAllocationTable
+ */
+public class CreateAllocateHandler extends AllocateHandler {
+
+	/**
+	 * the id used for the Papyrus SysML Allocation Table
+	 */
+	public static final String TABLE_ALLOCATION_TYPE = "PapyrusSysML16AllocationTable"; //$NON-NLS-1$
+
+	/**
+	 *
+	 * @see org.eclipse.papyrus.sysml16.nattable.ui.handlers.AbstractSysmlNattableCreateCommandHandler#setEnabled(java.lang.Object)
+	 *
+	 * @param evaluationContext
+	 */
+	@Override
+	public void setEnabled(Object evaluationContext) {
+		Command command = getCommand();
+		boolean isEnabled = command.canExecute();
+		INattableModelManager tableManager = INattableModelManagerUtils.getTableManagerFromWorkbenchPart(getActiveWorkbenchPart());
+		isEnabled = isEnabled && tableManager.getTable().getTableConfiguration().getType().equals(TABLE_ALLOCATION_TYPE);
+		if (isEnabled) {
+			IElementType newElementType = getElementTypeToCreate();
+			String id = newElementType.getId();
+			isEnabled = tableManager.canCreateRowElement(id);
+		}
+		setBaseEnabled(isEnabled);
+
+	}
+	
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/FlowPortHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/FlowPortHandler.java
new file mode 100644
index 0000000..0506dd2
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/FlowPortHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for FlowPort creation
+ * </pre>
+ */
+public class FlowPortHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.creation.handler.CreateHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_FLOWPORT);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/FlowPortNAHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/FlowPortNAHandler.java
new file mode 100644
index 0000000..2516d24
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/FlowPortNAHandler.java
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.UnexecutableCommand;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+
+/**
+ * <pre>
+ * Command handler for FlowPort non atomic creation
+ * </pre>
+ */
+public class FlowPortNAHandler extends FlowPortHandler {
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected Command buildCommand() {
+
+		if (getCommandContext() == null) {
+			return UnexecutableCommand.INSTANCE;
+		}
+
+		EObject container = getCommandContext().getContainer();
+		EReference reference = getCommandContext().getReference();
+
+		IElementEditService provider = ElementEditServiceUtils.getCommandProvider(container);
+		if (provider == null) {
+			return UnexecutableCommand.INSTANCE;
+		}
+
+		CreateElementRequest createRequest;
+		if (reference == null) {
+			createRequest = new CreateElementRequest(container, getElementTypeToCreate());
+		} else {
+			createRequest = new CreateElementRequest(container, getElementTypeToCreate(), reference);
+		}
+
+		// Retrieve create command from the Element Edit service
+		ICommand createGMFCommand = provider.getEditCommand(createRequest);
+		if (createGMFCommand != null) {
+			return GMFtoEMFCommandWrapper.wrap(createGMFCommand);
+		}
+		return UnexecutableCommand.INSTANCE;
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/FlowPropertyHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/FlowPropertyHandler.java
new file mode 100644
index 0000000..7652e32
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/FlowPropertyHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for FlowProperty creation
+ * </pre>
+ */
+public class FlowPropertyHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.creation.handler.CreateHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_FLOWPROPERTY);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/FlowSpecificationHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/FlowSpecificationHandler.java
new file mode 100644
index 0000000..ec0fccc
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/FlowSpecificationHandler.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for FlowSpecification creation
+ * </pre>
+ */
+public class FlowSpecificationHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.creation.handler.CreateHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_FLOWSPECIFICATION);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/PartPropertyHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/PartPropertyHandler.java
new file mode 100644
index 0000000..067ccde
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/PartPropertyHandler.java
@@ -0,0 +1,82 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.UnexecutableCommand;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for Part (Property) creation
+ * </pre>
+ */
+public class PartPropertyHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.creation.handler.CreateHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_PART);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected Command buildCommand() {
+
+		if (getCommandContext() == null) {
+			return UnexecutableCommand.INSTANCE;
+		}
+
+		EObject container = getCommandContext().getContainer();
+		EReference reference = getCommandContext().getReference();
+
+		IElementEditService provider = ElementEditServiceUtils.getCommandProvider(container);
+		if (provider == null) {
+			return UnexecutableCommand.INSTANCE;
+		}
+
+		CreateElementRequest createRequest;
+		if (reference == null) {
+			createRequest = new CreateElementRequest(container, getElementTypeToCreate());
+		} else {
+			createRequest = new CreateElementRequest(container, getElementTypeToCreate(), reference);
+		}
+
+		// Retrieve create command from the Element Edit service
+		ICommand createGMFCommand = provider.getEditCommand(createRequest);
+		if (createGMFCommand != null) {
+			return GMFtoEMFCommandWrapper.wrap(createGMFCommand);
+		}
+		return UnexecutableCommand.INSTANCE;
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ProblemHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ProblemHandler.java
new file mode 100644
index 0000000..126ef0f
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ProblemHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for Problem creation
+ * </pre>
+ */
+public class ProblemHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.types.handlers.AbstractCreateCommandHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_PROBLEM);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/RationaleHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/RationaleHandler.java
new file mode 100644
index 0000000..659949f
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/RationaleHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for Rationale creation
+ * </pre>
+ */
+public class RationaleHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.types.handlers.AbstractCreateCommandHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_RATIONALE);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ReferencePropertyHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ReferencePropertyHandler.java
new file mode 100644
index 0000000..edadad5
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ReferencePropertyHandler.java
@@ -0,0 +1,82 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.UnexecutableCommand;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for Reference (Property) creation
+ * </pre>
+ */
+public class ReferencePropertyHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.creation.handler.CreateHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_REFERENCE);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected Command buildCommand() {
+
+		if (getCommandContext() == null) {
+			return UnexecutableCommand.INSTANCE;
+		}
+
+		EObject container = getCommandContext().getContainer();
+		EReference reference = getCommandContext().getReference();
+
+		IElementEditService provider = ElementEditServiceUtils.getCommandProvider(container);
+		if (provider == null) {
+			return UnexecutableCommand.INSTANCE;
+		}
+
+		CreateElementRequest createRequest;
+		if (reference == null) {
+			createRequest = new CreateElementRequest(container, getElementTypeToCreate());
+		} else {
+			createRequest = new CreateElementRequest(container, getElementTypeToCreate(), reference);
+		}
+
+		// Retrieve create command from the Element Edit service
+		ICommand createGMFCommand = provider.getEditCommand(createRequest);
+		if (createGMFCommand != null) {
+			return GMFtoEMFCommandWrapper.wrap(createGMFCommand);
+		}
+		return UnexecutableCommand.INSTANCE;
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/RequirementHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/RequirementHandler.java
new file mode 100644
index 0000000..57f0879
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/RequirementHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for Requirement creation
+ * </pre>
+ */
+public class RequirementHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.creation.handler.CreateHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_REQUIREMENT);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/SysmlNattableCreateMenu.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/SysmlNattableCreateMenu.java
new file mode 100644
index 0000000..8484e58
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/SysmlNattableCreateMenu.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.papyrus.infra.nattable.utils.NattableWidgetPropertyTester;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.menus.IContributionRoot;
+import org.eclipse.ui.services.IServiceLocator;
+
+/**
+ * Menu contributions for the creation of Sysml elements from the Nattable editor
+ */
+public class SysmlNattableCreateMenu extends AbstractCreateSysmlChildMenu {
+
+	private static NattableWidgetPropertyTester tester = new NattableWidgetPropertyTester();
+
+	@Override
+	public void createContributionItems(IServiceLocator serviceLocator, IContributionRoot additions) {
+		IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
+		if (tester.test(part, NattableWidgetPropertyTester.IS_NATTABLE_WIDGET, null, Boolean.TRUE)) {
+			super.createContributionItems(serviceLocator, additions);
+		}
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/UnitHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/UnitHandler.java
new file mode 100644
index 0000000..1288a5a
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/UnitHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for Unit creation
+ * </pre>
+ */
+public class UnitHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.types.handlers.AbstractCreateCommandHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_UNIT);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ValuePropertyHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ValuePropertyHandler.java
new file mode 100644
index 0000000..bb868b8
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ValuePropertyHandler.java
@@ -0,0 +1,81 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.UnexecutableCommand;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for Value (Property) creation
+ * </pre>
+ */
+public class ValuePropertyHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.creation.handler.CreateHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_VALUE);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected Command buildCommand() {
+
+		if (getCommandContext() == null) {
+			return UnexecutableCommand.INSTANCE;
+		}
+
+		EObject container = getCommandContext().getContainer();
+		EReference reference = getCommandContext().getReference();
+
+		IElementEditService provider = ElementEditServiceUtils.getCommandProvider(container);
+		if (provider == null) {
+			return UnexecutableCommand.INSTANCE;
+		}
+
+		CreateElementRequest createRequest;
+		if (reference == null) {
+			createRequest = new CreateElementRequest(container, getElementTypeToCreate());
+		} else {
+			createRequest = new CreateElementRequest(container, getElementTypeToCreate(), reference);
+		}
+		
+		// Retrieve create command from the Element Edit service
+		ICommand createGMFCommand = provider.getEditCommand(createRequest);
+		if (createGMFCommand != null) {
+			return GMFtoEMFCommandWrapper.wrap(createGMFCommand);
+		}
+		return UnexecutableCommand.INSTANCE;
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ValueTypeHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ValueTypeHandler.java
new file mode 100644
index 0000000..e8e55ad
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ValueTypeHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for ValueType creation
+ * </pre>
+ */
+public class ValueTypeHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.types.handlers.AbstractCreateCommandHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_VALUETYPE);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/VerifyHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/VerifyHandler.java
new file mode 100644
index 0000000..04f92ec
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/VerifyHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for Verify creation
+ * </pre>
+ */
+public class VerifyHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.types.handlers.AbstractCreateCommandHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_VERIFY_ABSTRACTION);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ViewHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ViewHandler.java
new file mode 100644
index 0000000..947733c
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ViewHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for View creation
+ * </pre>
+ */
+public class ViewHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.types.handlers.AbstractCreateCommandHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_VIEW);
+	}
+}
diff --git a/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ViewPointHandler.java b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ViewPointHandler.java
new file mode 100644
index 0000000..4abb1fe
--- /dev/null
+++ b/plugins/table/org.eclipse.papyrus.sysml16.nattable.ui/src/org/eclipse/papyrus/sysml16/nattable/ui/handlers/ViewPointHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.ui.handlers;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+
+/**
+ * <pre>
+ * Command handler for ViewPoint creation
+ * </pre>
+ */
+public class ViewPointHandler extends AbstractSysmlNattableCreateCommandHandler {
+
+	/**
+	 * <pre>
+	 * @see org.eclipse.papyrus.uml.service.types.handlers.AbstractCreateCommandHandler#getElementTypeToCreate()
+	 *
+	 * @return the IElementType this handler is supposed to create
+	 * </pre>
+	 */
+	@Override
+	protected IElementType getElementTypeToCreate() {
+		return ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_VIEWPOINT);
+	}
+}
diff --git a/plugins/table/pom.xml b/plugins/table/pom.xml
new file mode 100644
index 0000000..0ec5fb8
--- /dev/null
+++ b/plugins/table/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.plugins</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.table</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML Table</name>
+	<description>This plug-in contains the different modules relatives to the tables used in SysML 1.6.</description>
+	<modules>
+		<module>org.eclipse.papyrus.sysml16.nattable.common</module>
+		<module>org.eclipse.papyrus.sysml16.nattable.allocation</module>
+		<module>org.eclipse.papyrus.sysml16.nattable.requirement</module>
+		<module>org.eclipse.papyrus.sysml16.nattable.ui</module>
+	</modules>
+</project>
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..5b83d50
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,120 @@
+<?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.components</groupId>
+		<artifactId>org.eclipse.papyrus.components.parent</artifactId>
+		<version>0.0.27</version>
+	</parent>
+	
+	<groupId>org.eclipse.papyrus.sysml</groupId>
+	<artifactId>org.eclipse.papyrus.sysml16.parent</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>pom</packaging>
+	<name>SysML</name>
+	<description>A Papyrus DSML for the SysML 1.6 OMG norm</description>
+	<url>https://eclipse.org/papyrus/components/${component.shortname}/</url>
+	<inceptionYear>2015</inceptionYear>
+
+	<modules>
+		<module>plugins</module>
+		<module>tests</module>
+		<module>features</module>
+		<module>releng</module>
+	</modules>
+	<properties>
+		<component.shortname>sysml</component.shortname>
+		<component.fullartifactId>org.eclipse.papyrus.sysml16</component.fullartifactId>
+		<component.hudson.tabname>Sysml</component.hudson.tabname>
+		<component.bugzilla.name>SysML1.6</component.bugzilla.name>
+		<component.package.rootname>org.eclipse.papyrus.sysml</component.package.rootname>
+		<component.rcp.name>org.eclipse.papyrus.sysml16.rcp</component.rcp.name>
+		<component.servicetype>org.eclipse.papyrus.sysml16.service.types</component.servicetype>
+		<eclipse.targetrelease>2018-12</eclipse.targetrelease>
+		<target.version>${project.version}</target.version>
+		<sonar.exclusions>**/src-gen/**</sonar.exclusions>
+	</properties>
+
+	<mailingLists>
+		<mailingList>
+			<name>Papyrus SysML users Mailing List</name>
+			<post>papyrus-sysml-users@eclipse.org</post>
+			<subscribe>https://dev.eclipse.org/mailman/listinfo/papyrus-sysml-users/</subscribe>
+			<unsubscribe>https://dev.eclipse.org/mailman/listinfo/papyrus-sysml-users/</unsubscribe>
+			<archive>https://dev.eclipse.org/mailman/listinfo/papyrus-sysml-users/</archive>
+		</mailingList>
+	</mailingLists>
+
+	<ciManagement>
+		<system>Hudson</system>
+		<url>https://hudson.eclipse.org/papyrus/view/${component.hudson.tabname}/</url>
+	</ciManagement>
+	<issueManagement>
+		<url>https://bugs.eclipse.org/bugs/buglist.cgi?product=Papyrus&amp;component=${component.bugzilla.name}</url>
+		<system>Bugzilla</system>
+	</issueManagement>
+
+	<developers>
+		<developer>
+			<name>Nicolas FAUVRGUE</name>
+			<organization>CEA Tech LIST</organization>
+			<organizationUrl>http://www-list.cea.fr/</organizationUrl>
+			<id>nfauvergue</id>
+		</developer>
+	</developers>
+
+	<licenses>
+		<license>
+			<name>Eclipse Public License 2.0</name>
+			<url>https://www.eclipse.org/legal/epl-2.0/</url>
+			<distribution>repo</distribution>
+		</license>
+	</licenses>
+	
+	<distributionManagement>
+		<site>
+			<id>git.eclipse.org.server</id>
+			<url>scm:git:https://git.eclipse.org/gitroot/www.eclipse.org/papyrus/components/${component.shortname}</url>
+		</site>
+	</distributionManagement>
+
+	<scm>
+		<url>https://git.eclipse.org/c/papyrus/org.eclipse.papyrus-${component.shortname}.git</url>
+		<connection>scm:git:git://git.eclipse.org/gitroot/papyrus/org.eclipse.papyrus-${component.shortname}.git</connection>
+	</scm>
+
+	<repositories>
+		<!--repository>
+			<id>pap.repo.eclipse.org</id>
+			<name>Papyrus Repository - Releases</name>
+			<url>https://repo.eclipse.org/content/repositories/papyrus-releases/</url>
+			<releases>
+				<enabled>true</enabled>
+				<updatePolicy>daily</updatePolicy>
+			</releases>
+			<snapshots>
+				<enabled>false</enabled>
+			</snapshots>
+		</repository>
+		<repository>
+			<id>paps.repo.eclipse.org</id>
+			<name>Papyrus Repository - Snapshots</name>
+			<url>https://repo.eclipse.org/content/repositories/papyrus-snapshots/</url>
+			<releases>
+				<enabled>false</enabled>
+			</releases>
+			<snapshots>
+				<enabled>true</enabled>
+				<updatePolicy>daily</updatePolicy>
+			</snapshots>
+		</repository-->
+		<repository>
+				<id>pap.repo.eclipse.org</id>
+				<name>Papyrus Repository - Releases</name>
+				<url>https://repo.eclipse.org/content/repositories/papyrus/</url>
+		</repository> 
+	</repositories>
+	
+</project>
\ No newline at end of file
diff --git a/releng/.settings/org.eclipse.core.resources.prefs b/releng/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/releng/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/releng/org.eclipse.papyrus.sysml16.p2/.project b/releng/org.eclipse.papyrus.sysml16.p2/.project
new file mode 100644
index 0000000..b3de0e0
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.p2/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.p2</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/releng/org.eclipse.papyrus.sysml16.p2/.settings/org.eclipse.core.resources.prefs b/releng/org.eclipse.papyrus.sysml16.p2/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.p2/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/releng/org.eclipse.papyrus.sysml16.p2/.settings/org.eclipse.m2e.core.prefs b/releng/org.eclipse.papyrus.sysml16.p2/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.p2/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/releng/org.eclipse.papyrus.sysml16.p2/category.xml b/releng/org.eclipse.papyrus.sysml16.p2/category.xml
new file mode 100644
index 0000000..475cc48
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.p2/category.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+   <feature url="features/org.eclipse.papyrus.sysml16.feature_1.0.0.qualifier.jar" id="org.eclipse.papyrus.sysml16.feature" version="1.0.0.qualifier">
+      <category name="org.eclipse.papyrus.category"/>
+   </feature>
+   <feature url="features/org.eclipse.papyrus.sysml16.feature.source_1.0.0.jar" id="org.eclipse.papyrus.sysml16.feature.source" version="1.0.0.qualifier">
+      <category name="org.eclipse.papyrus.category"/>
+   </feature>
+   <feature url="features/org.eclipse.papyrus.sysml16.requirements.extension.feature_1.0.0.qualifier.jar" id="org.eclipse.papyrus.sysml16.requirements.extension.feature" version="1.0.0.qualifier">
+      <category name="org.eclipse.papyrus.category"/>
+   </feature>
+   <feature url="features/org.eclipse.papyrus.sysml16.requirements.extension.feature.source_1.0.0.jar" id="org.eclipse.papyrus.sysml16.requirements.extension.feature.source" version="1.0.0.qualifier">
+      <category name="org.eclipse.papyrus.category"/>
+   </feature>
+   <category-def name="org.eclipse.papyrus.category" label="Papyrus SysML Category">
+      <description>
+         Papyrus SysML Category
+      </description>
+   </category-def>
+   <repository-reference location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12/" enabled="true" />
+</site>
diff --git a/releng/org.eclipse.papyrus.sysml16.p2/pom.xml b/releng/org.eclipse.papyrus.sysml16.p2/pom.xml
new file mode 100644
index 0000000..0f1b0e0
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.p2/pom.xml
@@ -0,0 +1,63 @@
+<?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.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.releng</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.p2</artifactId>
+	<packaging>eclipse-repository</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<!-- https://github.com/jbosstools/jbosstools-maven-plugins/wiki -->
+				<groupId>org.jboss.tools.tycho-plugins</groupId>
+				<artifactId>repository-utils</artifactId>
+				<executions>
+					<execution>
+						<id>generate-facade</id>
+						<phase>package</phase>
+						<goals>
+							<goal>generate-repository-facade</goal>
+						</goals>
+						<configuration>
+							<symbols>
+								<update.site.name>SysML 1.6</update.site.name>
+								<update.site.description>Use this URL in Eclipse to install	SysML 1.6</update.site.description>
+								<update.site.version>${project.version}</update.site.version>
+								<project.website>https://www.eclipse.org/papyrus/components/sysml</project.website>
+								<project.issues>${project.issueManagement.url}</project.issues>
+								<eclipse.target>${eclipse.targetrelease}</eclipse.target>
+								<update.site.nightly>https://ci.eclipse.org/papyrus/job/papyrus-sysml16-master/lastSuccessfulBuild/artifact/releng/org.eclipse.papyrus.sysml16.p2/target/repository/</update.site.nightly>
+							</symbols>
+							<associateSites>
+								<site>http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12</site>
+							</associateSites>
+							<siteTemplateFolder>siteTemplate</siteTemplateFolder>
+							<p2StatsUrl>http://download.eclipse.org/stats</p2StatsUrl>
+						</configuration>
+					</execution>
+				</executions>
+				<dependencies>
+					<dependency>
+						<groupId>org.eclipse.tycho</groupId>
+						<artifactId>tycho-packaging-plugin</artifactId>
+						<version>${tycho-version}</version>
+					</dependency>
+				</dependencies>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-deploy-plugin</artifactId>
+				<configuration>
+					<skip>true</skip>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+	<name>org.eclipse.papyrus.sysml16.p2</name>
+	<description>This plugin defines the update site of SysML 1.6 plugins and feature.</description>
+</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.sysml16.p2/publish.README b/releng/org.eclipse.papyrus.sysml16.p2/publish.README
new file mode 100644
index 0000000..66b977d
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.p2/publish.README
@@ -0,0 +1,3 @@
+The publish.sh script may be used to publish the build results (update site). The script may be called
+without parameters and prompts for everything it requires for publishing an update site, or it may be 
+invoked with respective command line parameters.
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.sysml16.p2/publish.sh b/releng/org.eclipse.papyrus.sysml16.p2/publish.sh
new file mode 100644
index 0000000..d0990fa
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.p2/publish.sh
@@ -0,0 +1,414 @@
+#!/bin/sh
+#Based upon Gef4 publish.sh script
+
+#causes the shell to exit if any subcommand or pipeline returns a non-zero status.
+#set -e
+
+# Script may take 10-11 command line parameters:
+# $1: Hudson job name: <name>
+# $2: Hudson build id: <id>
+# $3: Build type: i(ntegration), s(table), r(elease)
+# $4: Whether to promote to an update-site: (y)es, (n)o
+# $5: Whether to merge the site with an existing one: (y)es, (n)o
+# $6: Whether to generate drop files: (y)es, (n)o
+# $7: The release label used to label the drop files and (nested) update site, e.g. 3.10.0 or 3.10.1
+# $8: The eclipse target version, e.g. neon
+# $9: Whether to generate rcp files: (y)es, (n)o
+# $10: Papyrus component 
+# $11: An optional release label suffix to be appended to drop files and (nested) update site name, e.g. M1, RC1 
+
+#The publish.sh script may be used to publish the build results (update site and drop files and rcp). The script may be called
+#without parameters and prompts for everything it requires for publishing an update site, or it may be 
+#invoked with respective command line parameters.
+if [ $# -eq 12 -o $# -eq 13  ];
+then
+	jobName=${1}
+	echo "jobName: $jobName"
+	buildId=${2}
+	echo "buildId: $buildId"
+	buildType=${3}
+	echo "buildType: $buildType"
+	site=${4}
+	echo "site: $site"
+	merge=${5}
+	echo "merge: $merge"
+	dropFiles=${6}
+	echo "dropFiles: $dropFiles"
+	releaseLabel=${7}	
+	echo "releaseLabel: $releaseLabel"
+	eclipseTarget=${8}	
+	echo "eclipseTarget: $eclipseTarget"
+	rcpFiles=${9}	
+	echo "rcpFiles: $rcpFiles"
+	component=${10}	
+	echo "component: $component"
+	eclipseDir=${11}	
+	echo "eclipseDir: $eclipseDir"
+	eclipseVersion=${12}	
+	echo "eclipseVersion: $eclipseVersion"
+	if [ -n "${13}" ];
+	then
+		releaseLabelSuffix=${13}
+		echo "releaseLabelSuffix: $releaseLabelSuffix"
+	fi
+else
+	if [ $# -ne 0 ];
+	then
+		exit 1
+	fi
+fi
+
+#The root url that enables to find the job with ${hudsonJobRootUrl}/$jobName/$buildId
+hudsonJobRootUrl="https://hudson.eclipse.org/papyrus/job/"
+
+#The localization of the local build target update site
+targetUpdateSite="archive/releng/org.eclipse.papyrus.${component}.p2/target/repository"
+targetRCPRoot="archive/releng/org.eclipse.papyrus.${component}.product/target/products/org.eclipse.papyrus.${component}.product"
+
+#The feature to parse to retrieve the qualifierversion
+feature2Parse4QualifierVersion="org.eclipse.papyrus.${component}.feature"
+
+#The specific localization
+hudsonRoot="/home/data/httpd/download.eclipse.org/"
+
+remoteUpdateSiteRoot="modeling/mdt/papyrus/components/${component}"
+remoteDropDir=${hudsonRoot}/${remoteUpdateSiteRoot}/downloads/${releaseLabel}/drops
+remoteUpdateSite="${hudsonRoot}/${remoteUpdateSiteRoot}/${remoteSite}"
+remoteRcpDir=${hudsonRoot}/${remoteUpdateSiteRoot}/downloads/${releaseLabel}/rcps
+
+
+
+if [ -z "$jobName" ];
+then
+	echo -n "Please enter the name of the Hudson job you want to promote:"
+	read jobName
+fi
+
+if [ -z "$buildId" ];
+then
+	for i in $( find ~/.hudson/jobs/$jobName/builds -type l | sed 's!.*/!!' | sort)
+	do
+		echo -n "$i, "
+	done
+	echo "lastStable, lastSuccessful"
+	echo -n "Please enter the id of the $jobName build you want to promote:"
+	read buildId
+fi
+
+if [ "$buildId" = "lastStable" -o "$buildId" = "lastSuccessful" ];
+then
+	# Reverse lookup the build id (in case lastSuccessful or lastStable was used)
+	for i in $(find ~/.hudson/jobs/$jobName/builds/ -type l)
+	do
+		if [ "$(readlink -f $i)" = "$(readlink -f ~/.hudson/jobs/$jobName/$buildId)" ];
+		then
+			buildId=${i##*/}
+		fi
+	done
+	echo "Reverse lookup (lastStable/lastSuccessful) yielded buildId: $buildId"
+fi
+
+# Determine the local update site we want to publish to
+jobDir=$(readlink -f ~/.hudson/jobs/${jobName}/builds/${buildId})
+if [ ! -d $jobDir ];
+then
+	echo "The specified buildId does not refer to an existing build: $buildId"
+	exit 1
+fi
+
+
+localUpdateSite=${jobDir}/${targetUpdateSite}
+echo "jobDir=${jobDir}"
+echo "targetUpdateSite=${targetUpdateSite}"
+echo "localUpdateSite=${localUpdateSite}"
+
+localRCPSiteRoot=${jobDir}/${targetRCPRoot}
+echo "localRCPSiteRoot=${localRCPSiteRoot}"
+
+echo "Publishing from local update site: $localUpdateSite"
+
+# Select the build type
+if [ -z "$buildType" ];
+then
+    echo -n "Please select which type of build you want to publish to [i(integration), s(table), r(elease)]: "
+    read buildType
+fi
+echo "Publishing as $buildType build"
+
+# check if we are going to promote to an update-site
+if [ -z "$site" ];
+then
+	echo -n "Do you want to promote to an remote update site? [(y)es, (n)o]:"
+	read site
+fi
+if [ "$site" != y -a "$site" != n ];
+then
+	echo "Parameter site has to be 'y'(es) or 'n'(o) but was: $site"
+    exit 0
+fi
+echo "Promoting to remote update site: $site"
+
+if [ "$site" = y ];
+then
+	# Determine remote update site we want to promote to
+	case $buildType in
+		i|I) remoteSite=integration;;
+		s|S) remoteSite=milestones;;
+		r|R) remoteSite=releases;;
+		*) 
+		echo "Parameter buildType has to be 'i'(ntegration), 's'(stable), or 'r'(elease), but was: $buildType"
+		exit 1 ;;
+	esac
+
+	echo "Publishing to remote update-site: $remoteUpdateSite"
+
+	if [ -d "$remoteUpdateSite" ];
+	then
+		if [ -z "$merge" ];
+		then
+			echo -n "Do you want to merge with the existing update-site? [(y)es, (n)o]:"
+			read merge
+		fi
+		if [ "$merge" != y -a "$merge" != n ];
+		then
+			echo "Parameter merge has to be 'y'(es) or 'n'(o) but was: $merge"
+			exit 1
+		fi
+	else
+		merge=n
+	fi
+	echo "Merging with existing site: $merge"
+fi
+
+# check if we are going to create drop files
+if [ -z "$dropFiles" ];
+then
+	echo -n "Do you want to create drop files? [(y)es, (n)o]:"
+	read dropFiles
+fi
+if [ "$dropFiles" != y -a "$dropFiles" != n ];
+then
+	echo "Parameter dropFiles has to be 'y'(es) or 'n'(o) but was: $dropFiles"
+	exit 1
+fi
+echo "Generating drop files: $dropFiles"
+
+# Determine releaseLabel
+if [ -z "$releaseLabel" ];
+then
+    echo -n "Please enter release label (e.g. 3.10.0, 3.10.1M2):"
+    read releaseLabel
+fi
+
+# Prepare a temp directory
+mkdir -p target
+cd target
+tmpDir="$jobName-publish-tmp"
+rm -fr $tmpDir
+mkdir -p $tmpDir
+cd $tmpDir
+
+# Download and prepare Eclipse SDK, which is needed to merge update site and postprocess repository 
+echo "Downloading eclipse to $PWD"
+
+cp ${eclipseDir}/${eclipseVersion} .
+
+
+ls -la
+tar -xzf ${eclipseVersion}
+cd eclipse
+chmod 700 eclipse
+cd ..
+if [ ! -d "eclipse" ];
+then
+    echo "Failed to download an Eclipse SDK, being needed for provisioning."
+    exit
+fi
+# Prepare Eclipse SDK to provide WTP releng tools (used to postprocess repository, i.e set p2.mirrorsURL property)
+echo "Installing WTP Releng tools"
+./eclipse/eclipse -nosplash --launcher.suppressErrors -clean -debug -application org.eclipse.equinox.p2.director -repository http://download.eclipse.org/webtools/releng/repository/ -installIUs org.eclipse.wtp.releng.tools.feature.feature.group
+# Clean up
+echo "Cleaning up"
+rm ${eclipseVersion}
+
+# Generate drop files
+if [ "$dropFiles" = y ];
+	then
+	
+	# Prepare local update site (for drop files)
+	echo "Prepare local update site (for drop files)"
+	mkdir -p update-site
+	cp -R $localUpdateSite/* update-site/
+	echo "Copied $localUpdateSite to local directory update-site."
+	
+	qualifiedVersion=$(find update-site/features/ -maxdepth 1 | grep "${feature2Parse4QualifierVersion}")
+	qualifiedVersion=${qualifiedVersion%.jar}
+    qualifiedVersion=${qualifiedVersion#*_}
+    qualifier=${qualifiedVersion##*.}
+    dropDir="${releaseLabel}/$(echo $buildType | tr '[:lower:]' '[:upper:]')$qualifier"
+    localDropDir=drops/$dropDir
+    echo "Creating drop files in local directory $localDropDir"
+    mkdir -p $localDropDir
+    
+    cd update-site
+    zip -r ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip features plugins artifacts.jar content.jar
+    md5sum ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip > ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip.md5
+    echo "Created ${component}-Update-Site-${releaseLabel}${releaseLabelSuffix}.zip" 
+    cd ..  
+
+    # Cleanup local update site (for drop files generation)
+	rm -fr update-site
+
+	#generating build.cfg file to be referenced from downloads web page
+	echo "generating build.cfg file to be referenced from downloads web page"
+    echo "hudson.job.name=$jobName" > $localDropDir/build.cfg
+    echo "hudson.job.id=$buildId (${jobDir##*/})" >> $localDropDir/build.cfg
+    echo "hudson.job.url= ${hudsonJobRootUrl}/$jobName/$buildId" >> $localDropDir/build.cfg
+    
+	mkdir -p ${remoteDropDir}
+    cp -R $localDropDir/* ${remoteDropDir}/
+         
+fi
+
+# Generate RCP files
+if [ "$rcpFiles" = y ];
+	then
+	
+	# Prepare local rcp site (for rcp files)
+	mkdir -p rcp-site
+	cp ${localRCPSiteRoot}-linux.gtk.x86_64.zip rcp-site/org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-linux.gtk.x86_64.zip
+	echo "Copied ${localRCPSiteRoot}-linux.gtk.x86_64.zip to local directory rcp-site."
+	cp ${localRCPSiteRoot}-macosx.cocoa.x86_64.tar.gz rcp-site/org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-macosx.cocoa.x86_64.tar.gz
+	echo "Copied ${localRCPSiteRoot}-macosx.cocoa.x86_64.tar.gz to local directory rcp-site."
+	cp ${localRCPSiteRoot}-win32.win32.x86_64.zip rcp-site/org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-win32.win32.x86_64.zip
+	echo "Copied ${localRCPSiteRoot}-win32.win32.x86_64.zip to local directory rcp-site."
+	
+	qualifiedVersion=$(find update-site/features/ -maxdepth 1 | grep "${feature2Parse4QualifierVersion}")
+	qualifiedVersion=${qualifiedVersion%.jar}
+    qualifiedVersion=${qualifiedVersion#*_}
+    qualifier=${qualifiedVersion##*.}
+    dropDir="${releaseLabel}/$(echo $buildType | tr '[:lower:]' '[:upper:]')$qualifier"
+
+	localRcpDir=rcps/$dropDir
+    echo "Creating rcp files in local directory $localRcpDir"
+    mkdir -p $localRcpDir
+    
+    cd rcp-site
+    cp * ../$localRcpDir/
+    
+    echo "Created org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-linux.gtk.x86_64.zip in ../$localRcpDir/" 
+    cd ..  
+
+    # Cleanup local update site (for drop files generation)
+	rm -fr rcp-site
+
+	mkdir -p ${remoteRcpDir}/
+    cp -R $localRcpDir/* ${remoteRcpDir}/
+       
+fi
+
+if [ "$site" = y ];
+then
+	mkdir -p update-site
+	updateSiteLabel=${releaseLabel}${releaseLabelSuffix}_${jobName}_${buildId}
+	# Prepare composite local update site (transfer into composite if needed)
+	if [ "$merge" = y ];
+	then
+		# check if the remote site is a composite update site
+		echo "Merging existing site into local one."
+		#if [ -e "$remoteUpdateSite/compositeArtifacts.xml" ];
+		#then
+			cp -R $remoteUpdateSite/* update-site/
+		#else
+		#	mkdir -p update-site/pre_${updateSiteLabel}
+		#	cp -R $remoteUpdateSite/* update-site/pre_${updateSiteLabel}/
+		#fi
+	else 
+		echo "Skipping merge operation."    
+	fi
+	# move local update site below composite one
+	mkdir -p update-site/${updateSiteLabel}
+	cp -R $localUpdateSite/* update-site/${updateSiteLabel}/
+    	
+	cd update-site
+	children=$(find . -maxdepth 1 -type d -print | wc -l)
+	children=$(($children-1))
+	timestamp=$(date +%s000)
+
+content="
+<?xml version='1.0' encoding='UTF-8'?>
+<?compositeMetadataRepository version='1.0.0'?>
+<repository name='${component} ${remoteSite}' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1.0.0'>
+<properties size='1'>
+<property name='p2.timestamp' value='${timestamp}'/>
+</properties>
+<children size='${children}'>
+$(
+for file in *; do
+  if [ -d $file ]; then
+printf "<child location='${file}'/>"
+  fi
+done
+)
+</children>
+</repository>
+"
+	echo $content > compositeContent.xml
+
+artifact="
+<?xml version='1.0' encoding='UTF-8'?>
+<?compositeArtifactRepository version='1.0.0'?>
+<repository name='${component} ${remoteSite}' type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1.0.0'>
+<properties size='1'>
+<property name='p2.timestamp' value='${timestamp}'/>
+</properties>
+<children size='${children}'>
+$(
+for file in *; do
+  if [ -d $file ]; then
+printf "<child location='${file}'/>"
+  fi
+done
+)
+</children>
+</repository>
+"
+	echo $artifact > compositeArtifacts.xml
+
+	cd ..
+
+	# Ensure p2.mirrorURLs property is used in update site
+	echo "Updating p2.mirrorURLs property."
+	./eclipse/eclipse -nosplash --launcher.suppressErrors -clean -debug -application org.eclipse.wtp.releng.tools.addRepoProperties -vmargs -DartifactRepoDirectory=$PWD/update-site/${updateSiteLabel} -Dp2MirrorsURL="http://www.eclipse.org/downloads/download.php?format=xml&file=/${remoteUpdateSiteRoot}/${remoteSite}/${updateSiteLabel}"
+
+	# Create p2.index file
+	if [ ! -e "update-site/p2.index" ];
+	then
+		echo "Creating p2.index file."
+		echo "version = 1" > update-site/p2.index
+		echo "metadata.repository.factory.order=compositeContent.xml,\!" >> update-site/p2.index
+		echo "artifact.repository.factory.order=compositeArtifacts.xml,\!" >> update-site/p2.index
+	fi
+
+	# Backup then clean remote update site
+	echo "Creating backup of remote update site."
+	if [ -d "$remoteUpdateSite" ];
+	then
+		if [ -d BACKUP ];
+		then
+			rm -fr BACKUP
+		fi
+		mkdir BACKUP
+		cp -R $remoteUpdateSite/* BACKUP/
+		rm -fr $remoteUpdateSite
+	fi
+
+	echo "Publishing contents of local update-site directory to remote update site $remoteUpdateSite"
+	mkdir -p $remoteUpdateSite
+	cp -R update-site/* $remoteUpdateSite/
+fi
+
+# Clean up
+echo "Cleaning up"
+rm -fr eclipse
+rm -fr update-site
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/index.html b/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/index.html
new file mode 100644
index 0000000..f4dcd49
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/index.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<title>${update.site.name} Update Site: ${update.site.version}</title>
+<link rel="stylesheet" type="text/css" href="web/site.css">
+</head>
+<body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0">
+<center>
+<table cellspacing="0" cellpadding="0" class="table">
+	<tr>
+		<td colspan="3" class="td_header">&nbsp;</td>
+	</tr>
+	<tr>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+	</tr>
+	<tr>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+		<td>
+		<h2 class="title">${update.site.name} Update Site</h2>
+		<table width="100%">
+			<tr class="header">
+				<td class="sub-header" width="100%"><span>Latest Build: ${update.site.version}</span></td>
+			</tr>
+
+			<tr class="light-row" style="height: 30px">
+				<td class="bodyText">
+				<p class="bodyText">This is the <b>${update.site.description}</b>
+				Update Site for ${update.site.name}.
+								<blockquote style="border: 1px dashed #1778be; padding: 2px">
+									<ol>
+										<li>To install
+											from this site, start up Eclipse ${eclipse.target}, then do:
+											<ul>
+												<code><strong>Help > Install New Software... ></strong></code>
+											</ul>
+										</li>
+										<li>Copy this site's URL into Eclipse, and hit Enter.</li>
+										<li>When the site loads, select the features to install,
+											or click the <code><strong>Select All</strong></code> button.</li>
+										<li>To properly resolve all dependencies, check
+										<ul><code><strong>[x] Contact all update sites during install to find required software</strong></code></ul>
+
+										<li>Click <code><strong>Next</strong></code>, agree to the license
+											terms, and install.</li>
+
+										<p class="bodyText">
+											You can also download SysML 1.6 as individual zips for
+											offline installation. See <a class="link"
+												href="../downloads/${update.site.version}/rcps/">SysML 1.6 product
+												Downloads</a>.<br />
+										</p>
+									</ol>
+								</blockquote>
+							</td>
+						</tr>
+		</table>
+		</td>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+	</tr>
+	<tr>
+		<td></td>
+		<td>
+	        ${site.contents}
+		</td>
+		<td></td>
+	</tr>
+	<tr>
+		<td></td>
+		<td>
+		<table width="100%">
+			<tr class="header">
+				<td class="sub-header" width="100%"><span> More informations</span></td>
+			</tr>
+			<tr class="light-row" style="height: 30px">
+				<td class="bodyText">
+				<h4>Documentation</h4>
+				<p class="bodyText">You can check here the web site <a href="${project.website}">documentation</a>.</p>
+				<br />
+
+				</td>
+			</tr>
+
+			<tr class="dark-row" style="height: 30px">
+				<td class="bodyText">
+				<h4>Report issues</h4>
+
+				<p>We'd greatly
+				appreciate the assistance in testing and <a
+					href="${project.issues}">reporting of
+				issues in our issue tracker</a>.</p><br/>
+
+				</td>
+			</tr>
+
+			<tr class="light-row" style="height: 30px">
+				<td class="bodyText">
+				<h4>Nightly Builds</h4>
+
+				<p>The <a
+					href="${update.site.nightly}">bleeding
+				edge</a> contains the latest and greatest new features, but nothing is
+				stable or guaranteed - yet. If you're using a Milestone and need a
+				fix, you can update to the latest Nightly, or wait for the next
+				Milestone.</p><br/>
+				</td>
+			</tr>
+		</table>
+		</td>
+	</tr>
+</table>
+</center>
+</html>
diff --git a/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/web/img/sysml-banner.png b/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/web/img/sysml-banner.png
new file mode 100644
index 0000000..2797993
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/web/img/sysml-banner.png
Binary files differ
diff --git a/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/web/site.css b/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/web/site.css
new file mode 100644
index 0000000..84a9a44
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/web/site.css
@@ -0,0 +1,82 @@
+<
+STYLE type ="text/css">td.spacer {
+	padding-bottom: 10px;
+	padding-top: 10px;
+}
+
+.title {
+	font-family: sans-serif;
+	color: #1778be;
+}
+
+.table {
+	margin-top: 0px;
+	margin-left: 0px;
+	width: 920px;
+}
+
+.bodyText {
+	font-family: sans-serif;
+	font-size: 9pt;
+	color: #000000;
+	width: 100%
+}
+
+.sub-header {
+	background: url('http://download.eclipse.org/eclipse.org-common/themes/solstice/public/images/template/breadcrumbs-large-bg.jpg') center #1b1732;
+    background-size: 100%;
+    color: #fff;
+    text-align: center;
+}
+
+.log-text {
+	font-family: sans-serif;
+	font-style: normal;
+	font-weight: lighter;
+	font-size: 8pt;
+	color: black;
+}
+
+.big-header {
+	font-family: sans-serif;
+	font-style: normal;
+	font-weight: bold;
+	font-size: 9pt;
+	color: white;
+	border-top: 10px solid white;
+}
+
+.light-row {
+	background: #FFFFFF
+}
+
+.dark-row {
+	background: #EEEEEE
+}
+
+.header {
+	background: #445562
+}
+
+#indent {
+	word-wrap: break-word;
+	width: 300px;
+	text-indent: 10px;
+}
+
+.link {
+	color: #187dc6;
+}
+
+.td_header {
+	background: url("img/sysml-banner.png") 0 no-repeat;
+	height: 100px;
+}
+
+.column-header {
+	font-size:small;
+}
+
+</
+STYLE
+>
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/xslt/site.properties.xsl b/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/xslt/site.properties.xsl
new file mode 100644
index 0000000..127c98d
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/xslt/site.properties.xsl
@@ -0,0 +1,20 @@
+<xsl:stylesheet version="2.0"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan"
+	xmlns:saxon="http://saxon.sf.net/" xmlns="http://www.w3.org/1999/xhtml"
+	extension-element-prefixes="saxon">
+	<xsl:output method="text" indent="yes" />
+	<xsl:template match="/site">
+		<xsl:for-each select="category-def">
+			<xsl:sort select="@name" />
+			<xsl:variable name="catg"><xsl:value-of select="@name"/></xsl:variable>
+# 
+<xsl:value-of select="$catg" />.category.features = \
+<xsl:for-each select="//feature">
+				<xsl:sort select="@id" />
+				<xsl:if test="count(./category[contains(@name,$catg)])>0"><xsl:value-of select="@id" />,
+</xsl:if>
+			</xsl:for-each>
+		</xsl:for-each>
+# 
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/xslt/site.xsl b/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/xslt/site.xsl
new file mode 100644
index 0000000..235f683
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.p2/siteTemplate/xslt/site.xsl
@@ -0,0 +1,128 @@
+<xsl:stylesheet version="2.0"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan"
+	xmlns:saxon="http://saxon.sf.net/" xmlns="http://www.w3.org/1999/xhtml"
+	extension-element-prefixes="saxon">
+	<xsl:output method="html" indent="yes" />
+	<xsl:template match="/site">
+		<table cellspacing="2" cellpadding="0" border="0">
+			<xsl:if test="count(feature[contains(@id,'papyrus')])>0">
+				<tr style="background-color:#DDDDDD">
+					<th class="column-header">Feature</th>
+					<th class="column-header">Version</th>
+					<th class="column-header">Feature Categor(ies)</th>
+				</tr>
+				<!-- papyrus features -->
+				<xsl:for-each select="feature[contains(@id,'papyrus')]">
+					<xsl:sort select="@id" />
+					<xsl:variable name="rowCol">
+						<xsl:if test="position() mod 2 = 1">
+							#EEEEEE
+						</xsl:if>
+						<xsl:if test="position() mod 2 = 0">
+							#FFFFFF
+						</xsl:if>
+					</xsl:variable>
+
+					<tr style="background-color:{$rowCol}">
+						<td class="rowLine">
+							<a href="{@url}" style="font-size:x-small">
+								<xsl:value-of select="@id" />
+							</a>
+						</td>
+						<td>
+							<span style="font-size:x-small">
+								<xsl:value-of select="@version" />
+							</span>
+						</td>
+						<td>
+							<xsl:choose>
+								<xsl:when test="category">
+									<xsl:for-each select="category">
+										<span style="font-size:x-small">
+											|
+											<xsl:value-of select="@name" />
+										</span>
+									</xsl:for-each>
+								</xsl:when>
+							</xsl:choose>
+						</td>
+					</tr>
+				</xsl:for-each>
+			</xsl:if>
+			<!-- xsl:if test="count(feature[not(contains(@id,'papyrus'))])>0">
+				<tr style="background-color:#DDDDDD">
+					<th class="column-header">Feature</th>
+					<th class="column-header">Version</th>
+					<th class="column-header">Feature Categor(ies)</th>
+				</tr>
+				<xsl:for-each select="feature[not(contains(@id,'papyrus'))]">
+					<xsl:sort select="@id" />
+					<xsl:variable name="rowCol">
+						<xsl:if test="position() mod 2 = 1">
+							#EEEEEE
+						</xsl:if>
+						<xsl:if test="position() mod 2 = 0">
+							#FFFFFF
+						</xsl:if>
+					</xsl:variable>
+
+					<tr style="background-color:{$rowCol}">
+						<td class="rowLine">
+							<a href="{@url}" style="font-size:x-small">
+								<xsl:value-of select="@id" />
+							</a>
+						</td>
+						<td>
+							<span style="font-size:x-small">
+								<xsl:value-of select="@version" />
+							</span>
+						</td>
+						<td>
+							<xsl:choose>
+								<xsl:when test="category">
+									<xsl:for-each select="category">
+										<span style="font-size:x-small">
+											|
+											<xsl:value-of select="@name" />
+										</span>
+									</xsl:for-each>
+								</xsl:when>
+							</xsl:choose>
+						</td>
+					</tr>
+				</xsl:for-each>
+			</xsl:if-->
+
+			<tr style="background-color:#DDDDDD">
+				<th class="column-header">Feature</th>
+				<th class="column-header">Version</th>
+				<th class="column-header">Feature Categor(ies)</th>
+			</tr>
+			<tr style="background-color:#EEEEEE">
+				<td class="rowLine" colspan="1">
+					<a href="artifacts.jar" style="font-size:x-small">artifacts.jar</a>
+					::
+					<a href="content.jar" style="font-size:x-small">content.jar</a>
+				</td>
+				<td class="rowLine" colspan="1">
+					::
+					<a href="plugins/" style="font-size:x-small">plugins</a>
+				<xsl:if test="count(feature)>0">
+					::
+					<a href="features/" style="font-size:x-small">features</a>
+				</xsl:if>
+				</td>
+				<td class="rowLine" colspan="1">
+				<xsl:if test="count(feature[contains(@id,'papyrus')])>0">
+					<a href="category.xml" style="font-size:x-small">category.xml</a>
+					::
+					<a href="buildinfo.json" style="font-size:x-small">buildinfo.json</a>
+					::
+					<a href="site.properties" style="font-size:x-small">site.properties</a>
+				</xsl:if>
+				</td>
+			</tr>
+		</table>
+		<br />
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/releng/org.eclipse.papyrus.sysml16.product/.project b/releng/org.eclipse.papyrus.sysml16.product/.project
new file mode 100644
index 0000000..cf60943
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.product/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.product</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/releng/org.eclipse.papyrus.sysml16.product/.settings/org.eclipse.core.resources.prefs b/releng/org.eclipse.papyrus.sysml16.product/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.product/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/releng/org.eclipse.papyrus.sysml16.product/.settings/org.eclipse.m2e.core.prefs b/releng/org.eclipse.papyrus.sysml16.product/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.product/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/releng/org.eclipse.papyrus.sysml16.product/category.xml b/releng/org.eclipse.papyrus.sysml16.product/category.xml
new file mode 100644
index 0000000..6b39b25
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.product/category.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+   <feature url="features/org.eclipse.papyrus.sysml16.feature_1.0.0.qualifier.jar" id="org.eclipse.papyrus.sysml16.feature" version="1.0.0.qualifier"/>
+</site>
diff --git a/releng/org.eclipse.papyrus.sysml16.product/papyrusSysml.product b/releng/org.eclipse.papyrus.sysml16.product/papyrusSysml.product
new file mode 100644
index 0000000..f1a2356
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.product/papyrusSysml.product
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product name="Papyrus SysML 1.6" uid="org.eclipse.papyrus.sysml16.product" id="org.eclipse.papyrus.sysml16.rcp.product" application="org.eclipse.ui.ide.workbench" version="1.0.0.qualifier" useFeatures="true" includeLaunchers="true">
+
+   <aboutInfo>
+      <image path="/org.eclipse.papyrus.sysml16.rcp/icons/papyrus_lg.png"/>
+      <text>
+         Papyrus SysML 1.6 
+
+(c) Copyright Eclipse contributors and others 2000, 2019.  All rights reserved.
+Visit http://www.eclipse.org/platform
+
+This product includes software developed by the
+Apache Software Foundation http://www.apache.org/
+      </text>
+   </aboutInfo>
+
+   <configIni use="default">
+   </configIni>
+
+   <launcherArgs>
+      <programArgs>-showsplash org.eclipse.papyrus.sysml16.rcp --launcher.XXMaxPermSize 256m
+      </programArgs>
+      <vmArgs>-Xms256m -Xmx1024m -XX:MaxPermSize=256m
+      </vmArgs>
+      <vmArgsMac>-Xdock:icon=../Resources/papyrus.icns -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+      </vmArgsMac>
+   </launcherArgs>
+
+   <windowImages i16="/org.eclipse.papyrus.sysml16.rcp/icons/papyrus16.png" i32="/org.eclipse.papyrus.sysml16.rcp/icons/papyrus32.png" i48="/org.eclipse.papyrus.sysml16.rcp/icons/papyrus48.png" i64="/org.eclipse.papyrus.sysml16.rcp/icons/papyrus64.png" i128="/org.eclipse.papyrus.sysml16.rcp/icons/papyrus128.png"/>
+
+   <splash
+      location="org.eclipse.papyrus.sysml16.rcp"
+      startupProgressRect="0,330,460,20"
+      startupMessageRect="7,4,445,16"
+      startupForegroundColor="9C9E9F" />
+   <launcher name="papyrusSysML">
+      <linux icon="../org.eclipse.papyrus.sysml16.rcp/icons/icon.xpm"/>
+      <macosx icon="../org.eclipse.papyrus.sysml16.rcp/icons/papyrus.icns"/>
+      <win useIco="true">
+         <ico path="../org.eclipse.papyrus.sysml16.rcp/icons/papyrus.ico"/>
+         <bmp/>
+      </win>
+   </launcher>
+
+   <vm>
+      <windows include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</windows>
+   </vm>
+
+   <license>
+        <url>http://eclipse.org/legal/epl/notice.php</url>
+        <text>
+Eclipse Foundation Software User Agreement
+November 22, 2017
+
+Usage Of Content
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.
+
+Applicable Licenses
+Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-2.0. For purposes of the EPL, "Program" will mean the Content.
+
+Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").
+
+Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
+Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
+A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
+Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
+The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:
+
+The top-level (root) directory
+Plug-in and Fragment directories
+Inside Plug-ins and Fragments packaged as JARs
+Sub-directories of the directory named "src" of certain Plug-ins
+Feature directories
+Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in that directory.
+
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):
+
+Eclipse Public License Version 2.0 (available at http://www.eclipse.org/legal/epl-2.0)
+Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
+Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
+Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
+Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
+Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.
+
+Use of Provisioning Technology
+The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").
+
+You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:
+
+A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based product.
+During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be accessed and copied to the Target Machine.
+Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
+Cryptography
+Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.
+
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.
+         </text>
+   </license>
+
+   <plugins>
+   </plugins>
+
+   <features>
+      <feature id="org.eclipse.platform"/>
+      <feature id="org.eclipse.rcp"/>
+      <feature id="org.eclipse.equinox.p2.user.ui"/>
+      <feature id="org.eclipse.ecf.filetransfer.httpclient4.feature"/>
+      <feature id="org.eclipse.help"/>
+      <feature id="org.eclipse.equinox.p2.core.feature"/>
+      <feature id="org.eclipse.ecf.core.ssl.feature"/>
+      <feature id="org.eclipse.ecf.filetransfer.ssl.feature"/>
+      <feature id="org.eclipse.equinox.p2.rcp.feature"/>
+      <feature id="org.eclipse.ecf.filetransfer.feature"/>
+      <feature id="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature"/>
+      <feature id="org.eclipse.emf.common"/>
+      <feature id="org.eclipse.emf.ecore"/>
+      <feature id="org.eclipse.equinox.p2.extras.feature"/>
+      <feature id="org.eclipse.ecf.core.feature"/>
+      <feature id="org.eclipse.e4.rcp"/>
+      <feature id="org.eclipse.papyrus.sysml16.feature"/>
+      <feature id="org.eclipse.papyrus.sysml16.rcp.feature"/>
+      <feature id="org.eclipse.papyrus.sdk.feature" />
+   </features>
+
+   <configurations>
+      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="4" />
+      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
+      <plugin id="org.apache.felix.scr" autoStart="true" startLevel="1" />
+      <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.p2.reconciler.dropins" autoStart="true" startLevel="4" />
+      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
+      <plugin id="org.eclipse.update.configurator" autoStart="true" startLevel="3" />
+      <property name="org.eclipse.update.reconcile" value="false" />
+      <property name="osgi.bundles.defaultStartLevel" value="4" />
+      <property name="osgi.instance.area.default" value="@user.home/workspace-papyrus-sysml" />
+      <property name="osgi.requiredJavaVersion" value="1.8" />
+   </configurations>
+
+   <repositories>
+      <repository location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml16/" enabled="true" />
+      <repository location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12" enabled="true" />
+   </repositories>
+
+   <preferencesInfo>
+      <targetfile overwrite="true"/>
+   </preferencesInfo>
+
+   <cssInfo>
+   </cssInfo>
+
+</product>
diff --git a/releng/org.eclipse.papyrus.sysml16.product/pom.xml b/releng/org.eclipse.papyrus.sysml16.product/pom.xml
new file mode 100644
index 0000000..7c1d5b7
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.product/pom.xml
@@ -0,0 +1,66 @@
+<?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/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.releng</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.product</artifactId>
+	<packaging>eclipse-repository</packaging>
+	<properties>
+		<product-id>org.eclipse.papyrus.sysml16.product</product-id>
+	</properties>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-p2-repository-plugin</artifactId>
+				<configuration>
+					<includeAllDependencies>true</includeAllDependencies>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-p2-director-plugin</artifactId>
+				<configuration>
+					<profile>org.eclipse.papyrus.sysml</profile>
+					<formats>
+						<linux>zip</linux>
+						<macosx>tar.gz</macosx>
+					</formats>
+					<products>
+						<product>
+							<id>${product-id}</id>
+							<rootFolder>papyrusSysML1.6</rootFolder>
+						</product>
+					</products>
+				</configuration>
+				<executions>
+					<execution>
+						<id>materialize-products</id>
+						<goals>
+							<goal>materialize-products</goal>
+						</goals>
+					</execution>
+					<execution>
+						<id>archive-products</id>
+						<goals>
+							<goal>archive-products</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-deploy-plugin</artifactId>
+				<configuration>
+					<skip>true</skip>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+	<name>org.eclipse.papyrus.sysml16.product</name>
+	<description>This plugins defines the product used in the RCP SysML 1.6.</description>
+</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/.classpath b/releng/org.eclipse.papyrus.sysml16.rcp/.classpath
new file mode 100644
index 0000000..323b07b
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/.project b/releng/org.eclipse.papyrus.sysml16.rcp/.project
new file mode 100644
index 0000000..4bea12f
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.rcp</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/.settings/org.eclipse.core.resources.prefs b/releng/org.eclipse.papyrus.sysml16.rcp/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/.settings/org.eclipse.jdt.core.prefs b/releng/org.eclipse.papyrus.sysml16.rcp/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/.settings/org.eclipse.m2e.core.prefs b/releng/org.eclipse.papyrus.sysml16.rcp/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/META-INF/MANIFEST.MF b/releng/org.eclipse.papyrus.sysml16.rcp/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..3944836
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.rcp;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Description: %Bundle-Description
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.e4.ui.css.swt.theme;bundle-version="[0.10.0,1.0.0)"
+Eclipse-BundleShape: dir
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.rcp
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/build.properties b/releng/org.eclipse.papyrus.sysml16.rcp/build.properties
new file mode 100644
index 0000000..74d64ad
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/build.properties
@@ -0,0 +1,7 @@
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               splash.bmp,\
+               icons/,\
+               plugin_customization.ini,\
+               plugin.properties  
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/icons/icon.xpm b/releng/org.eclipse.papyrus.sysml16.rcp/icons/icon.xpm
new file mode 100644
index 0000000..f23f89b
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/icons/icon.xpm
@@ -0,0 +1,303 @@
+/* XPM */
+static char * C:\Users\fn224852\Workspaces\Keulkeul\org_eclipse_papyrus_rcp\icons\icon_xpm[] = {
+"256 256 44 1",
+" 	c None",
+".	c #98BF06",
+"+	c #1C99B6",
+"@	c #88AA08",
+"#	c #75910B",
+"$	c #76910B",
+"%	c #87A908",
+"&	c #97BE06",
+"*	c #7D9C0B",
+"=	c #546411",
+"-	c #3A4315",
+";	c #212218",
+">	c #19171A",
+",	c #1E1D19",
+"'	c #333916",
+")	c #495712",
+"!	c #809F0A",
+"~	c #90B408",
+"{	c #4C5B11",
+"]	c #1A181A",
+"^	c #4D5C11",
+"/	c #8FB308",
+"(	c #78950B",
+"_	c #242519",
+":	c #262818",
+"<	c #8BAE08",
+"[	c #7C9B0B",
+"}	c #373F15",
+"|	c #8AAD08",
+"1	c #202019",
+"2	c #8BAD08",
+"3	c #363E15",
+"4	c #323816",
+"5	c #7D9C0A",
+"6	c #96BC06",
+"7	c #576910",
+"8	c #282B18",
+"9	c #252619",
+"0	c #647A0F",
+"a	c #84A509",
+"b	c #60750E",
+"c	c #495612",
+"d	c #495512",
+"e	c #677E0E",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                        ...........                                                             ",
+"                                                                                                                                                                            .............................                                                       ",
+"                                                                                                                                                                      ......................................                                                    ",
+"                                                                                                                                                                  ............................................                                                  ",
+"                                                                                                                                                               .................................................                                                ",
+"                                                                                                                                                            ......................................................   ++                                         ",
+"                                                                                                                                                         ...........................................................  ++++                                      ",
+"                                                                                                                                                       ..............................................................  ++++++                                   ",
+"                                                                                                                                                     .................................................................   +++++                                  ",
+"                                                                                                                                                   ....................................................................   ++++++                                ",
+"                                                                                                                                                 .......................................................................   ++++++                               ",
+"                                                                                                                                                .........................................................................   ++++++                              ",
+"                                                                                                                                              ............................................................................  +++++++                             ",
+"                                                                                                                                             ..............................................................................  +++++++                            ",
+"                                                                                                                                            ...............................................................................   +++++++                           ",
+"                                                                                                                                           .................................................................................   +++++++                          ",
+"                                                                                                                                         ...................................................................................   ++++++++                         ",
+"                                                                                                                                        .....................................................................................   +++++++                         ",
+"                                                                                                                                       ......................................................................................   ++++++++                        ",
+"                                                                                                                                       ........................................@#$%&..........................................   ++++++++                       ",
+"                                                                                                                                      .....................................*=-;>>>>,')!.......................................   +++++++++                      ",
+"                                                                                                                                     ....................................~{]>>>>>>>>>>]^/......................................  +++++++++                      ",
+"                                                                                                                             >>>>>  ....................................(_>>>>>>>>>>>>>>:<.....................................   +++++++++                     ",
+"                                                                                                                    >>>>>>>>>>>>>   ....................................'>>>>>>>>>>>>>>>>{.....................................   ++++++++++                    ",
+"                                                                                                               >>>>>>>>>>>>>>>>>>  ....................................[>>>>>>>>>>>>>>>>>}.....................................   ++++++++++                    ",
+"                                                                                                          >>>>>>>>>>>>>>>>>>>>>>  .....................................|>>>>>>>>>>>>>>>>>)......................................   ++++++++++                   ",
+"                                                                                                     >>>>>>>>>>>>>>>>>>>>>>>>>>>  ......................................'>>>>>>>>>>>>>>>1%......................................   +++++++++++                  ",
+"                                                                                                 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   ......................................23>>>>>>>>>>>>>45.......................................   +++++++++++                  ",
+"                                                                                             >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  ........................................678>>>>>>>>>90&.........................................  ++++++++++++                 ",
+"                                                                                         >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   ...........................................abcddd^ea............................................  +++++++++++++                ",
+"                                                                                      >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  .................................................................................................   ++++++++++++                ",
+"                                                                                    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  .................................................................................................   +++++++++++++               ",
+"                                                                                 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   .................................................................................................   +++++++++++++               ",
+"                                                                              >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   .................................................................................................   ++++++++++++++              ",
+"                                                                           >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  ..................................................................................................   ++++++++++++++              ",
+"                                                                         >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  ..................................................................................................   +++++++++++++++             ",
+"                                                                       >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  ..................................................................................................   +++++++++++++++             ",
+"                                                                     >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   ...................................................................................................  ++++++++++++++++            ",
+"                                                                   >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   ...................................................................................................  ++++++++++++++++            ",
+"                                                                >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  ...................................................................................................  +++++++++++++++++           ",
+"                                                              >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  ...................................................................................................  +++++++++++++++++           ",
+"                                                             >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  ...................................................................................................  ++++++++++++++++++          ",
+"                                                           >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  ...................................................................................................  ++++++++++++++++++          ",
+"                                                         >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   ..................................................................................................  +++++++++++++++++++         ",
+"                                                        >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   .................................................................................................   +++++++++++++++++++         ",
+"                                                      >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   .................................................................................................   ++++++++++++++++++++        ",
+"                                                    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   ................................................................................................   ++++++++++++++++++++        ",
+"                                                   >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   ................................................................................................   ++++++++++++++++++++        ",
+"                                                 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   ...............................................................................................   +++++++++++++++++++++       ",
+"                                                >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   ...............................................................................................   +++++++++++++++++++++       ",
+"                                               >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   ..............................................................................................  ++++++++++++++++++++++       ",
+"                                             >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   .............................................................................................  +++++++++++++++++++++++      ",
+"                                            >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    ............................................................................................  +++++++++++++++++++++++      ",
+"                                           >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    ...........................................................................................  ++++++++++++++++++++++++     ",
+"                                         >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    .........................................................................................   ++++++++++++++++++++++++     ",
+"                                        >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   ........................................................................................   ++++++++++++++++++++++++     ",
+"                                       >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    ......................................................................................   ++++++++++++++++++++++++     ",
+"                                      >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    ....................................................................................  ++++++++++++++++++++++++++    ",
+"                                     >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                 .................................................................................   ++++++++++++++++++++++++++    ",
+"                                    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                             ...............................................................................   ++++++++++++++++++++++++++    ",
+"                                   >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                       ............................................................................   ++++++++++++++++++++++++++    ",
+"                                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                 ........................................................................  ++++++++++++++++++++++++++++   ",
+"                                 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                          ...................................................................  ++++++++++++++++++++++++++++   ",
+"                                >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                      ..........................................................   ++++++++++++++++++++++++++++   ",
+"                               >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                               .....................................................   ++++++++++++++++++++++++++++   ",
+"                              >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                    ...................................................  ++++++++++++++++++++++++++++++  ",
+"                             >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                        ..................................................  ++++++++++++++++++++++++++++++  ",
+"                            >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                             ................................................   ++++++++++++++++++++++++++++++  ",
+"                           >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                               ................................................   ++++++++++++++++++++++++++++++  ",
+"                          >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                   ...............................................  +++++++++++++++++++++++++++++++  ",
+"                         >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                     ..............................................   +++++++++++++++++++++++++++++++  ",
+"                         >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                         .............................................  +++++++++++++++++++++++++++++++++ ",
+"                        >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                           ............................................   +++++++++++++++++++++++++++++++++ ",
+"                       >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                             ............................................   +++++++++++++++++++++++++++++++++ ",
+"                      >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                               ............................................  ++++++++++++++++++++++++++++++++++ ",
+"                      >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                 ...........................................   ++++++++++++++++++++++++++++++++++ ",
+"                     >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                   ...........................................   ++++++++++++++++++++++++++++++++++ ",
+"                    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                     ..........................................   +++++++++++++++++++++++++++++++++++ ",
+"                    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                      ...........................................   +++++++++++++++++++++++++++++++++++ ",
+"                   >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                        ...........................................  +++++++++++++++++++++++++++++++++++++",
+"                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                         ..........................................   +++++++++++++++++++++++++++++++++++++",
+"                  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                          ...........................................  ++++++++++++++++++++++++++++++++++++++",
+"                 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                           ..........................................   ++++++++++++++++++++++++++++++++++++++",
+"                >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                             ..........................................  +++++++++++++++++++++++++++++++++++++++",
+"                >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                             ..........................................   +++++++++++++++++++++++++++++++++++++++",
+"               >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                               ..........................................  ++++++++++++++++++++++++++++++++++++++++",
+"               >>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                               ..........................................   ++++++++++++++++++++++++++++++++++++++++",
+"              >>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                               ...........................................  +++++++++++++++++++++++++++++++++++++++++",
+"              >>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                                ...........................................   +++++++++++++++++++++++++++++++++++++++++",
+"             >>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                                 ...........................................  ++++++++++++++++++++++++++++++++++++++++++",
+"            >>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                                 ...........................................   ++++++++++++++++++++++++++++++++++++++++++",
+"            >>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                                 ............................................  +++++++++++++++++++++++++++++++++++++++++++",
+"            >>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                                   ...........................................   +++++++++++++++++++++++++++++++++++++++++++",
+"           >>>>>>>>>>>>>>>>>>>>>>>>                                                                                                                                   ............................................  ++++++++++++++++++++++++++++++++++++++++++++",
+"           >>>>>>>>>>>>>>>>>>>>>>>                                                                                                                                   ............................................   ++++++++++++++++++++++++++++++++++++++++++++",
+"          >>>>>>>>>>>>>>>>>>>>>>>                                                                                                                                   .............................................  +++++++++++++++++++++++++++++++++++++++++++++",
+"          >>>>>>>>>>>>>>>>>>>>>>                                                                                                                                    ............................................  ++++++++++++++++++++++++++++++++++++++++++++++",
+"         >>>>>>>>>>>>>>>>>>>>>>                                                                                                                                    .............................................  +++++++++++++++++++++++++++++++++++++++++++++ ",
+"         >>>>>>>>>>>>>>>>>>>>>                                                                                                                                    .............................................  ++++++++++++++++++++++++++++++++++++++++++++++ ",
+"        >>>>>>>>>>>>>>>>>>>>>                                                                                                                                    .............................................   ++++++++++++++++++++++++++++++++++++++++++++++ ",
+"        >>>>>>>>>>>>>>>>>>>>                                                                                                                                     .............................................  +++++++++++++++++++++++++++++++++++++++++++++++ ",
+"        >>>>>>>>>>>>>>>>>>>                                                                                                                                     .............................................  ++++++++++++++++++++++++++++++++++++++++++++++++ ",
+"       >>>>>>>>>>>>>>>>>>>                                                                                                                                     .............................................   ++++++++++++++++++++++++++++++++++++++++++++++++ ",
+"       >>>>>>>>>>>>>>>>>>                                                                                                                                     ..............................................  +++++++++++++++++++++++++++++++++++++++++++++++++ ",
+"       >>>>>>>>>>>>>>>>>                                                                                                                                      .............................................  ++++++++++++++++++++++++++++++++++++++++++++++++++ ",
+"      >>>>>>>>>>>>>>>>>                                                                                                                                      .............................................   ++++++++++++++++++++++++++++++++++++++++++++++++++ ",
+"      >>>>>>>>>>>>>>>>                                                                                                                                       .............................................  ++++++++++++++++++++++++++++++++++++++++++++++++++  ",
+"      >>>>>>>>>>>>>>>                                                                                                                                       .............................................  +++++++++++++++++++++++++++++++++++++++++++++++++++  ",
+"     >>>>>>>>>>>>>>>                                                                                                                                       ..............................................  +++++++++++++++++++++++++++++++++++++++++++++++++++  ",
+"     >>>>>>>>>>>>>>>                                                                                                                                       .............................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++  ",
+"     >>>>>>>>>>>>>>                                                                                                                                       .............................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++  ",
+"    >>>>>>>>>>>>>>                                                                                                                                       .............................................   ++++++++++++++++++++++++++++++++++++++++++++++++++++   ",
+"    >>>>>>>>>>>>>                                                                                                                                        .............................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++   ",
+"    >>>>>>>>>>>>                                                                                                                                        .............................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++++   ",
+"    >>>>>>>>>>>>                                                                                                                                       .............................................   ++++++++++++++++++++++++++++++++++++++++++++++++++++++   ",
+"   >>>>>>>>>>>>                                                                                                                                        ............................................   ++++++++++++++++++++++++++++++++++++++++++++++++++++++    ",
+"   >>>>>>>>>>>                                                                                                                                        .............................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++    ",
+"   >>>>>>>>>>                                                                                                                                        .............................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++    ",
+"   >>>>>>>>>>                                                                                                                                        ............................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++    ",
+"  >>>>>>>>>>                                                                                                                                        ............................................   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++     ",
+"  >>>>>>>>>                                                                                                                                         ............................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++     ",
+"  >>>>>>>>>                                                                                                                                        ............................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     ",
+"  >>>>>>>>                                                                                                                                         ...........................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++      ",
+"  >>>>>>>>                                                                                                                                        ...........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++      ",
+"  >>>>>>>                                                                                                                                        ...........................................   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++      ",
+" >>>>>>>                                                                                                                                         ...........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++       ",
+" >>>>>>>                                                                                                                                        ...........................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++       ",
+" >>>>>>                                                                                                                                         ..........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++       ",
+" >>>>>>                                                                                                                                        ..........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++        ",
+" >>>>>                                                                                                                                         .........................................   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++        ",
+" >>>>                                                                                                                                         ..........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++         ",
+" >>>>                                                                                                                                         .........................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++         ",
+" >>>                                                                                                                                         .........................................   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++         ",
+">>>>                                                                                                                                         .........................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++          ",
+">>>                                                                                                                                         .........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++          ",
+">>>                                                                                                                                         ........................................   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++           ",
+">>>                                                                                                                                        .........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++           ",
+">>                                                                                                                                         ........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++            ",
+">>                                                                                                                                        ........................................   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++            ",
+">                                                                                                                                         ........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++             ",
+"                                                                                                                                         ........................................   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++             ",
+"                                                                                                                                         ........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++              ",
+"                                                                                                                                        ........................................   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++              ",
+"                                                                                                                                        ........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++               ",
+"                                                                                                                                       ........................................   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++               ",
+"                                                                                                                                       ........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                ",
+"                                                                                                                                      ........................................   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                 ",
+"                                                                                                                                      ........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                 ",
+"                                                                                                                                      .......................................   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                  ",
+"                                                                                                                                     ........................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                   ",
+"                                                                                                                                     .......................................   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                   ",
+"                                                                                                                                    ........................................   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                    ",
+"                                                                                                                                    ........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                     ",
+"                                                                                                                                    .......................................   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                     ",
+"                                                                                                                                   ........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                      ",
+"                                                                                                                                   ........................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                       ",
+"                                                                                                                                  ........................................   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                        ",
+"                                                                                                                                  ........................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                        ",
+"                                                                                                                                  ........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                         ",
+"                                                                                                                                 ........................................   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                          ",
+"                                                                                                                                 ........................................   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++                           ",
+"                                                                                                                                 ........................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                           ",
+"                                                                                                                                ........................................   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++                            ",
+"                                                                                                                                ........................................   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++                             ",
+"                                                                                                                                ........................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++                              ",
+"                                                                                                                               .........................................  +++++++++++++++++++++++++++++++++++++++++++++++++++++++                               ",
+"                                                                                                                               ........................................   ++++++++++++++++++++++++++++++++++++++++++++++++++++++                                ",
+"                                                                                                                               ........................................   +++++++++++++++++++++++++++++++++++++++++++++++++++++                                 ",
+"                                                                                                                              .........................................   ++++++++++++++++++++++++++++++++++++++++++++++++++++                                  ",
+"                                                                                                                              .........................................  ++++++++++++++++++++++++++++++++++++++++++++++++++++                                   ",
+"                                                                                                                              ........................................   +++++++++++++++++++++++++++++++++++++++++++++++++++                                    ",
+"                                                                                                                              ........................................   ++++++++++++++++++++++++++++++++++++++++++++++++++                                     ",
+"                                                                                                                             .........................................   +++++++++++++++++++++++++++++++++++++++++++++++++                                      ",
+"                                                                                                                             .........................................  +++++++++++++++++++++++++++++++++++++++++++++++++                                       ",
+"                                                                                                                             .........................................  ++++++++++++++++++++++++++++++++++++++++++++++++                                        ",
+"                                                                                                                             .........................................  +++++++++++++++++++++++++++++++++++++++++++++++                                         ",
+"                                                                                                                            .........................................   ++++++++++++++++++++++++++++++++++++++++++++++                                          ",
+"                                                                                                                            .........................................   ++++++++++++++++++++++++++++++++++++++++++++                                            ",
+"                                                                                                                            .........................................   +++++++++++++++++++++++++++++++++++++++++++                                             ",
+"                                                                                                                            .........................................   ++++++++++++++++++++++++++++++++++++++++++                                              ",
+"                                                                                                                           ..........................................   +++++++++++++++++++++++++++++++++++++++++                                               ",
+"                                                                                                                           ..........................................  +++++++++++++++++++++++++++++++++++++++++                                                ",
+"                                                                                                                           ..........................................  +++++++++++++++++++++++++++++++++++++++                                                  ",
+"                                                                                                                           .........................................   ++++++++++++++++++++++++++++++++++++++                                                   ",
+"                                                                                                                           .........................................   +++++++++++++++++++++++++++++++++++++                                                    ",
+"                                                                                                                          ..........................................   +++++++++++++++++++++++++++++++++++                                                      ",
+"                                                                                                                          ..........................................   ++++++++++++++++++++++++++++++++++                                                       ",
+"                                                                                                                          ..........................................   ++++++++++++++++++++++++++++++++                                                         ",
+"                                                                                                                          ..........................................   +++++++++++++++++++++++++++++++                                                          ",
+"                                                                                                                          ..........................................   +++++++++++++++++++++++++++++                                                            ",
+"                                                                                                                          ..........................................   ++++++++++++++++++++++++++++                                                             ",
+"                                                                                                                         ...........................................   ++++++++++++++++++++++++++                                                               ",
+"                                                                                                                         ...........................................   ++++++++++++++++++++++++                                                                 ",
+"                                                                                                                         ...........................................   ++++++++++++++++++++++                                                                   ",
+"                                                                                                                         ...........................................   ++++++++++++++++++++                                                                     ",
+"                                                                                                                         ...........................................   ++++++++++++++++++                                                                       ",
+"                                                                                                                         ...........................................   +++++++++++++++++                                                                        ",
+"                                                                                                                         ...........................................   +++++++++++++++                                                                          ",
+"                                                                                                                         ...........................................   ++++++++++++                                                                             ",
+"                                                                                                                         ...........................................   ++++++++++                                                                               ",
+"                                                                                                                         ...........................................   +++++++                                                                                  ",
+"                                                                                                                        ............................................   +++++                                                                                    ",
+"                                                                                                                        ............................................   ++                                                                                       ",
+"                                                                                                                        ............................................                                                                                            ",
+"                                                                                                                        ............................................                                                                                            ",
+"                                                                                                                        .........................................                                                                                               ",
+"                                                                                                                        .....................................                                                                                                   ",
+"                                                                                                                        .................................                                                                                                       ",
+"                                                                                                                        .............................                                                                                                           ",
+"                                                                                                                        ........................                                                                                                                ",
+"                                                                                                                         .................                                                                                                                      ",
+"                                                                                                                          .......                                                                                                                               ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                "};
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus.icns b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus.icns
new file mode 100644
index 0000000..931bc12
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus.icns
Binary files differ
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus.ico b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus.ico
new file mode 100644
index 0000000..ef635cc
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus.ico
Binary files differ
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus.svg b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus.svg
new file mode 100644
index 0000000..b0139f9
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="256"
+   height="256"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="papyrus.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.99999999"
+     inkscape:cx="98.541937"
+     inkscape:cy="421.45466"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1324"
+     inkscape:window-height="995"
+     inkscape:window-x="196"
+     inkscape:window-y="335"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Calque 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-796.36218)">
+    <g
+       id="g3897"
+       inkscape:export-xdpi="3.8683043"
+       inkscape:export-ydpi="3.8683043"
+       transform="matrix(0.68769854,0,0,0.68769854,-93.851334,781.47584)">
+      <path
+         style="fill:#98bf06;fill-opacity:1"
+         clip-path="none"
+         d="m 408.97162,54.007189 c -26.21801,0.525114 -54.90464,6.033768 -74.33433,25.001884 -11.73097,11.961376 -19.27216,32.850907 -8.22812,47.623117 12.26616,15.24526 33.19469,18.1222 51.5,19.75 9.98482,1.20261 15.93883,11.82567 12.41905,21.10367 -3.98575,14.71792 -16.02793,24.70108 -23.8251,37.27133 -29.41059,43.10377 -52.60154,92.68463 -55.28458,145.54029 -0.46747,8.17781 -1.90972,12.30723 9.44599,11.16979 18.61764,-1.32328 37.08148,-4.89613 54.83899,-10.64758 -3.53804,-42.07217 7.88427,-86.56369 36.68745,-118.1875 20.0335,-24.58532 37.189,-52.17015 46.78133,-82.60045 6.34035,-24.15242 9.81281,-52.079963 -3.25043,-74.649501 -9.39375,-16.109223 -28.95526,-22.422386 -46.75025,-21.37505 z"
+         id="path2987-4"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccccccccccc" />
+      <path
+         clip-path="none"
+         sodipodi:nodetypes="sscscsssssss"
+         inkscape:connector-curvature="0"
+         id="path2987-1"
+         d="m 392.78412,82.319689 c -4.65185,0.2088 -8.92238,1.77276 -11.09375,4.125 -0.97268,1.05368 -1.368,1.89239 -1.4375,3.15625 -0.0709,1.29031 0.18899,2.0884 0.96875,3.125 1.53115,2.03545 4.47449,3.43158 8.5,4 1.67701,0.23681 4.5534,0.22825 6.28125,0 1.49012,-0.19685 3.98118,-0.7703 4.71875,-1.09375 2.26284,-0.9923 3.10321,-1.49557 4.15625,-2.5 1.34906,-1.28678 1.86275,-2.48545 1.78125,-4.0625 -0.0657,-1.27297 -0.49177,-2.17933 -1.5625,-3.25 -2.10445,-2.10437 -5.70429,-3.31968 -10.28125,-3.5 -0.67484,-0.0266 -1.3667,-0.0298 -2.03125,0 z"
+         style="fill:#19171a;fill-opacity:1" />
+      <path
+         style="fill:#19171a;fill-opacity:1"
+         clip-path="none"
+         d="m 325.56537,85.475939 c -53.40066,4.647009 -108.83756,22.459411 -145.7999,63.113601 -26.6642,29.24111 -42.13429,68.31937 -43.29385,107.8239 1.50901,3.93551 6.09608,-11.94132 9.28591,-15.52472 25.70637,-47.60497 73.03762,-81.35547 125.10367,-94.44372 21.44373,-5.73511 43.65566,-8.38935 65.82917,-8.34406 -17.66304,-4.92809 -23.58309,-26.95325 -16.19886,-42.345682 1.07845,-3.593733 4.15315,-7.2029 5.07386,-10.279319 z"
+         id="path2987-7"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccccc" />
+      <path
+         style="fill:#1c99b6;fill-opacity:1"
+         clip-path="none"
+         d="m 444.90912,60.132189 c 6.36987,5.135024 13.85183,11.568139 17.29314,19.896545 10.24546,22.494396 6.64465,48.570146 0.008,71.564536 -10.93284,32.92456 -30.42714,62.35128 -52.92597,88.44517 -23.56528,30.73566 -32.93274,70.97672 -29.46875,109.2499 56.66437,-19.26375 105.93814,-64.6337 122.56209,-123.03701 14.4371,-48.63801 3.73497,-103.37143 -26.79437,-143.735831 -6.7716,-10.746143 -15.99194,-19.687077 -28.99536,-21.692472 -0.62433,0.07133 -1.04379,-0.798706 -1.67866,-0.690838 z"
+         id="path2987-0"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+</svg>
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus128.png b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus128.png
new file mode 100644
index 0000000..8f4be4d
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus128.png
Binary files differ
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus16.png b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus16.png
new file mode 100644
index 0000000..2e7df25
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus16.png
Binary files differ
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus256.png b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus256.png
new file mode 100644
index 0000000..f5f2aa1
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus256.png
Binary files differ
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus32.png b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus32.png
new file mode 100644
index 0000000..f2609c1
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus32.png
Binary files differ
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus48.png b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus48.png
new file mode 100644
index 0000000..b17118b
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus48.png
Binary files differ
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus64.png b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus64.png
new file mode 100644
index 0000000..9e3d56b
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus64.png
Binary files differ
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus_lg.png b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus_lg.png
new file mode 100644
index 0000000..6117d40
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/icons/papyrus_lg.png
Binary files differ
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/icons/splash.svg b/releng/org.eclipse.papyrus.sysml16.rcp/icons/splash.svg
new file mode 100644
index 0000000..1173a78
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/icons/splash.svg
@@ -0,0 +1,2000 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.2"
+   width="460"
+   height="350"
+   id="svg2"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="splash.svg"
+   inkscape:export-filename="C:\Users\fn224852\Desktop\splash.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="2560"
+     inkscape:window-height="1378"
+     id="namedview289"
+     showgrid="false"
+     inkscape:zoom="2.3149106"
+     inkscape:cx="115.99809"
+     inkscape:cy="178.58881"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:snap-global="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid4328"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient4178">
+      <stop
+         style="stop-color:#8a8d8e;stop-opacity:1;"
+         offset="0"
+         id="stop4180" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop4182" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5467">
+      <stop
+         style="stop-color:#1f211c;stop-opacity:1;"
+         offset="0"
+         id="stop5469" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop5471" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4142">
+      <stop
+         style="stop-color:#99a3a6;stop-opacity:1;"
+         offset="0"
+         id="stop4144" />
+      <stop
+         style="stop-color:#99a3a6;stop-opacity:0;"
+         offset="1"
+         id="stop4146" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4131">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4133" />
+      <stop
+         style="stop-color:#cfcfcf;stop-opacity:1;"
+         offset="1"
+         id="stop4136" />
+    </linearGradient>
+    <inkscape:path-effect
+       effect="skeletal"
+       id="path-effect5995"
+       is_visible="true"
+       pattern="m 42.95724,199.50163 c 21.810573,-2.35044 67.00436,-7.86778 67.00436,-7.86778 0,0 -44.203563,11.14525 -65.87091,12.34855 -21.667347,1.2033 -117.044805,-2.81425 -117.044805,-2.81425 0,0 94.100783,0.68392 115.911355,-1.66652 z"
+       copytype="single_stretched"
+       prop_scale="1"
+       scale_y_rel="false"
+       spacing="0"
+       normal_offset="0"
+       tang_offset="0"
+       prop_units="false"
+       vertical_pattern="false"
+       fuse_tolerance="0"
+       pattern-nodetypes="zczcz" />
+    <linearGradient
+       id="linearGradient4373">
+      <stop
+         style="stop-color:#80ffff;stop-opacity:1;"
+         offset="0"
+         id="stop4375" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop4377" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4141">
+      <stop
+         style="stop-color:#009dd4;stop-opacity:1;"
+         offset="0"
+         id="stop4143" />
+      <stop
+         style="stop-color:#009dd4;stop-opacity:0;"
+         offset="1"
+         id="stop4145" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4133">
+      <stop
+         style="stop-color:#009dd4;stop-opacity:1;"
+         offset="0"
+         id="stop4135" />
+      <stop
+         style="stop-color:#042531;stop-opacity:1;"
+         offset="1"
+         id="stop4137" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6610">
+      <stop
+         id="stop6612"
+         style="stop-color:#ffffff;stop-opacity:0.2"
+         offset="0" />
+      <stop
+         id="stop6614"
+         style="stop-color:#5e53c7;stop-opacity:0.1882353;"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4210">
+      <stop
+         id="stop4212"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4214"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4004">
+      <stop
+         id="stop4006"
+         style="stop-color:#000000;stop-opacity:0"
+         offset="0" />
+      <stop
+         id="stop4008"
+         style="stop-color:#000000;stop-opacity:0.30136988"
+         offset="1" />
+    </linearGradient>
+    <inkscape:path-effect
+       effect="skeletal"
+       id="path-effect3221"
+       is_visible="true"
+       pattern="M 0,0 1,0"
+       copytype="single_stretched"
+       prop_scale="1"
+       scale_y_rel="false"
+       spacing="0"
+       normal_offset="0"
+       tang_offset="0"
+       prop_units="false"
+       vertical_pattern="false"
+       fuse_tolerance="0" />
+    <inkscape:path-effect
+       effect="skeletal"
+       id="path-effect3204"
+       is_visible="true"
+       pattern="M 0,0 1,0"
+       copytype="single_stretched"
+       prop_scale="1"
+       scale_y_rel="false"
+       spacing="0"
+       normal_offset="0"
+       tang_offset="0"
+       prop_units="false"
+       vertical_pattern="false"
+       fuse_tolerance="0" />
+    <pattern
+       id="sand_bitmap"
+       height="256"
+       width="256"
+       patternUnits="userSpaceOnUse">
+      <!-- Seamless texture provided by FreeSeamlessTextures.com -->
+      <!-- License: creative commons attribution -->
+      <image
+         xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQIAIwAjAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAEEAQQDASIA AhEBAxEB/8QAHQAAAgIDAQEBAAAAAAAAAAAABgcFCAADBAkBAv/EAEIQAAICAAUDBAECBAQFAwEI AwUGBAcBAwgVFgAXJQIRFCYnITUYJDZFEzE3RgkSQVVWKFF1ZTQ4R1dhZmd2hYaV/8QAGQEAAgMB AAAAAAAAAAAAAAAAAgMAAQQF/8QAOxEAAgIBAwMDBAEBBgUDBQEAAQIDERIEEyEAIjEjMkEUQlFh M0MFJFJicYE0U5GhsRVjcnOCwtHh8P/aAAwDAQACEQMRAD8Ar2yC6nrRLre36+zv8FjfJLYn0bZB gQtC2h3u4oHp+yKrW0NbD2BMsbb3w64E0YW+XkMeAhurjgABgAqKg8D+wPiSrpH8dDjAu7T5aNj0 2SsC7aXa4dIVPT9c2MJPRa3wZBEy1IVJQAyq2sEECns9ls+KN9Jdqv2Bgfl9gAfowVFHg6/gWo1U jP03kqf4TW7CYVbOcPmuSxLKK/H62+HW6fLHh1RDH74h2Z3kF+7xvlXI/aIAA58f8+Hwrcp9cviv e5eVVtJu6SSiMCS7I9esn8L6QUKGGD7gnsj5+OD2n9tOLdQE1dXZqzOOwSrjlugD5/nwDz4yRyYT GWZ2dIzIkkfpSNAtbIViXwu3s0w8cfmRLG7wPGmCPNGS2WW45He/gY320LNfnp5J490gZeTm1LDC UPYKGky9N92WQY4HbTQ721qgMOC1zCGnuBCZ8Cj9Q/A+CoaHtn4u4OAPeAAMG/4vi7NM9H5VoJ+o e30rsPlWo2sJAxhIiB2hN55FMEIb5ChrYcc4QVKwIFqJ7N4sZwfm1oo/gPAY8B6WNT2YDr65DJmv baJZzkHq7s+BsIephyh/s3aHdBwcEOGHtRgmHOHwJ3BidNtAwYj9rkkF5/3+/dSNZ0W0XJID1LX1 V0m+SnugYkgAh1OwmHIUXlRf5wzqEtSyEMehqtD3BWjwyLPZtXZhjw7BLR/6H+fnj/UncR4zxzOr yo6ahDD2LAcNwpIztHNXGQfTnHtqsj1IizrLpp4FKRPC8WdHHh8wCoSVMqUkxyJddwahSUjq9fz6 fmD7frGNTK27RrNkaM7lresnxyQ7BfAMMgYmCE9kUB2+VKPfIKejPKur8m4T+/7+A+g4b/2HEdwz bMvJzxuC/kOlgNXJA8lWVftn8NJRhsaKYH2TW91mA8xh/kB6lY0zc1doJowM1VxsHx8Agn+A8B6Y T44ajHyv63zWjPsh8UgLIJTlUbIrKbV1XsLSBQx0NDW4b5Mr9wg8/nnENmRigp5RvzYk7B+Xd/8A Pr/ZUczLV6farQgVLV3zzD/YVHuAH5aeBKCYoFwXjN8J/wAOtyDh7kFKCtoyNyizBm9hQlqVDbqC ffj+D9ifYRKqxsxf1JFTCNMkjv70yYyLIPtaSSWucQOco6wH04Ux2kdmkZspJKwAV8QkQx5oxxJd nLLiuOp7QU3dXsIC2vhK7LGsI3dzxppPWwwh7uKUNbUWYQXLIZHD8f8AB21fbVXjTM0CxiMDdnc0 DAP1B1FwHYH7AqrM5qFTazG2Dm1utmFxxN3dHtS2k/uR257N1KH+GHrdDwQ+SHK07lnLgwWSlNsw xHpMI7bAA5/ivnz6Cgit4PBCwcwzb4HFbs5oW5K9dDsBaFOq3yLXtc02yVet1Wt2oH4+Ham1gAg3 BZrN83TY7RduDoPPsP3/AKgbwHslg2o1WqGuZAW4tqNpap2qZHbA+nOVLVzwevw7IH1IB6THGEdD r89Bhi3loFE2b97w597f54ABkkZpSxZ33akJL5xo7UHijehnhxk2KXa0oHUiXEMmSJg5S0jrOseS MzVX4s0CeeoEdl1PKrMwBynBtGq5KNp7IDcn4nxQPfgWyEE+G+La2tkDBzkEBHrf2ab4Gk0c27c4 2B+QQHn0HrdYGXDq+4JkCxk82H7wVLYKuSiODuYV1evHxoodgZEMPzx9HmAf7HtgxDFszNwnm14f rv8AwFBwAdiu6B3wxUsAo1v82xnxkd2gOnj69Q1eLLPSltgrdP8Ah2oyD2SuQJHvgYWVkXxnfAjt SZz9/wD7BhPtge6FwpdibVWcNVQyS2ryPDcVdshlJbDXJ5bsCtzEwNMD1/g842fbUEwzoyu0LNQH OEuxzgOwAP39gaiuVRvObqlVhqIroX92GX45yI8iupuJK0jOMcc6F3e2I7+B7sgP145vhg0vV9d2 WLtoW0WTGVK5yadbHCt3YwvMmnypbC7Sp6/al2p4dDtSv1uCeYENGuAn7/ZvdISQZ/8Ar4+AAPy/ WlPeE/tWktr5Dwo1Xs5tlh0myLYqdkKUjYe1w18OyPlDhw49bnNqfPgzMVkoLZif9bdogB/wGL97 2ET2tkr6liWUGuAlErSwgktgtSq3BeMNCuvFLkW8A8yGyQ1tPZEcC49udsRilojNjCJO+cBQff36 XinDqsWYcE0XqEbZlXje08hquaSWMNErTgh1fMIQ/eYt/wA4jtrABBzNsw4KT9tkeMGA+A+/e3Sr fZlWR8N2Z2QKM5HjGGLxpa5XZyGQxAXk3wJKrTRrde4k4ovtrN6OF0a7TZDfjqxcN0cBeY4bNVZJ PMmG22VdPyR9hTAKawlbGhjzCG4B/r7JBn19WjUYt+31dX7QdkzZvYN/4DboDgICqINstBI07V7R YauCcO6Upttgw1NTxZr5LQ0jfoZCG+TIemPh8PssngZ3BsWho5zvfCd/2Df9/PoPR5UavX4GPk2X aF5OyHdwdlE1+yDWBecKv5YeoeGwGFswYmMmzg59X74H4wLaBjNvdXeA2AAf8Bh1DvkiWkPhJNgV KbsKkYcnlFe2E4cbq8WWF/DYFtwfFuGtjzEFtsDEGyowx8fBhPukE2NB/fwADwBQiNZsCHldKdlR L2a8TGmOWFmk4ys9w4JGTcC9vYknGfnNODImPGN2vNn/AEPQ2tslfxYeynrU7M1yHpynHiHnV+Jm AXxIcnKq0+h32Yth2S0DDUer/UPVbJ9oVyZM4k1cEOIP0FB6YTQv2AMtQbWmqB2W3y7qZGlmB2hj 9XbKAV2FolIfez5kNwTx4Z4Pd6fhjHmr/wBN8Cef7RH9/AbAAG6PpNDqWHXzGr2Rv2lWpZLZHhu1 gpNb20m0NY1jJ5Awth3DkifDOHSLbO2ysyqv2ztRJSTZzE/v+H0E+AUuWhpaQhmEdoT7kJKSQt6h cENPYJaHYybXt2lDCeYQw9Vw09gW2rtf9wxJvnGWZ4CBDZz8Rffl9+9xZZvQGSN6KRbkMe3/ADVw kubZxjD1YsFzJQZKOiiZMpW2nGb508255+B6aVVcnnK/iuQO/JmXXLBMqWK1O0ym3xtr1f43J+GL tpI37j7JiyGOz5AxOn8ReDAwntiy8nMceD8AP7/+/gPWLUhYF6Wqhn59yEhum+6XwIWRzFhVRU8P a7DpF8qusA9bvkO+GRg3zj7Y1J9G4WgLrMm8GwiSbt0BsHXnvlo4sWLGvltKpJPSGRkYa335IU0/ dKyFvhjjbhM09hzKcHBnmACD3Pa3wmso/m3jf+AoJ/gL8feUxHvTTwLuyVPh/MrkapS7A+GwMK2B 0+yxbQH5gZW5gfvAHrqfZ75R4cmzfrWe9u3B+AgH7+wdNYRNOuWazKiOGKemmdCo3y9S8O44pjxw cuGCN49MxkCHTtMquQ9yK+nrNWjx9GRTKu1Jk9W3b0jUNluNIq8bX2oIlaIEytqVhI9e2pR9mmKv PKcpo4/MMB5kOaQmc834J+vA/BpN2BHgAffQB9+QOp4oUj0YMsg9TZi4zGahu9hMCHnGOz55o2H5 jBMMGXxDmYMiq+bBOT3ni7R+KrR2Q6APoP8ApFsB88F6mL007tFJ2rX1nUBarbZC2kMHCCC8HsZX lyhcNwqtDhvictr6fOQ7QAo75xlpQ6z/AN7Y7/sB/wDz60ttmB3JH1gdy9MbYq3S7JK9H0+NSfw8 XKpGUh2QwTHx8oeq09ghzuH8H/GaHaKMMOOxsJsIDYAFRPp/pChhcLwu2mkqZpz/AHlGMldsZqL2 VbHnIMOFx5Esx3HSVI3VyilPRAxxs1353YIHGNfdn2myX3MsuYBtqwdS1tZKk4VdWUdkGuESq5V8 WEeiGNQOzmEOqzFfrYLVLcAF5sgmTfFcY9PARJpN43+3fP8AAUEAEx3BPA2w4ZtjGKUtUMt+Yzv4 d7N4ueiK8rbw74HreyE/S+HVW2r1Kuds4GLrMmDq7TxSfPwL9h7c+2CHTx5SkZie25q2pMunit5K 6QW3ZgiLcUDwMpW7A4B63T3xDYJqqPcLLo9bWRnKNs3s39+7ur9uH6i6gSC3Nrlwya0qAPvAFlUb CHt5KSkTItjCRcWyOYLbI4Vut2An8Dx5wYRka0GgmMtTtd/UAD8uoIDpjIsb4Rj21hH+bCk936of B8/A6EllfdkXEGtxiadaxxzjo4/IXuN0R5HMjiVoeVUbqrW0cOAldEsji1TE15TY2ipbtsa2rHAO L4iRLg4enU9t9aHTAu3iiH6VgJi7JWL93e386voTBh9rOswi5mKulB8ZCQF3yalsJHJXXcDuhyUM tbabzBbrdbW7HDp5gGpJ9DQbIRlm0Gjc3h25vh+In4AA5AwPx2n12LMolzGD2oNSZM2JFr2oD+l5 fYb4PXGw2PEQ0/jWpun6TxtHlaliQgw1pnFlBeB3wYK3vdCfULYAAA31UTNN9l13Q4YVTJvSvArF JXmhqZLAsyIrnrY1BRa3p8PD+uQ8bI8edBQyaxuhPfDlouxz9UH9T58+vezkQEOoe2jCLubchx3X Pct7tpwcccPLX014dtCytSTHT1A4IvTvnsbsd+FqTDuN5MOCOUpRZ05WlgWQ7VeyaqtOua1Dl+Oy LbgVDi3N4PU5MToQeZauKGPZJ+kxw9sCXeQmj4PBo2EeGAAfww5Bj05cut67FWhkmRbI2u0+4alb JF2Oy/FhvltMJ60Fuv5l8GHCbD+YqvloqTUyDdQotWqAYj2ibCHOAoL9sC/z6oq6uCOU4utlHNqU oeUkxi25GK/ELdjJtgi1eH7vn5UDj1uCeHwDnaB57oDBmLtSYT9/P7Bx8/04Ed0IVBDMLcXFJsIp T5PvQNr3UAWfGgX8qKYT9ntStoagw+/IENV2ys3wqzDHje0r8RYH/wDPfykTBvqIoc3aERuzSxK7 SJjsyu8rx54ZSYoq8ZG2Fi1xFmRFdqTTupWT/lxsfVjq+d7FO+xjt+1i3QfeFgR7Lp92cldJpOsW hVUkghXqewLy3UqGkWNXKHaD7MhuFwPjBvkBvtqufvKvpfZyYPuib7uvz99+Ae2EbHq900tOFb02 m2ENfNZFesvdAC+acGxbu2kXer7Qocjg3iE9bmVhyqfYCmcMExhRDZkY4lG9O5xg8+AxAb+vs5sH j6zMMsqoLCNpGbDGlk+zlWQpvkWXE5QtuCe4Mi2yWoP7cttfvuzsxMWhjN8wxCHACDz5A9z/AEEr dLlKWsTm9VLdAh81bpxIR7OQ1eWYixWza2Rfh42mHZa2HrgJtHwHhkWUYoLRmZ4NpOx8+38+AQd/ 6IPI6RkN2cYs49c5SwRneW+Mdy055AYcXYopGSpZbmW9wg5RtYXHF6GVU2XaKNddjhMT8qQ7QMrO jW07PjJ/D81YUOwuEoW2AXxbr9cMUPD2ZwZAc9QPPBgmMaGju+j/AIu2AB9/P/5klgLY8pHpOxtO VzWRdkUxUrYv8kYK9cO16QU+YRw7Vw0O4GBkBgbgrSBtgzjHnEn/AH8fQfP+fFcyyHQoCW3fNGjY dLB6KU0d2Q4zEtgUNhPckT09kDmGSYQhwUOBdNOrayMF+TBmzfBz78/7AggH7qNtyGKDVgHbRfCZ koxJ2/t68WE4Jp6srGFbfMDLdwODJxvgbA+KvBhlXlHjg/NgiOg/2AAg4dCgYbOYxdclwuwkYMZj S6F491mhd+BXRllZJokjedJMDnGZQ7Sc5usMcseWfbwznDEAGyemdWdgXZfqFZyYLJEgKaZNqa/a j5S9I92k1dqXT6h7Ot6kDD4nv6HO7Pnwd2M3dCh0ZZB2jVxtH2DgP+rwDpbslgQ01Hh90M6SNQw5 uXGJO1f2a4yrG1Hi651UJ9kTLIMUPw+yUdD5aDW1lmKU2zM29hODn18Bbp9+Xz9RdM7vAUsGo74d wN8EtJZQ9TjCwWcyVf5Qo7vlXw19bMUPMT0PkgNDYLaCGOTq6vWfhDfB7dPn9/8APH+g/T22QndH zmPKrHTwNimI13UuTDv68yASl86c7k7X2Qh3wnvhghMgwLAnI4e8llXtAnb7xaPNnjYOP+3uA6WF iYxSO2yiTRh4YJbj08nOSBcVv454LUTXVqrs0q3DJhC/v5L5BP8Ahx/Vw/kn5XbiV5e7HA2201aH KP1B13i9hEVusAPukfIHOXob9LdT8gjm1haevVOyAls+h3tA2Fxz3DOyk9pdTeTLJo+Wsxl5fVEg erLAnOvJ6yb0qfS+2zquZNEesPH0D8mJkhCFK3RJTUctAWI/orkrLjLPrppuhBJcRxR2kL6xIkt8 MRDFQREjJxMQCkqVnTcP7Zv0dUTFfpnb8paYn+T5FH//AHCB/wCntTNpA7MAzPvAZE0S1bTVZ5qz XH46v/IOXJY2n/Jsu7uNzJdkJLvAJB2C2DFS6lsbGPLY8PMD7w4ckrn+QnLZO8vxmM+7O6Mfxt3D wAAAfh08XXenO42pDMp5KHV7GMuORtshTmCxaQrvie4B+YXYHW17lVSEKleHCoFl8VyaMd4T7oP3 5B+/AOgnTm65+pDBlGQaNCF7fagktHSaxq+vocpWuJyil7AMfqtslgf0+pVXxn33NmvBJ2TgNu4v 2GCDwEAzrMX1tjOElJu063Gt5qqbYav1FTLAXocopyiua343DMPt2ByF2I8C0La3gZxfbCXhEmqz 58BbvALdQUEBUcuw2AbJBStJ7dtFI20xtsqt+7JQfxfPTZAsrZOUzPuZzFHlyoFCKFLrm8i1XQqz 0pQ7RmTx5KyzNYxhtq5CS77xnSKnmOUVhq8qhjoaHMhp/MFqch3BWn+r7RyYnwnHEHsAA+wYn/AB NgENVGkGxDFQJrhUqemklKwqvaj2n8sngebq9y4L4e1HAPZEPEPg2/AanzxYt5Wfwm7gwH34B+p7 p2VnD0xuSmSsbW5cBvODV7Vzu0Lcyhy3PHKwjtSp4+kmRDfHzAgycD+f2rWSenOryfBki0cTn0F+ 8+fAdLF4qcO5UuhhothMjVFmG4iQHQ1+pw1IgZaHY1PVfDcDOm8xuC21gSAGx2QZWZRXJ/hM27Az /gMPbDf4TFqJHV88FxbF0ygeQcRuDb6bUbVPa1JgH8rl3LIljQIpT1EQuA9yKjcNHImIwy4IbJrx bjt6cwcWjz8tb0yMeopSZDJIap59zXK47xF0+1kBQ6rX63qtat8xZDBMOcwUoKG8jNrRmZHCbJ5/ H3Pn18/0bKcNkXKztruNnMlDq+TGs14GgKfiBz0V3lFHDmFV0myzK3X/AOQX6WnMhNGFFLfZnh2N 8H8BwE+hYoOKTrdoFmcvSjXJqhwlnZVb3HbKdDqZf+GBlXyLtB8ILb5ySaHXw+/OEA4h8ZuRXZsT nhAQDgGP/tAkCHKGRWq8oSQLgPXBJs1HMKyOXuADKpwor8gmLYeZVfMA9V2XaCiq7YzK4vcznCP7 /wDQfsHUKyoxkUueWLq8eAZxLJE7juf3bSnGuzgW3npjd4RWZGdaBdGytGigkjQrQrb3WUNkc/NL 46MI/r02LhSYGaKxtG7AS0g2EjkgKfDmoloMVilFt/2gPM/o6dArCfgyIwspj9485jv/AB/2PIOw LEfMrhIvtVi6lWWKA0tO0WLX11uOm+Hv8qIB4GPMJzInoUvFjtTGrp8JPw3R8eRrwb3s5z73wfvZ BQGcjnHhjRwLu+DY1zJqGSLcwAsEQOmxZe/B0CWYcDDg4OAb8gHoEMYsq6HUDMbdqudvv4DYAKCf 3+SX8ul4tNnlxDrFkfLWMakIjQYabf8AmW0BU0NDMMENwreYYT+HNW3zwkPbOLvIwG7Wib3/AH8+ AqLYNgZIGyXMYuXRGS7MM4oA5UMtuyapcshytcrWO40IMKotyq1bW5tYErVt/iHcCasGjYpA6dw8 NNtTO08VUk6S7CynYavK4G4Lw2c9pzXmj5hAO4WRMD2RX8ycpOCGD7ZvO1rLz92NgwP7/v8AiA67 I4exCinXwHNrfHOnzLRthH/iQ5EYrm5buuQCyL62HDmJgcehtXD/AJyGsvNXtAsYDCJJsGA38/yD f+iSyEev6rR85jF8bVQIEYWIHocdehNB4SB2cgY5JDZP9hsGMGYsjFcoTJ7IEdgePgNg+g9btRGY lUEYfGiy7ySUnvkbEmM49V7CyPlSlsPh08tuC2hmFtPwR+4Flg2TFmKFGZGBhEk3+rB/QP36CWJg KCNjUsSxLUk20FyVYlLyN7l5RXwsWORZRoVjAt2co6Or7T4Z4UQZYn80bAC2ByTQpnMjwr1e2Zyl cjh2lrSt+3oewnCt9PcOVbS9XMWt+BsheZNh7xBn2gBeIaysvgsmNeDZsI8c+fgHH6i+/Nogl1/l Ph5XSLsJVlWo0aw2hYTJZ9OWm4i9PbRFZON1At2oYhj1tV7wXS7w1nlO2M6OkpJvf+PnvvwDB+Rl 6ahUOeQSQxrJbXxSybRikFXOMKYZ8sa4wJ64CFjrZgxxBP2NuvA9XMxGWVf6Mc4TV3d0AAP7+eAd RxBsR858uCvmi5kCyKMmDYkfOtSp6cMVKeYXIAtuLJ2HhmE/h7U2p7bs/JnxXsz97uyj9/fwHsAw Pvyw8jGKaUppnLrJsyGKWOSMUELbkLZZc0AFx8HPIYtYxI0mJ3Yo8VacDbkSQ3kiG3xAsWec+3ha 5D1Or19ysysoCkhxrzsF2By2B8oHUBYU0XKrIAmrZ8PcFbuDInjw6PuGxoYx55Rxg4bCef8AAAN/ 2DpnVm8r6bl2ohnmq2nZoGxrCHB2m6F6YLFrwGJ/qQth6T+yAwNwfT+M2gU4Nwm0fff8F8ByA/j0 BtCG+Ntf39muSqNrEeq21YY8ZMES1ooeLXKLDj63MGE98W09k/iHT60tSHwZDwGLPNvZ44D/ANNg 6YVTvmYhsA5IV7ISSVl6b1thYK9pNfEoYsp/FA5cfpMOyMoeyKfT1V8r9Sag7NzxXGW/+E9PDxyB Aft/oTrKyTSNMhl3UEixyfUNFBq0khmhkZS0EKRp7QtiIWWuu0Dq4pY0k0yg7GoO40eQyj2zhTvJ xhn8DBvBs8X1Xts4X8gwuHsmyE9ymRZa/wDkCIyxVdhioYf8VOHzC7hDBvn9SkyfFyfOHbzj+AAA AB/FBP4RpgHYgZTD1ouX8bPZR64xP4YD16txT6RaBSGv44uCfDmEFu1FK8PnBxgxDwWd8STZs4AA fofft/xajAnuGUtsosDMk1jmgSVZODhalkO8zGm6nPRQ6+yU/DuDZ8Pg1L5x8J1nTbQU2PZTZx+Q f9v7/wBYvmKvcmDOgT6TNh9hCe1YnzDDMsY8WAlA/A29Dh6kIY+Z8/YYVb/tYyoObf2DYMcP3/oA MInJd3vCszeNEeP9b5/0H46zgBJQYEeTxhmu1uUVuuXqqF+eW6W6uDsjNKJ567r+si1BlnfET3wC rsM1XfBIt8ML8xbmODIYHzIMDfmoPwa5GjnJw2Edjn7Bz4Av9G18DylQZk2udSVSv1Y6h1UJbFoM mTqQdw7ketgC5QuHrnau4FtfMI54gBOe35QRkY47OwR44CfAfQefdJ9beFe6Y/xbBtR2uCLW62JX jK3W9OODRUrYrtDJX+K3T9cMifTzhcVD4tqPhudotCMz72b4OfQWA/4BBP8AVtK/W83WRYiSuWrD k2dzBkr1w7Vp9sPpRoE1fEMsG8LbJaj5YMz8gNqP7LOkt8eiYPezewoPIEF+PgH4/nlbZ1MItI6h T3viIOfApTuZ/rbxKA2xYU+NdzTBkkzmkl7gq5benNf8Qchs7XO3794M9bW3TqRDtHMDK6fxKwhp iVMk0jHMODhWXxXzT0UlmE9kMfRFtgtQ4Ar/AAOLaz/QxM5aJz/rwHfz/RWPsRLgC0OekGFLN+GS Ex0nJX1SZKV+ecksBbMGJnJB8ztKQxnY/wBL4+wRJCc+X9//AH8/i2tRFTzIpRPuQMkyQKbqQQLY tCjT1oO6HKi6j6vVw/MA5hbMJ7AhtSHcE+j5iMM9mZmBm/B7+ggH4Bz7gNS8swwWMyh9hDxmqA4E hK+tskgsYltFTi32HX4cwHcNnX2Q5ZY9S7kYVA0WgMWcPOHAGwcBPgOfH9ajCIXKjIeWdztlMaoV 3ZlrPytUPNmkMuUh7Nu3jTzleZIy8L4rx8/kddhiRlhqPmFA1kBEl3p/VFp7q8PeVgr0O+IqnQ5T cHBDZFvSXNT2TYWAC87YivlojBmx9kzgGogHd1Bfv1uAvj5ikh3NaCuh0mngdaS3E0j39WNr/MlR S13K7gwWRDZNGaeh/MVe0ClBsgmTV0OzMEc3slHnwFu7A/AMMX6tLYplHx0W7MfUNSas6n5Kmrw1 tHpxDq+xnem4u4WQH5gtwqv2OBV4EHgMWSj4zLPNv38/sAA+Aw388rPLmGWDOMgpkkxZeTGsK2AO lZGYWSxtQS9UrkHsBwMJ+oS1Fth7qT3Ch1X/AFkKLX5swdjiCAP0G/Px4+f6zPzgU8QsuEX/ALik GWPP/L2U2POQ7QfLAhXtzzfhiuOOMbUI3Js3uU5K0McCbOVCuk0owafj9M2/VTI2nnEmbiSKOfGC WHqYo27FMYPmU8n2pjX4exq0wUmpbJ4XIrswwHVxvfD4B/fgADYOnmlnA554t88BZKufLLslliL9 kV6Q+YKcpcWVZFH8DMGFtbT2SnSDABeO7+6Pmnonwn7wAPnz6CggPY+kzjYltrINAudejbgxcJLu 8WpW7REcHyLLaKvDsBiYYhsjJiyPF8WBdMFkp/gdoVnZjxvf9ffQaiAcBAM6HHdbW1GUnedyO1kW RKmVukB2TJr9hre0NX1ZSqvQ2APMcLgquYApPYWDfFsmUQnxm/e6ueP07unkAAfwkm4rZsqSIIcc 5FDSbkZBjRmsZbtvRoFMDw+XbI/bgO50mDrGvMksE9XKi/O3tcpfOY7l+W1Dpc4Gp+YBgQ1Jb2F/ YTBh2V+SASks8VDj5jJMp+GHIBziH8DttZizfDQTszCrrROe3u/VEfPgN/WItfMNpXBcigXZ8uQC ciMFbpIfH+IJpLIcXTen3BQ62HT3xfhnJ/LUfc9raLMeXhJ2MHUXd3nx/YAPXyY8UfZZBJFrmmNs yW1krdgre4KH0360bIlXJqEKWMn19D2iZMshPToL5YPzpjMs2gh0b7nAdXeAfj/aLgL91vAMmZPY KrPFOfrcC8m3Z4fH2yHV9jcxfHxxMcwmXCHIIc5CsCBzDbCgu31mq0jfAZ9+Pvz8A2BB6FJu0sXT BnZ2Ltt4WFYgDFsqjWR77eIwtd1ibH7c/wDwjyq+1b7xWUjRxj/5k/bRgcy8HxcsTOzc1PWwMBDr d3jw74H8wfPiWhq04fcNV88fA6+yI8Bwn1y4MyMr/jP6TaP4i9sH73t3o8ISFNSsCt56kyVvZzQe CWFp/WzFoUjcEUp2bctwp/TGYQ5neCHA4f8AAcFmzOL8mR0lJCfr9+v1BQQCCsct0eK+pbBcDXYb p9Iyaud6/cM7hEIoBxixbUwmXByTZx5hqUbgtq1Q9QLLQ+LPOEkI7+fP/QeA9WPR63bavT2WUiZN jy1aGgiKP/4ldZF20QnOdfRIreOT5tViLsfcLTVbKQHxrMWcLVxVZowV22MFgBfqj5+/88wYAItx o9mNpZolCVtCfGKOPeVu65Jtu0grjuXdPBIrLuPp0xmn242jUk54RiVpUUih43WW7NlboeAiLdfM ypMt8aD2SNMTw6TyglW8gTMFuVhHvh4GIeoRkcIdXhwc+j324tr7yK6NZhzmzs8bAeP1G/ddlN5g +wafs5ozXy0SSiB7IsFkIdficClS6cK5aZvzKfDzE9kx4O+N55HhLJPniy8vGyJIPfz/APYAHRVe C/DMvlAy8rOqUO0IY0TR8MPbEu7GhDsIWBZHAPdkOGtsi/DtTS0PgTkOzLfvhD2zZKu4OfAPz8fP /QcVuLS7QVzDsrq+ck5NI2EaLI8wbHs1DKIbFFrkyv8AbdDZEIPYAejzw89Orfa6HF4fSgmLyfwQ d/3/AOglIQVXEZPG6bgaffkiJ9s7yYJlt0cUwXMvea49xRbaSVMHEMiNjmuP1GJW4PJwzyW37wtD ta7E8YyEuvnyvA6Qt6b7PqAbSaQYr0bYBbgYFsKWzg48wmB3Cn0+ZBgD1JHmLIx8F2YzbIE4PsB/ wHQdcOoSr1ep85yMtVtGMnJUl6tyWm9opzdBbZFKsg/Z09kTw6/24ocgpKq2TswW0VmsnEg2E58A Qfvx9+6NylmSOcLZnngQO714S4/TLUvxPigV9XFh0+Y+Qw8wPPMQVJwQzkNG4GLGI2CTaJs6AX35 BP7Bz7qXswWr/SWNcT1KG5Z1S1kj2cq4RKrTalYXKL3QmB/hp/zw4OfR74DT1nDdHkYDwdt8/VCP PwHwAxKzmKOplaSyBDzlJce47DjHLtoc/PP4Sz9uatCESs2mF1kQVxH+xy58gf6G4tCHdVtlVmBs Y/N0y4MjvlZZtngapbR1yoNrC2TLiRBB2PPF6eSUqsyWROJC5B2eegerKKEWkuy4GcjKnR/X6es6 8kJ1rNtuRxjOM08R84lFyCgVlm1HDBq6lPJw2Y/JDZ+QGbnHNn5WGSjzlGAJlwXu2hBRWhLxSBYP qwmZqanZ0mpU7Y9WFRTSrtA4qCtC93mgKv55NeAdZmY8kgk+SYtLyfz/AMN1ZMeLW4FBuE9DcIyS GfLIEtGdpXpewnxypGIBpIxaCe4TLVfA48PqaQ6/rQHZFZExf5MBhHak3hBfkDfwPgEHI9b3QUS2 qK7mLAWyieRR3gbW6fbBjs3ccqUtkA8xktStw9oTAdZuEGCHRkWrydGswP8AfQHnwHAQHRfMy0My vuB6Lk3Yk5W9ltPFnTB8uHFsZIlKz4whw6fcENkcK3VZ4+BBMDGb+HNmZgenjZEffz+PID/sfiO7 FsK6OSeLBmX9qEY+f2F9qTxKEBA6mrGlGOYzKrsiGYT4femv9PEHAnb/ALVn/mk/iI/QaCAQe7vR XE2ZGBeEqZXd8M447vSgYsO2/wCWz5Hp9AQyBTltI3cErL1O3ccmx7+ztrgA8m+km4Q63bY5i2q+ zjdqSiSkJz7ITh7DMFvlZOQF8XzDIIZJgerw6rZa/Pp1xWRhRoJ7FzZ23/YOfH9/AdWVzGB8yWCk zS5Sem8lXzsk2wYo3RzV+zi6vbCib+NodkakJgdewggbAun5gxmQxfJgfhP3/FfP7AA6X2ZT7o5O hK2haeEmUjkkohgC1VvEMFJTDXJ4wQZYeNkQ4ZDZAKepI6eTrPTm+DEZHScUk4AxPvx8/iAx6Go6 XADD69Pcqf63zUKyCo9qzk9TmFLaSGiUn/MMcbQ0PeIPb898ys/obMTB4fR2D/Lz+waGETqVY3dc 3KtDi/4pY7ux7rqjVc2tJHVg2LivhWi5uvO7BL4vigPDXfFFYeGD3BPQ8pqvVJrR2shhDmLDDr0M qB7ccbcIdwuC3qEZGAOqwLQUp3BnkorrOHCfNn9/58/H+rUOgekzLrf0Btu1bs4KyDayX6ruCwVO H8oTLV63+yWQyXWn8wONq/AajCNUCsLWVl41D+cqLz/aIB4CompRsuwyDoehymctgU3TG7fIr3Tq oJAerxbZXMqGPiTHAxMcCE14xX7MVZjNWYsWzb4E5th9+xwx2Drkr9gq8DX9evgsbW9wW0HNtkdJ GOFezGimxMUX3QMMlD3AhsjhVbU+484MVmjd0OcvATGk+AoP9gAAD65A9xymTCZ3RIVxyPEsMjEm x8RqpFeGv7aJQLbyghMI0zZ3kwqqIAXFrysgmxQHg5cHYc4pq/8AguVhIbIHu7OQKyDwya+77DfC 9qClOC+Hp+ZMhmCK21QLQQzhhGJvmLzwZ19rUftgP9osMD7882B0fTzRXuXQUyNpjbUmtxK/QIGj 6yhORR3vipcPhWo+PkNDIfA3CpUdbZqgFq7MtPBu7KuOPwB/YP8Av1J5hxbMx1VSrkC716m2QybO YqtXXocqxncC5B2CyLIhh6rDpyHVdl0fypPrPa6v8G7BEkGe8+fQd/w6sIDqqt74wmVzpVv52Q7Q JRlOOnrlsVOyIQCXUotk5JM1OVvM3DtyhsCjcRgmjK5RZZvxc71XjsAA+/c+6GMCaRjJgIQh3Fke kMC0BCUrv8mnyXEn2NlQFnaM4A+2rP54U+PjxXn56rSPrMxdOZWNLAWrTNVYA+EYXjOv8gkPiaKs JDtpwX3yHDW7gZCHFXxfUp1Vk1lnaLMGA+EhLU4CfAL5/wABgVUeDH1UwZNQVfbS3bcpD08VlbF5 TE+nE+ULXgLTMHsifMxDshEOcPD1L6y8vgtZJ2p4XHE+ggD6CAxXwHG2ENSeWGzldIyX9kVxvcFw Y7rH6hK3fE3lG8WDDDuC2hw19PBttYPm8bZcm2Eke7DfOcfAANgAAMTBQfLRznt1MxdNVA2CBs6P 9qM57uhLDQpysFBfqxPtOyMETARg21fp5eGN5eMVcWsoxx2NY4nzzBgwH8McGTLKquHhfBaydGiO NmxaySRXdEDEnwbri63Mp8QwdzQVfb8i+SW45HNc31G3LTXarR+t5rS1LdnSj2oi4yA3OpdsT2gW WRBhgeY4et1XMYIc6tCNaWqyPPF0NZxqurvypv4Dz5/Hf5GlHiPbWWn1+90yNs7SNRtx05bB5IR6 9MagdT6Rp9TU+wOBob5MD/EeJ+n+lnjDg3vUBLEIDw90G+z4DkDBg/jauyWIpTD1fKSeyWQBMXqp p9S0baDY+K6bqaKNFqL6G4GdPb4hL6ej1oQn3guWYTtB8erMRwnnO0WwYANg2C0WoN4R7Ut2dFqv R2zaWFdcHRA9hBli429yiei2auLjpczC0k+nU3Cepv6krYPK20i0h6OnLsCnkL2xPr3/AC+k9HTP GGY7bruvp2hGzYIn0yTGYFilUXEUiSwyWVlRyqMKSUxK7QNjcKwSivfH5A/y+oI3+f48fnIUosgW rgVO4ANGVvJ0u1ySbVOwDFSp5aZYtXqZ60Jae+LcwOZ28xOodwgVwt/aOTc42R2R8D6CAA8B2BBd kx0sQWDG3dlWok5WoyjRtI1fUunUxDQwNnlhdoMtfp63MW5ignzEd8IWXTrIMZmi+CYyq0kJaPgP P9ot/wCmO2PkB80eDavfKfUqNt52NRLQybUX2xvlK1xi4vsn0ljMMWTaAYHQ9ovbwns4tWpp5x3t J2QCv4nkHH9T8aT0AW5pCiKzjbKSyuCxZdccnpqyKga1xntqI01g9DrtW5jHcM2e4bgfAwJpNlZx rusvNI2ilAscAGKDYHp9R48lY8lWMh49SCJZpHERzK1ubaxzSXHPa4uzLW2QEa2x0K38oZEmSRAj Ksn8U6AAEnA3tZGuBlbe3HlQENTE9crxvq/Nrak4QGY7cvSbCjl4h4ovW1Q4deZGTtY30mvslxcP 1D8b3MoUJjARsJqHtTYPPgOQbDO1ePIE7HSRgejQudPve7FPGztMbRcbihppbfjA+ZwMOYDD4gSt SBCCY+hlMBZw2E4O/AD4ABwHnwBt/wAvPOJ+VqWarspN3DrYmwE+ZU+0Ve5aj6HKPo8xMhwoafzz YSCic5yTV2jjPCTbt4AAfAHz/sAD1s+75zmZcarW1GJZ9NGlPBEMAGCZYzjYbPST4Qw41ZMIzX6e qIdn1qjGGYW03ItDDmFpG0c+/YoJ8+wc+6pNE0cWpbTqg1Ev1Goik1M0siQTvtZSlpXfZgWl9OPC GP7I1yNqXVkarSjVTTbUTxxvtLQOlA7laj9tqAeSQTwK67HCHqEUqTvJ7UodJ1LWjs22FondtOod gQz0S2MBbh3gmWphZMwgHeMWECDh4oz4TrPEGFdjX5eqMAA5BhiAraEufVHTFf2/jU1MqSHF1Aqb agNxIcqRE1yhxhb0St4xMqwPMYFtqguFaNAhn3S0Mec4cJOIOIDDkCAgYn7bOCep2W+GMLLo1SL6 lodo3JIs5bj6cA9S2Mwpr7M7wOC3ZEOZ/qWPgQXwozK/GRlV6h+yZxBfvAn8d/6SdT6sMzKvit0N SQ7ImVfahGJGyarV2FwV7lbAIGGPD2QtsiEtp5jtLaAH/a7RUBPhLsk+A9z/AD4+fxasEj6aWPWF NZLLM8gjSM6fCNscYSwebIrzTkLd8qPmF4vqc9I4iT6ZIFYyfUgyKe+asYsMu2k7uReXXHX1V0nZ dVp9NvmnuSki4d6iXCwtVA9s7xtFTq4tPcHCZvFJp6+YeDw+eccBnKOTb4EpL2P7+fAcB3/okODz IZLW5TvWMka5NSAkV/UrsrsKELq/fkN8IVBdmFkIfH2TlvwGpPWeLPgwZiku3n8f+wYdWEMNF8tG WeumuUMJScCq7jqdomB5FDbWBsLVABML+EQxDT2T+RfHC2gfBhgtXRlne/8AfwAAgr+GB/GqNsPk htOMjRYMw2eu4PJd7YuDOYFMxsJZxV7UITHCZZC24D5jxWlP7GycG7N7mj8IN4/X/wCvz770VNIC UzTT8Nw+EiyNWbyR4mtwBcRkaxayfijIB6mffJiCcfCRRwxxoRZ9uLG75DEV22ZjuAPzQ55SSK9q UPmp5KvSFbrZmWYaHK44oGGQDsj5vCGPT0fVLYCHOmclFtJTY3Z2SQgBBwQd/wDPgONYsBsgWwhn kOwthUgMmpzLtnBmDsjKpx8aMSCfDRLguyZw9WA474yM3eQVwXhKSk2p2i594DYEEwZDhyxl8+7q 4EIhvhhtiWQ4DZDEHigflFGRfT3CZMod8YN8bavgQa3GDOL9zAZtJdjqDgfP7B4DpbuDAr5MwPaE rO7MLjIyO4dPMVfLDvivQ2oupXz5gdb+Fe9oPnuQfDieM/oZGqt2djeL8B/Xn2wPyWCvE0YN5oUQ 1yJ2w2SBf6f5HPF9MUSBkmkgfA6lY3KHOkUUytQXiW1IP24eG6mEchT6SYW6WMqq3nRckbcYeHYS +7p4uVMlcDYIa2GlzGRgZK5Uk9DtTAYMKFKzqAH+LjgDHfvAAF/okruQ+IcxqbaMSSVBZo1tYaXy FuOkJ4torI9XLJ98/h7ZDC+n3EetFDeGSzKzabk4ycq4IEOHwFugcai7Q1F0VZY/UQZxdgO5VKqt Fbu/cGZnr6R8W0WwCLMMC3ZC3ZEO4CEzftH9SzjFmE1fTm8oyObSTfAe7tRffgHPljvi2BVxuVAZ LIsKxqrCL2ke1EOv0lwKFNQm1h2C4NPeoSk64W3BkOHq/padW6z344NZnNjYPz/AUHwHP42ZVkaP ccuyILA5TGzeLechxX7s3wsLHGwl9loj9vEgLqe1JL7K+Tg2XHiuTCpDlXhnACm5tP3ZDulJ5DcA eGwLy2etF3rkWyL8Ot6gpO1E+wYcG27QbVV8ZifPFmoAfNucH8EEBbp+okJC6FbsyuzZCZ/inpIE Dakn5DXTPHlsC+MLQr9r0OGh1u+ByFko8/VhUv1m3xZSs3kGESecW7/v5B2E+n6/sTaqyT5TvuTs BmJBZfqxbkWwyC5S+5Sgw/Cn3x8DGCExVtohQ9jbn71fuaPVwT9/QbdAH/AH56oiiGFHsh6pa3QL aq9VkxHBPDsFm88fIb4UWx8yyIa2yUO4c4AuDbO3N5q/nTz3Rq5IR9gfgHvi/dOj3GKs39RESQjv il2iQoik7fTTNqTE4Z+5suB7EpYyipxjHI2Eie0dy4nzf/Y9dlmNGoAWn21eaRhW4DTSS08WEHdq lsl3ZGgC2K75ajAycDW3x8p+YcfLB+DT6MzcCJkgbsk8HYD9RH/Pv+wGtzrdXn3DOxAy6C1Q6brU JMQ7crAmMjTbSnFPIagYMGbUuFOr8RqZA4KbUYWXpn5ytdr/AGxP8CPYP6Diefp87l1vnXIBW4sO yFWtLCSXfnkwh8NotosBFzF9DZJlJmHBfWwe4AWpk7v1f3fRkc3aKSb+/IPPt/3+tNk6jK7zaTMV y+VXerJqHdm2JIdr+X3fdE1soeUtuFpp4dbxmV+H+eQQ3f6N/oactGrqu7uoIA/sCD58pAjyKCHw T3CNN1JMsKXctMXjo5pi1F1N89RJHUOM0FyYYTNh7MeZYaayc7UZ9pDGzlxZCEntp60aHr4XU1bx J9cSogesaxslhtQmr6g+eYdtkMuxw8GBbBgT55rmDGd8KVCjYpWofFIAvz9i/YAD2B7jmD0dXfGo XPJVKHbUKrpY+sLIjiXBNQ2FX4ewJ5ih4fD/ALz3Q2Nkt8YUK2ZsZs3sbBz4+fP7/wBbbGSG3Toc yhlBtFKak60PVMAfwIxBU7HlJ0y97s0+4yqGvvCrIJL1YT7eh1UtYeumSnuC9VWmfU+nwXp9Hr5B 6cO0rIsjKiW1LoK1Alkab3a9V5gqTOeBVEezDbQuk2CkmSyNmmJ/wIBGAqwnmzMH3FYBhLs4Piff kHf8T78fSS8DYRpJnMiBBJIFgXS6e8GRVQRxSNvHCNI13aNuojA6mCTK5mDnacljLFEkgknxMcbP EibpfaemZRhXC956NsyHMd9N54A2wq3pnUOq2TLXyVkEEeZYxSJKctvDhzBiWY2dHPV/Ze8syzTY v23sIEOcf2E/z5BP9VvsSu5HNFWeGrFkhq54bEvAC7D6cvloTF4DpzmVeYcLhuxPQyAcHuHwZnbN ouTznCauOVEfAL6Dv5/oqSxaW+D3XiWqhtrEoHQLZV6f4+kJ5+0LNin63T4b5SZiqw9gOCruD5Vb ITxF2g8s2yAzewfqA8BsEw2ZlfrlsKtcrg0lWFqw6TLJ9boWndefIrRqEVzyGw4ofeCZajB85D4l amGKzte5g+bG0dB2AAf2BB2AkVoGfCXJFfUuqbm5j624RdLV7wANH2XXNA5G+odpZIkjdtuxH2xn CKKMYpzj/HZ7j7iPiz0pGlQ5cYDB5pVlg1WqzDTQMmVjQ13UwwJ6CWBM5cRkLubn6mZ4m04/oy1u Iuz0r1yZBpaPVJPrdwUiMQAyQl0FnRPn0XTeoLOmn5o7ZziIcbKmYV+1adWbYsZbKIjefiZIBt9T mEmZdeERgaUJyMit1D0QlAQN+AchRfWWZDU6ZnSzqkQlDrtsqcTHshsKxGOW4thaq6Fi+BZoxp4G pm0hZjRY7nk8Wa2zV0TVmrIvmxMWSn2g7uBJDr7UUEs9kAqSQPshJX6yD1zXOsVnqVPIQ9QtwWoy OFgGLGA3A24bYstBSs8dk1e9qwGO/wCJ8AAf+kktrdmNAvOsqoHZbD1fwBhtiYeHXHZCuriRauhk ENkmYsiG4MntqAbaPcOMixaMjd0fvB9BP+3PT/VzZhA5d3YcfXJgktns52rEOxkniwTAtoLRHKGv w6HfFtwqpwQzlSkLawTybzV/JnnhKSbB/X8bdx+g1FSdkrcmBeHYDV5IlkwKfW3dPmaaZC8HtByi NAuY4GNQhit2RkX3wG2j+VJ+57WLKA3bwb8g/qA+/H7j5VlSJFhheJoi43MrsMU9m3ItDGTvqz2n oZEaAsJN4TOjpIcZYPIXE+rGM8eeF8XRI4HT4o6o1M8l17clN2QtrcpVshTq+wjFbid+tCmyltQ6 /MTHvjb4Ph3FgPQ3j3rPa/ypsmJy3eQAOA+3UCt0HZFg1fbWVAhjc5Sm/L1UW1WxBhDq8lerlXcL AW4e8WRuAdHtshS0GY8kxdy7n+oRHAAD4D9/YAClfFup814DudS2RW+oSwc4avMMyk6nsJlFykdD PUN8xPviny7gnofzyCG8YlBloVejPNqfdng/4AAf5912Ols35UFgOGUUyXZq0qnjbZU7VpqyLYfJ UVeV2lkT3AP8xkwq6H8BP74Q+75QoT93Z3q54AVEf2Dnz91ZSfHH09ReqR6kTsjgBPYEyO66fYuU ednlceVs8LMql5Yc4WiDiXKR52ruR8VEe5XctN7R3Guu2r4epSoLEh6jLL43qu08LcZTj2ENsCwl spFthDcqfHuEMxDEbhvkBg+DtjMLaCazikm+DgPPn9/2AAUg0pgXE/OtVMMVck79H7Xnlsewhygt sKWMnjzFqB1vjZAxO4fiq7mTq8oTRjmO9nAFQnwH0H9exPZMtDr8PlyYdbtSbT6kJYJhJfsKt5Vj 05cnJGCHMD2rDW18Pv4A/O4ys2gLRvN1cb98OA+f8/A0mPpOxh/yqvarafJ55Sd3AwnI7Y4VzK4u LtQ+h/khkhp8OC+ETyr72Z+TKg3pJ7qIOwAD58+wYH2FVaOQCPaQPg0atcbYlcSi0NusiSLa7BsV 1cbZOrNI8rp/Gzn+Oypah85UAeRWNc9cZxXTxZStspNmcDfM5Sd18C4fL+LEiAD62wQ7IW4c0xhz mAnocExybtezYnHdJSf6BQX7wADqefEcgLIElyfYKTYVg1XUtex6TOh4j4eV9QiuL5A497E9PZCD hOUrAPPFkEyRQoss1V7IbeAAAAfAAPAHyQOQy7GH16kJodbuCfqQJO7BUpi0Het65lbomshBjW6r MXxMX2RIPD59coawTxaPaq7R72PH7BsB/YOg/MU2QCyWdlKRiStqTUgLyvMJc3T0xyLSgMwetrcO yQ/eBw5a4PiPMWeUC0UpwnwYAAAP7+A6EsZFVEdHcWyB2MecbVi4OLeaNiu2hzz0cYVKxzFPGXwf H1Iwc4z2m8cgQ3HuJx56ZC/gDaOePm8BE8XW9FLt8O28O6GeiyyjmYHwzFkQzEP4c7j9l1yt8Z2v jO9hPPoO/nwD9j0Hg7cKdr69i20NSbCF0yEYh+SHIL1wVy0MIGMHxMVv3U5i4B/xeB5IMZygvjLw bx2NBAef6G7Yr9LgKhJt00sjIyHgKSkK7I1WAJW3w9WRSVZDAHrcOYDvlgWoqnx88GnvItXKDOcb JsZ/2P8An9g6tEQtys7VUyUBoT7srHWlMf5ceHfzBcYe0N2q+UYIJ8NDhvjgPMVy+e6rD2z7NWYJ KSTfPn5Bfv7B1meOI7U0t6nZmjQSQ930t6U6YpIPmNMQ7TWPOOA93Wjc1MMewgjiWf10h1EUS7iP WLLKkaSGgDlutLWS4YgtkjVdHzWOn4aGmgWTVFqDD2jE4rYV4WFiKoiJQ8WYPZJtJmK3fPh0eBHt 1VoaMzFKvZhndEJaOH34+/eAAdQ9ZnF9jeHxotDloF3wrYs4ab7CT14OLx7oK8NfDobhs8zZ58D4 ECH9DF1mzG+1wRH4/wABfT/n+gOv7cvyvnDUVm18qVc+VfZyTET7Oqzt6YaIpauSkxfrfklV/DcG Sd3hrTZxnA0NZJvAQIkPGP1/wCDsEwpMDopZmTLtAkEdq5qtkXh9P3YwNlkK8pIFoa38Oq6fcDEx fmQTy+PVfd5QxfGTpu0TfgPoPWponD6hZVCsXSMSXebmKKWONVoCOMbpVFybCibOVDLv20LYwtso E/ion2mycjXiq5qj1x3BQdm2NX92GagTwjIBG1uJ75WFIE1u0JrZV55Q5JEsiZvC/wBxgNoTzu5L NoXJUCz4QIc37fz/APl0pVPi+VZBJjSEM5DnocYTHSSQ93cHKVWSuUiWAYDrfciyF8ucsun1LZ8R lNFCfBzZtJB7B5/f/AXLqOzB7kvh81jhjUOvs6yBNfn3Ae2d+ANmuUXkDgYmbOyDw7VP+ecD7Zug x57XHHZ4599fPn8OhC9KyfIoOvZ+aHjKtjHiUr/Gdh8MPKKMP08hDZPmGPrcFtHz1VwGborrDMcC JP7Av/2Df7kjZiEbtw8HzlkB8cVWP5PnpQkRVDZXl8Hiqr/W7v8AXQHV7Jbjvkfjl2JZN3aVhtsG KxmWxLhtFtfFTeH9yKTquEYcDOw87gsjM8k6v2w5wlJB4PyDv5/pkMFwWYkA8m0KqcIw1jLoCQPf IcesrIsZX3W2k8gn/DcGOYwTJwFwA2NyYZ9G8J+v7/wI+/cBFQ6mj5S/kwMmseSXdDW3cPn5xCwo blXNgq7SyD4YeyOH7h3U5hsbgT4uLWSeyec/397n9gjay095ltWxnVJKJSVUqhbsHdltXiTFYWW4 uyXByQxhvFgGAbawVKqh9saVdGJ/SQgPfwGG/wD64TBRRd8UHbnV4RihGlWLxtubFjiuOScXkGCS PJRVWS7k43HBy7c+zijWI5+RDjtUCvKzMkXm1Wk5OaYCV7YKq1R5cwCULlHLh4eZzEw4J0P6eBa1 sZuvOeD/AEkHi/fv+wP3Ta1cI98C3CmVdodqupm2q9q4sHfBtHrzIeKJEXkneAO+GIcP4c5SYAIM OMehTQMeXg2b8/4FB2AAA6CDhDMqVPmBU341hRbCIiqHaklHpGGUA2FXMVPcLIZJmD5ZHzYKHX6k cMI6y+U3UAyqwuybBv4A/wDof6nVZSpVSQFGWp1AxLhPPS4dgN1tWe1ONn42DZwsLPMVWx1bjjBi 2KDUVIKHHWc0DSWAB2ws/H0+kB6fev8AFh9a4pFCK7b2zxR05xlfhbxk52qsfa+V/bjyz6fueA+i 5cmQS9uEnaWjUWc8KFt2+4dv5F6v9fKENPMu7tgN22TsAG1B8twfFd3V94X1u4Jhit3DkgKh2CpV VD3N8tBZRng2bCHH4AA2DYACD04Msu4ARd2ccmJMyvhrsp0O7/jIPKixCibDYFsut1u4B+YNR5fb VX7MLtBGGHAnvsB9+9/7BAuDorqVwQ5VfGEqyEgPJ4uhuG09r5USxxdbj+Nvi2YhuEPcP0ZCayUt DHfPu1q/l48fQcd/6O2BHrdXrsOZFvkavb9fFtSthVWzEMO0AV5Nrn6finocxk+Z8+wJ7wuEyZQX cDyjVckhAb8A/oE/gf6ilZIoRHmfqEWSEumGaWtMBkx5/Hxx+R0bLiShaMvFUTKjZ1tgAMTQrOzQ o1R5PSImCx8CHTLHXy0tzJWdGluDINYK9ZHyS2IYFPIIeoSbDm2piyA/0OBybyrtHJvxdwj6Cgnw G/4dOD15YddD3Mhi69qW7JWoRS0tPDJMI3HW8WxomBQwwMkyYthw6+4NUBwbUcOMrNpKMyy8G6u2 NBfrdAPwA+A39G8sKZshqTrHzpNYqRiLLHmLCeFMw0Pi8U4e4mMP5yGQZJwFwPX8HJo3KCbNsmyP ADfz/tv/AB9wPCvszZW9jK7sk/4pJSSLYaphiWyIcUTdzRD/AKbcK3W8XCubMYAOLITrNofGZZOO wTwCCfP7Af38BH9Mr83fcvbItV7H5xv57TdD8dLdY3LSe+8UwAuR86Gyi/O5j3NfZh7WvhVpdbr8 Uw7FKlarRZLBvL8H5o2PYVbtEqwhfJKvvi7EO1A4f3gzyGINwRmfErUCyj7JiDAIPn2DfwB9zWBc BGn6rVYEqwnasUjOCfxAVu+B2ExFTeL3ItkGRP1IGDFb/DtTuA2/DWVndBgw54Q5wHwD8fPoHSBI L74kA/gHlBbMQFuMkbmSV7YhyoglyPWoQXEOHdlkWQnh52mnfpzIT8p5wIESePgN/wDbz/Q2jslF wJFhCzMwIRyoY1eDh2qrizJcoGJFF2RX63ageh+YD2Sq3xfwOMnOWj7NsnCfPnz/ACA+APgCmVnk LqrncreVFyzxIwvlQuNvXBu/iui7QgVnQ7SJHp4nbbG2p9okb0xjxZdksNwDzTmsyYvq4eyLBM1K khwNnJNZEFUDSAiYLqUS+REMiycwDzFtgD2MBo+y4P5fFq5P8o4Wjz7f/wB/4D0ziOY6KVkWdaGV xuYBZPlmA9StFOLavUooXbS38NPQ4dbhmDuMBT3xHQ+M/WWc4ECJINgPnwG/H2BB6p+DuwOeqfEN zxJmOS3V0St8mwiBdbQ1d3li4bgHmMhia+EMIM+ruKraNwMoz7GkhP6AAH0HpkVIj5QYWelJqTUt hVBp2QZfcGx63LOFItAnG2g7jNQ8LH7qDobV2/PPDgso1X7ZsZvhCMAPoOwPx/8AQZEcbcRO642o tQkg3ZHv+No0taAp8hZsFORXUjki5eNnSq+lnDYJFdbm4QG93ZjyKxJ89G1fpbplZS2pJqq7Ox75 NZV+YMSCwdoq+JXNNw+YTYdwTLIITQbangQVqE0ZDQ2ZGBuxvfNgAb+ffwABBZCun6f5+og8BtWp K3mV81MkvsOnp4mGe7e3JaKeQreHW5jgdgTIM/BuNsiy8tHk9lCHDnaLfwACotgP0zT19sY6Dzmg DZq3VeqUPqrXkeznD4jIm207pqunr7hW7ItskNwW/wD0vtkANub4r9sweITUPwF/38AAQfAOaOno W10nOd2qSHbdRRJhIHpiu2VWLaCyaBfCAdbsit5k1wQ2qAQbQbIzDPy//qibB/8Afz+GwTcncyHd 2x6mmEjGWCSXUdgxaKWBajHmORXfMF7VMRkQgUxEtA8tpp5md4fQh0+r2F0rmbM+pNJOUkiwAj21 OchcBUmQsjMpFwmLk8CSW3eEyWFW8P5C8tgSiRaOMNfW5i38yGQhgyDBWnw9sV3x5WXgJVzsc3/H f9/AdO1pZF93F1i7vgEJMP16kxKPzoa+kbpKtiUhmHAwHsd8T9wD1z575aMs+TJ/1t58AAftgAAO hpgmCyj4n/AmIMxda0mXZCqkXQvQ90sIWm8g2e4PmXxvCq2sFtHHBmKe+nomcCG3YHjwH37B9NoO +WpUupwPfpmnwZmuYepB3kOAEe2fF0+rwGuqrX+ecwmcgtRqtpfUgb5WfF1f+tu6NV8/QQHgD6EA jKjKHkV3dUeN2WaWHcjl2wynaZa9gosXrkCubEPHGkcUZSBC6sgcxNUcVFYxuwyXjmbZcD4BU8UN lCD4LtBp7P4O9Mu9e05wca4UvTr5Up53pwotEHxPT7Uh1u4PkECQfAe2W++Xw8//AAADYPoPQHXb RZGqWo0M7Aajbsx5NkLy/D1RMFhMgGxtPYqLM+YGrfvYyV+4Th9fz/mW+zCyqMzI5zvZv/5dP0Hv +wceXXdqWhQ5e6VeG7aV6DHNrDTAC68bCWotENsUooYJ7itskPb5mo1Dr881dy1hoKds/wBkxww3 /wAAfAdMhzrBHC3IyOQugWSvavW42mUPkVLaG8ABVZHsEMcYDzIcyYPm4qTAenOJP8Dk8UerUl2O P2wPx8A/Yvx+KNK3pNKh1JzUS6afcrCbTxz6addt9SuoX6iNpEy1G1QF+pfUb6kCSVVcRLjMA4CG OSXmNkA9N4xi2LxxQ7nNrajqPvkJdM96yINb/wDEKdqyz1VST0uzHCgWj1adReou31MBDC2BqBsd RcbNlS2u3GQpF9CU4WmJzc4FY0evwzFCnm8+RLYC2dXlUNTGmMctg/VbdnxK3ZiANenQItpMVGG2 ByVMF4VBVrNH5LhqCpkitrthB4UdlDqkKC7hQWXNzYwl49UXH0pqbnSPRXhILUUFO4BYFfGP6P8A 1/XTfo9TfeJy33f3bVeeP/a/fj/QfPHlYPR78V0OwpQvKJHs0wElPB6gUd3mAVesilIGCBgPDmGP viOBH1pajh+LiiOM5v8A2AAfAYbA/ALpLavcmbWbgVM1jGG2DSajU7wBsin6ctSVpfU5SH2/mLRi +Fu1POQOW6c+MvNyFVl6/T9/9jwA/v8A0sVsfMsGYhxQ1GoFzGe27DT9YochhcXPhCarsfbdbW4c xDH1Wj2WwKQP/S9DZqzRzZsIct3wB8+/AH5+h6rX6zXLQMMaQ4RqH7MElPlTSHd4fZHa+Sdk3x8s it2Oeh9y05D4eTGdr9sOJPCTnAbdPgACCfP9NlEbpJt4GsF1LLFKkcyNdRTPEk+Eb0bDA5kGiMT0 pJpEkhLSyO7ZYEvCXXERlsI5ZIty+C2LDEhb8i8sfRuCuDVpn2/Kdqv0i2CdsiXZGpuyKfsJP2Fe qa46g7jzNQlbp5kdMggcIBvk4zDHBmxdko3vx88f8CfxPqu1WDVgZQyVabwpHqvmVtTrAn5zBL4a +CbQrlw/1UmOAdf4rPIbGyM2BRXJsyObwSdg58A/YD/ViqD1AQ1JHretK0slbrdy0ureoSQBJI9s LYErfNX3LZCe+Q6rD1uHr8PAbSHwTFmE+LjFnmxv+vkH9D/2B2VcnuCblnQ1jGJOTmUPGr0gYr22 L55kLrJXKN94J/G3BD29bav4gJ9cwyYyryjw890QnOT4DgL8AAIPVaM6uRQmo0yRalHmggjieJtW I9PvkTrg80g+pjjikKSyPs5iPMyxzRrcwh08jSaZpn0+ALTBJWgjk1ccMMke7LHFYgkndclU7uzZ WLIVWORfliQCFeuTaNpPOr62hthGGNPXyyHFKO9oVJDHp63D2ett4Vjw/Txu6MsK4t5WQaS7JNVo O/n9/wCfHz/wYSTtP7+7WBpMtTTOYOutcHwIFbCmF29ilOOci4l0TabfcMRiAF6ebj5+upZMnWLN iUO2f67POAV6wV/1V8CYTuMdmQw9jVfbYsoBG50pwW4i+n5LjEmAcVO5DxhgDmK2+Yt1fNeMWCeD ZGfdBfJkdJSdPDwffvd+P1FwHrcyCqrykejdPHZ/sypKqkw3xqovhPs1btDadhh2hp7odPZK3ZHC GjwGBt40TRrk5xWfm3bCoj5/wHVTORJp9OrOfqv7rqEQRHYjSF5RqHVp45JI1wIYRxPjlbsvaHuM 4wSSGJPSjOphkUY57pGaFe6scFprN2TiOhWyGio59kO1jTxtJw65tSLZtHmXCp15DTUNhA2ghsG8 PlJzGQeYnNvA94JsyG9swzmwM2EAIO/gOP7BhaFToxPtq6GOoV3gNv2hW9xtchbGIBZOQ5d2ptTV WnTMLrqx8W4GIJtrCfiHZsHwXgN2NKu1HqJBwAAP0P4VkFuj4GDh0hShympXMJNOOGoTT28JC2Kq /nh6k2BkT7TD2mh0/DeKlHz7U3N5q/c98q60QhwBz7HtD7H+hsG8A6zr+7GOs6ltGHPshJl9nzyu Jh4lKnFxdwhmJiFZG4LfBLQ4OGWKzV2jjKP+tVW7boBf2B+fkDDQY3ZlcnN22omaqusgGqz+Txfn 556ESoFXcO4jchCMcZFxwcnuvHImq5smx1a50T7NFo9nVCGzpNpriHqZrJorCyGCWnuTkkfLrdfx shPDuAf4bx2PfK5ME8VfEZ5tJSdgAAD6CwIJ8AATK2rmMogqmbuW7aPC842WkNQ0hEMWNu1cyjA9 DDsiHZDIvmPn798PFn54sjN7Bm9/5Af/ALB1DrYuRAV2Q8BatSAem8pSpFpcDw8tDq8Wj2NK/G9q XwnmE8g4I/b/ALjS7yWeTrOxhDeCO/efPoOHv05Q5BYvi1dQemDTlpwtB8a0mpF9P0sMfe0OBqav WACn+myGMRCRJjC+I10U9bLSGW7eGVc8kcUnEKcfcV/1L5/0gT3qXClKkc+buMfURLyzlhj5XIY1 uA+45Uw489LbE5Osm154mkyBxikk7TitfxYtwbzB+KMQpthQCp8c5UNcJR4IJIUmHIJCerlLClAU 4fDmMifagef25bWCA8OCKsi2lm2PYwmwc+/z/UPjXBV4am08NfGTJDzyQ2IPalUwJhpp5tsYC4EI kNb4e4L6eq9r60+YMqDiyM8nLRCez8fQT4A+A98Fut0+8XwDJPgunxsOBZFkL0gPpvT2GY+WhEPN FVL/AMyYhzA4/FqxH8HW3lm2tZ/ZDZzf35+fgCC/Hz9q9OWnm8tTzfW2n4VYszT+MrfJOhQNmHUg JXFOMERFUjza+5mKe5qMloszVc0+m4sX61CaxZqOHx9HoYn43X4PMYPSbBP1YV8WaeTR/TOKng9N EK16Epsk7fG3J92T2grmQCYMF2YJtxI5FMqy8RsTjJHtSx5RyU2LNeWBoAA5CUNksTT6Y7qWWNdy TG1JMTECBcGEOeAu4u0IY6HQ61jMZF/8lVeeVVsYsobQMJ4YBDYRB/7Af6YVscsgCw7bVTKN7Snn aWnkUkhLMIjlTh6VDT4bIt1XT1qOEMGe4G1Vu81A+DOMo4Q2knKiP4c+P9I2ZVbw5J+/AZiBfwut wlTfDySFx4XcVbKbfTFgLdbmOHl6/mVz2vPdnxjyr1ezE0c4k7Gg7Af2DwAAw0/5cOe4bwrraS+W Eef2zh74PrKYLlRLGck8eGMMhjkhAM1PjABasSfFxaMjYu3NufIOGL8AfkE/1HdFK90ImjveiMt7 eWGDK+A7+GwfHtonE5cCyO1yNG7JK7OhddsclMgBbXXbZscE8dKsPzD/ABMmByqTDAnm1sYPhuCQ YaAKnzLj+C38xPZHCZ8Ageaw6ys7WtbGE5v7+Afv0PgE/qkkNkCjg5loZJIE8khVNXr5wV9PaeLr lsaCm30/Mp+bahj4ZwDeHavnFvlGi3vNm+Dn7dqLz/6L9xgBxTnpYHlucpQ7GDu0Roag+0zLurC2 BcqY4J9qGENbh/DsaeQn2Mt/lDc2be6uwOb/ALAA9mDDFSsliNClpjMaZIFepJivhwNTITANgCTF jOTC5RS9fwuBzDExgDtQBffHhjJ/fFlG+km/2AB0rHF12/U2pzE/GNR9haX7rxodnzl7hXJJ/G+4 yRZoSmbVk6FcYxQ+/I93214JNDRlkLIgNDIBgblqDPQ9SDYwXNZ1P/DaIolX+Z2TmMiHDW+B78Pb UeYTGFBYxZBhKu/ER/YAH0E+AmZgN0IMh7NTTqS1WNVaSp2gq92Wx8PAYlXoYZgZLUDshiHYDJie q7FquBm2vxhzzZw+Aw590jaTeF9jsAZX0AwyO1g5xJdjh8B/DxZQsU2dfriW4Q+N/wD4ftyqHWfq 4ys+bbJjsH37z/TyZB180i0HhcU87Pk9DjVlHVT+0w7k4Qe05si/2TMVWtw2Dip7tLBh7ntYwZsj sc/7Bv8AiBAFuq0rKGQTSaYyDTO+M+DYFGCUbyxaxfbQ5N9QBjGsjDFI7WQ3ljJahk+Lxod3zl4F ckg8gr2+PVa5stkjDagPMjvYGdgjqYdocrCPC4Y9bqtwWw7gPZAe3z2pwt8YL4yMBm/yp9+QfP47 BpbGFDiqdYgaHwk52cNrd37qLceW4NAGJdwtQ2e1A62HsneDnD7axmMyyL/Y9kN/5f8AYOmohtBQ yL1ONtlrY2zqqVUnuhfBIg2GEMpYRQpiwvi2YrcOnkIXbRgQzkx5t/gePuEdggM/77A/Hz/SMvvI h0w7zVdicNODU2gVykn/ALeLF2zbiq+18ZLkAWjMxDseLPDHQNvqU8MUenusUXAG6pWHswr5+3q/ YMGCo2JQmQh0GLyBNM7XvSVGZZAlDcsYWtrt/wCJs+2SghY5FGULbfqeK3cvt5sDH8i7+K5+vAdH Y0uGLrrJbVVXr2pUjlTUPLB+LqbRKcCBgwyOEwxwM2Bq7574jI3kxm9nKu/ER/8AYAHswrQmOEDM SWjKTglnZttMjCOfElo/mijDKTWXeLIhoeLjYEyDAq/ir4jIz4rjGY5dgQ2DQT6D9Bw38+h6/bP8 J0AlLGMsjKuJ8ZskAbIHiGQXqCLfEDWBMQ9PbhMT2CHAQ+7U5bWWflDN9JSXZH2B+4Cffn/qYBsE lDJ3M0WDW7a7BXwHbNT51hXQ8VWLAiXIXt8NPfKruCkiEyDdVwKQMO9LPF1l5Oc2CHf7/iAwAH1y QOBnu71O71uynHcCcXHJFR4FFg2VGgvNirxikcvFk6MC6VlgLKEZd8ZzG4tiwBz0S2K2Mkrm0oMS Nh6bauPNGTVYds+U5SxYtbH2OHrdkquYQcad1Sp89HZFkZzy3/OGzgM+g4oPd0Bv58vRyLQUhzba ih1vOdzxJhPsj5U7Yn1fFl1ye5AYuwxfFWLY9bVdPC8h/MrPHngwZ9JCVW/vz8fQX4/v/S3pq6JC 46ZM/FJW7PDOFkfHJcGEwpVXywNczF4OyTA8z+lUOwLa+s7XaBMYj2jV3n/3/C3cepceUIWr3ClJ tGhCTRnG2FPrGvXhTZPr1o3Jdi/dgdDDwqrIh1XUsPgAzHaApzlmRncIkvJ/6CggAB/kCJ58MtKk br2RuZiOx88iBGfuxxOR49w46csGZMryI+JmpUN1tbV2eOGzBArjE+b47ZDRWc9srwNbXG2rKrdt Xw4F2kUNDKdvnLUYtsHzHC1A9Jjw9jXz/Iw1lGKcGWeEm7RePoJ/YEHzwFIVMttsCn7Gyhq2HTZj tL0zpNzNGppPTTok9LQyNqLaH8QP8zCfR6lVcMYsoe2DOEm/Ae+/v2OHTskWRQ+U8qgFsydR9Atq 5UzuYZQ94zIeFSldSot7ATLIpMutVuuzMNPOmBSCTGV4Fk9tRgfCMQIHYfoHH/UCWDSdXxbAZBd0 38pJ9jKtbie5HB15baLar0DpfcB9kMq2+GHBf2NSr+BXIfk1X9oGY4buxJOAEF+3/E+APn7DxlXV BtPgZJVl08xO4MbZXcRxtndMInkwxUMRkpJGJlkErD6oN/FJFqIo8cMVTIRnUkhI5ZkGRTLdYj2F TpmU+l2WYzmjT4+c2tWwm0TX+cyWREmi2helC8SENOfIa2n+DnWhAVWQm8vgsZ4T+gQG/wDnwAA+ NociYhtm12hMk1K23NUpZfQpg/Z5X2i2n20GTExcD5W/D2pSQG1VMcG7yrJN4SdPH7/wDYD/AFdn Uoj6G8ripnT6SoExmkpQkeYT0eWt8DU0NyqtgmB3Bw5IPZJyGQPYQ0bEWieyO7Wj78+Pr4A/7nuk jYleSIGXDaCafY9Vq5inKceKZT7f+Gfu6zU0VXC/WxlvTzLIwGNhXx6rzrDEWzPJz6S8AV8CAQT6 CAP4MaSOSobdNz7nSgKrwMu73c8ihR5vhWLQsWEeeFcSnOwaFqcVw8c+6+3xVmiFqBobk+Ozkev6 SthnxJxDmKruCwthiqZ5DcB4ZDpNPZDFgWo8T0/YwwwnTdoLPBwgTg4AB/v7f+raEK3h0OpodaT1 tuA5qeS4O32RH40Bitkp8hkJhiYYZJhBksYDqQ4P/VCuzI1Vm97qt+4Cf39BQT3U9W6mYsBsJLia Nrc9dLjGl1+hw7AXpkXFePORi4A75Scy1PZkxQyHbkPWe1lCYvmxtJ1GIIDnwDgIBB6ajxvDHcj5 bUDJ2G1TEa2JCTDsBscHNNXotczWAPyWtrgfMU85AXx5wP2z7ydzEcJsiPUXgD6Cfw6YdRlMkAXF IxkzAQrIZCU2nR4oY8Nu3yVlkzyFFKOVGGREaZmDvLMrLAV7HeT+R3GRJ8JQrzfPPSxyylmXJpva dNx4bGzqNVH+YHQ7gTy3ZtNd3xoMWhdlqLfwzNwcHbXDY7IF2YrvhNGBu3uc4ChIIDz+/hLK8V/o oQqgnzs6xzNTZNBXxX+TcxmnQ4qVqaOoaIQW2Wh9SFJy39l2D4FpreKOhXuTeTgQ5iDfj1RMGHAT 7Af05+n+p7HdKxbYlkKRKA4EuUAT1blmSMhpJ5NwcIcOyLI3hPY1UCwAK5W9zvgWs75dgQJsHviA AIOADrsIK6XLIEjMXOCckQ0lsV69+OWh2hTbZ3GcB6HDZKHcE6v6rncPfON+wt8swm8WjsgPtF// AH5IgiIZcNMULiQIunwxkaWCWRidw5Z7KKBQwonnx0Y1U8U8Uunk1IdYzEWfUZ4OIpIZQPSH9Od1 u/uB+Oq5ZOj9/sXI9DAwWeiVxP8ATmzh+ZWvqebuFwq5kxiU3MMo4TJqFyzU7MXV1ikGYID1x8zN z8gV6IsDLz5Q2GOl5+dWS9QQZYQBMIFEjTGeHLSz6a9ThlmqT1dphGRa+OHFJURRDlWKmiAcFwGL FZeaOgz61rs/nyJ04+TCsGByPYbtnR5ae+54Sb5OwBZtbNZn9/J+f31YecgH6mfwD7/9P1+j/wBT 1BWJmA+BzFd8GpOc2krIEkYbIjy3AUmqUWUyd4Lgh1uthl/4L4PA1zNZnkp7jEe7AgRHPgAGKDhf uwoOiz0DLPlC9LB0l+1CJJ8GwEIlqZ9Z4jCbXXRRwXzFKPgYQZHQrigv90I4fH2fcXfDFJq44fxx wPAWDj/TPT8xHzbgJJq5kkk+mxtkO7hwOyF4xV6YJrmxg7DakKq0O1YbBZBz8lnDBPgYtZWTlo7I jgeAgD/7AA419LLtFwEsp8yW3ULYIckp6ZpgGv2xwV4tsJsvh8OyE9PhJ7BT7wh2hPp1OrPT0UKL Kzwm0aTBW6f7RIO/8/fiVlSKVgsJchQ7TH3+axFcVzfJux+OgDNIyxNuND/y0XKvHlsl81xx+a8D rS6Q1splpK472otnly1H+stP/wAOnxKfcloO74+cfhh4adqDcNnR6WuD4C3WYxoF6hRm+YJIN+t2 oj9ur4DYD6rvBH1UUjD4u+JJsDYw2Swjr41FWBE5lFtjV+eT/mLdVzHAOQmVzAntvMCaMTaBlmA3 Z2Cfl3gID8RIKCVOmmCaj0nkqT4hyXykWokvWvQKGQs2GermvbFAmCEyHw8PuC3BfGCpUcz2ztBo ediNhN8AID8f4CAAdWWkEKzzUsDUDRQ+ocDAW71U2BP1IK7D8VydiguH8O7HDUJT8ywJirBvA9QO JNZKfo8b2EOVF+iCA/TpBkMVSsn1KJNtyCBs5IY+A0rpQ5jobyZDbLL3NlwcabtxB00ztCHUyt2S Tir0ufFPyMDidy2OK40a9mB1TtrRamUuc/W20OpU2Yz7UsiJMlPlZXdKZK/T9SEwwtmGFbsa2h4+ d4xXQybN7drgb8fAH/AY7/O2JSdiHrVre5K006sky6Rsa2dOx+jcivTH8PuAtXDr9Ph0OqzGKeyP F0j+D8mRnwpZiyEdgl2doj79/QO/n6+zHyZlWXNrpcre25soCEU2i6yRCIYxaCwr4ZCGhmFvga+4 NQ+v59VmHlmZ0J4ZkcIlGwmOwb97bAfszVDVfVMH6MJoFmXXUNXVugyTSekGcA8spTjBqUEkDZZ+ qpDmp/21Asn1rTx6hPqF75j6Ut3wYF/FAYMD2/mA2nUFS8+PzIYlcix7njhTLweWU18VZtlrJ6RE cbvWAQSnKioa9yaSsRVY15N3xW8hWCnwin3t4I07SdGYNleaL3adX9hBWi2dOMZ9DwG/Fve1sxAh 0ieAVkbLkuetBT0+l1SUlJfee4sIA/6l9eTOotgvDT7qLfK6u5vCFymnV2rHT/WWQkMMsXGEJpWq yCG4WmZh4APUb97LBsncvFoZSnt3SeDyCffsevsgevhkOsZS5yTlBIGw1fqjSbA/HKavOXG+eVuy GIb5YEydZdoWYjrYy38FcYsnMQl2HPAH9+P1FUXUkHU67KZucLstktGt80dJthfTyVsJMyKhpFI1 zSZAxDQ1vjQ8xPQ2DnK2zFOB4rOARJ4OfPv39fb/ANGNyU8+xHZGf/DQjo185WeLFUTZvjOEx9mA /Oce54qqthXg35sn9UW/qstDMinJmU75xtV5Ut1lHT8hPSE/YZabFMOENDmVXDW2Bb+evz/hjCdo adEZZ7XO1o7+AP8AgMfsCCW6LTxbQSn5VhSSWnhkZBMfJtSOWvipWheA20nj5i3DT0Iw4LbUQT58 4Nj4rjJw4ExBfr+IvAYuYXZCmazFXKA1iyab2glJiDzxgPLmPqbXqa5OLhMT+IMjgQhtSGv91Iaz teAwmcCb28AD6DsG/wCwdbUoxMAuBgoUyUmyBdm1KkV/qip9PsJbq9DdyiG4EJhiq2SHMXzHZWwF JqDsyzjijI29G3bz6DsD8/c+6HTyuIZVCPGkcm2qMLd68vCooSIeMXGPHx0UkcUrxK8kbPNt7Yg9 KOPMdyzyDMJIuKdmJok8/ietRDYANHtVvgST/MM6exumVfpO1PiQ9OZWIh10uEJtb3A+B09gD2NW n/pYicZq8nWaz7WgE/r4Afw3/f6OI9BqaRYFWT221DZ/TmebZbfkqtTNi20SndDlIZAOyfMh2QQD 1zA1ATzn9UNCNsbt2uBv2DB2i2DYOnxl3rCV47UGPIdb0yx167Ni/UkMgWW7HFqcopaloWohTDEw yvp9xdjz3w2ZGfFdmJ2pza66rQd/AAKiP7B1PGEyGertPilKrq6yExjCS6nqWYnlpiueuM9KMcws hkDh0/6PAcOVOCystGIxG3v9UHwD9wHA+AkxDKIw7wzPzAzrEtOoU5gSzxZYZiwD8gkjiyQKkhnX CesQ8auTG0bAZpIMTedAqftomjfG4WDR65p9kU0hqU2TKAv7EwUaBIezk0S65V8CKG+B2QzMHhoM 9Pno1PkybQr1msvHsE8/v/AT6+fP7ygd8KJYZtCvhK1FdPf17Gwg5D5hQ8pvltwx7K+WQY+vsldH iB6xoaN7PdZs3CbsN7+/cBAAAB/3FGQhYDRhnMaQeCKmahsksfNfE/uR8VIfP2eFZG8TCD5sI+ej uDyzC1cYTObJseL9+/gAGwMFPKFE2GBXCgdTD1pYTapL8xwX2xbTabd/ih+YUnjMhwyC3VZ4hAtR k3PBoeWY5gk72f8AoJ/f9gACUdGEjm8nRAKqsvJuz4rxQ+eeOg+oR+xGeLLyyP5qqvtH7r/U/nqN mAktIoPvdLuAk7uVYsi8QloavzCU+Vkrq6fxtDxfIfIOKz3CyzhhZGfWVh4OBN8AAO7p8B7HsRZs HlLGy08AemNoEWYNqhBww4kHAnkho42QmOFJ4p62R4qpL57EwTZmgoM3w3+wMCCf38BsHUOUQjHa M8BM16ScJUxSiGPhh5YeLFlnq5XPh2oHZHBwHuFjYsD4dp8YTFtG5o/5RBn0HgPn34AAnleQttEN PFi5jb3VD8eMVu4XRzw9hLjSpg8xitzFtbX+1d8WBPBuHGSm5vKOEN+2P37fz+HTSzRvbO6vG7LP JE1I9Y4FWq3+8UQMb+bAAnuw07IA7IjxozZSDI8iSWhuAUtemlGzXdwBTKyW56/k2rAWxoeVMtGv dO8NqIsLILtBesauU8e4Miehh0MfDg4p7bXLgjk1coM2O0f+qBiv/wBgYRTMquUYyaHsYYt1vdzU NYZBgkn8wQ00Tw1PIMlbmIcLmBhVgWi2g2QYzFBZNG3urrsBnkE+AAfv3Um6ZmYLsB8Q3evUmt3K Z4eYSDr1VuQHfgLIPhhmSn94X8a5nsKGj2QjDGj/AFxd7R9wB9+fkLnwAB05rYr/AGaqrU2Gt1K7 Kf20TQ6rMsiWnoZ4SBlGF9DDmJhiGvmK5odwrQ4HWbxF1cMZgbs7JOwH9/8AP7B0BkzpN3z3K7Ll IJFxwd3JGeFtS0oskX0alYAXC3VWLq+QPNH/AF8eSeqc6qA7hYwxxlD0NlJVe1Rqcjuw2PXrIh4b +BMD0/ups5hPcDmni0PD/aKHKMxwHik/fsd/PYbAfc1Xg49lq9Mrgagaul5STTl3D9NNkaf1Nkcn JstCUXr7gYeyFtkTw9qdj4EGt2YZ+M0Z4NJJt4Ac+4+A5+f6WItXj1yDs6AGZLkGvjIgO8fJDuBb htSu7RXMMeyTFtwW0PjYMDwNqhjHpX5ysvAQ2beMAHgN/wCfY3GtSYYA1XTN+03qWJUnqMcObj3C sq3xQxfExdjLbAhuHG4dkMAcGpMH84zcXxebM+7Xac+g+fxwPgHyahVVVEZSWZJEi1Bekb+PMv2+ njkuIybLJuVK8rGnzP1AkRnR45G0ynKeN0BEbFLF3bgDj5/V1X1GWIyc0zlyfQ9bvb41O3ehwzh1 hXALcrCq9pW6/tRP0xuFV1WQD9tLQ+CYJorOUWd8N4c4AH/bu5gA388rPWJrN1hp9J6cwNeqVP1B UqlfE/Jr0x2fQ+PJtjchW09kW7ItRgmQXxwodH5ysob5wYI7G3bfz78APn/P9KRQXrnDuatqG0rV iSrFn0pP1ULwFjIL34bSGix4bAHmocOt7I+FBxHvjUYGPO6f7J/r4/5/790txEgPGtcRaF51XKTq gZDeMiwtNQZ3fERXtcDFcOebyHhiG9lgHoFl2MHs1ZaODrB3A2lb/iB9/Pn+q2kZgAs5dEjdX/l2 Z2NEUcbMVfkB7HC482jTGQRgRhJXeSymykqNhg0b2+5VNlwoQkcnKhcdxZFe7mSzrVsYlbVzVfcz svV8huGmeWybpYVyVft8wOHmrcNwmvGJADVYcmzK5QYz/wBbA/3/ANz4DquzReGqTJmJK4m2cEaq +mamu+DTs4lPFvlOXIhmF8P8P8kMCfv1wQDk0Y8i8Bgw5shs5+h/+wdMFbXqv3DJsYynuz4uB7+l /wCDDV2GZXNOCdNB6b3UWw9buAfeOWjkNVh1n2v+zb2E9+0X+Z/rjESQaRfDVaukHUhhkz+W3Ivh z1fqaeCsaJXKaHX5i3MuAQHT1o4pL56uXAmMF2hii7I7cH+wAN/Ac+6SI5os/T+o2BHNpoZmx08O xFHGiq1Ns+CzHF87ApcLY3f+JxMYtyFo9RPHJuySSdnqynFLsklU+3u7jfWA1dfFnGrUFfBipba7 Ym7CH2PRuoC7nBD7sJr5ZA58MfMmMpB7gz2ADY1wMzyUKo3B/wAXI58AfQWA/wCfQYGwEPLSNPdP wJdkEg4FkJWE0JLIHX1q5Pviu4EPwmYZDDAYtTs9Wk6Y8o1oWgT9gmKSdQfvx8B0eUXV96Ma3DSa 0oF/ZGNJN07HrHOkWFMVzynv0xxT5geGYY7RDg9uAz3AYzU20cmB727HOA7+APn+QPyfqtDKVVH1 OJrdk21WCQqv8tX1IJ8d3h8NLW0r2QwLYdwe4cxxZLGA1/sZhnZSgtaKHHYJzh/fvP7AAP8ARGF3 ErI9YzTWK87kLRjnIcjcJHBuq4uxQmjVRGylkkhWKOZhFGg2pYZWZzFEuN4KoBz8khhiVL+78Ibv YFkapU3THV1kJE0ZdxBVVpF3TFdXh4HnBgtSt4a2ycfw4k37GhkyaGhsxP8AZDj8/AAHAV8AggBW n7QuS1cxVzbVs5tcANbjXdPqtkYG1bigdhira+4VXMT7UZLBfOedpTm2PLQhjFk46pKScAH/AGAb Afx63Mg9PqCl7OMu9hSaf5UpQ63rE9IXlsWmlvih6fmB4Yean/Dg0s4AQd8DWb+KBmWXkJdiS8b+ vv3/AE62xmySLr8Or3Sn3HW7QAuSsgwG/iC9sKGkcyqtgmQ3CyA+I9beP2MPzkXaH0c27VccPnwA Dfz/AJ+2eLFmUJLg5QhlHFFOQbNZWbFfA5vwMZlVXiCw6YjG5GNSTAkdpahuSA3tpxeTix1JVAKj 6lqQPJEW5tJh6BDf6dpCHWLgkrcrU+7IlyXAPuBkL1xT5iAhKoK8QTxiz4oVoE8AnpdqTA+7AAQM V/A/isswPQdy0nkwEivbIG0/C1aJDxnDR8sOhymx8Q0/h8yG4MnHjJwCwXxXJjgqHpyWdQuyBHaq 34/v4BAPoOwM2TmK+LAH+eh6eLaQ0M5bA+t5lbyrsTbQs09KD2AYp+1FuGH/AJ5t+eCcBiNV9NrL N924OAP7+g/fwHX0xV9brF4AYqRkqUPNJDUiwCUNplmJQFhlC7s5gt8kidn3CnYFwT/mExhRX8Gb 8H9BPnz/ALoOORg8cpZDNDjMJoyoxj5rJUf+r4AY4qEscHLjSJKAOWOUO17Ih4x7riiiur8Nl4sE c2jbchWzPZ7mA1UnoDJpufLaU+B1LaNZMiETLC9PtqfD3gwGDfMOIZDfU8ms3ILGIyOECdq9gfsO fAEHqy0e+flXBYUqwKxGodX2QyS3DJ09o9sGK5F1khy1tgDmKrW3yHV62cfKvPWNW6M8+ywio5vm 3PtgAP5/36ZDZX+ZYy3fGuvKz2RcXA7Ip1/c1/cemRbGrKxmgxyRkuCt63Q2BwOT1/BHuCoBnF3p ZOG/B4P+HPj+/gAClCMiG0WJMgFGp/vJSrF/dyHAzAlDld7qbAoe8YGIcwOPMToC++HGQZ7oe2f1 sE4CffsQD9v/AFdBjKsLbTumASMbTm/mVLaqrt5N23IA6GPdj+nzXcSGaMtNKdyBcv8ADMw3DeJy zaQ2Bjjze5f5JkZBKFOhhSBOOcMTi2FZURZdjV+PKNU3Md5oxSMIxlOyIQiJnM/qw9A1kBDWvOke uQdKBVKObgJKznQIQtGsq7aHtXXrGvWlErF5ZWpDrkFptJN4MCq2LOxsaPkATXpvsTIzFz0k2wpl K+RN9EvPyFnJEYZWfGg+qGJG502lPkWfk8cn8+Ok7jDgcAcAWTQ/1sf+Oq0HHyZfD6ku6GtxaTQ+ 6IlfJXlyFwpGpd0iTCAeq63hh1uwO4wFfpZqcFkYrtAyzDiTzYGg/wBAoOwdW09fdRXMQ2iKY0uP ltaY41ZV+Ntqv2GGmlGFyira+yIa2GDp9gTAfnsK3ZllpfKg/vgI+BfvPgD5/oPh5jhaCGSDNuTU teoY1bE1uhzF+snByq8TEF4kFrAxDD2RvCqeHeYWCau0IyMDCJPOPP7AAAdcZhOeBbQn5rkq1vai 4NUl6n+1afEcEOK7s74t9k3AOHZOPhzk8g+TeM9+FcZsdXOrtv8AwHwHTJysm4ZAkvoy7kB3dx4J MMdvamisylDnkDhgtXkaKKQwXw66hJpJBIg0zQLIBqdNIDpdTpNT/eF7JBqUmjuyrRGlZVvHj5Vg 5i3pplV4/h59zLdsXRW7s72En02UYbulTB9b6kNPYcOGq/2UrAbdnrMYUFsxPwloo+//AOT8f6PJ 9qL+TImNFtDbRZLfyZPyOYPBaYKTUh8AzHBDQ63vgPMxDwVJggI8Pym2Mxw3ibR0HsGAQUEAePn3 xYGZS93Xo60hmuNS1u7zNTNmo9e1vX66HfLa09nq5mJ/JA/w4ZCZ34cLa+YzUarlBhNH+78BPgD5 8+AQQADjkWQ6QKzuAe+VjaNhSiSTYRiZW4/gZQWWfFfh6GyIThjZBAw1VLjWnG9r7NrJN4N1cbCW 6Aw2B+Pn37pYCtGoCPvZqlsuG1nQqrbdR8e9PTsqvd0To2RLOiIyM7RRvNLH2YUY1llbYkGfa65e eVPFG6PWeoC1XhJUharGW+3oN4q+vXxos2Grvks9Kqv5jgyIb5W7B7gbQREen3mzKbq95GVW7BAm /oL9v/sffuqrUWnyEggGXLaW+6laGJLZtwcfLcCl3CU18h1eHMLftDHp87kCHanBkYWUJvPCTbv9 BfgB8/8AriyFOh67Pj2+K0Hqchob4tlmDTq1EKcMHgIlyAhx5iZT8MPMT1uxlKrm2q4ZPug0PPOE mrsAYB+PnwGCDsHUOLZLwQ2TOn6aQ5LJY6rf94h20ru8Kxk1TilJi/MW4eAdbtBbB4r885Mo0W0V fZm+BAex8/AAH7YT4Dq0XPcEOy+4U22haUOcbunklnwFMvgc85eBVPatG2Miwx5KyyNFJEjnDNWW KCDPGhRYi77QCTYrIaAeU0ZMqyw9tWdb+SN28lvDu4yosuLKp8hai2yMjJw+ZB++Kq3cCN2bZiYN 3NpJzHgB/wDEfnzZbH5dfB09klVjGAhskaXDGLCYBLIeQ6yPRQ+8cwhzMGBwgz0/BVmjbMxfBjN5 tJB/19/t8+H6n19fukO7O7Gqya9PEtpcEO5pCOYPW0vOTRDYeSJ8xkQx8wH9tamQmzFENlrMGku1 XcBPgNgPn2DYDVGhWfKcKlPAXx2L2DlG1QAHyZ/AicphjaX09wxrirFu1GRgMfAYIOIcoUrBXt8m DNu2OLBUW/sABgAbAaurQxiCN48ssBKMHhrC805vO7HcKxvm+AK4yM7ncwxrGDdQ5VeD7i+Pnt/H XJaDQUFujhRkqq2S1E2vUCnLYT2qMJW3LUYkbpuD58wwyQ18wjntN56Djtiuh4kzn0nABi/AOfeA QtNd4L6kyVi5W0kySUUxJiVe7Eg9hQ0I9wOLMvD6eyOAev2ScBIYA1sZumFmDAn+lZ/gP7/ieAFT WvtGbDPVUkOrvnDyRJ3/AMaG4WFMfFdIcvhj5iEHT6rMD3AHA4kq2TZnsr+c3ukzmwfv+wYvyrre 1HwADyQwsaEs5ImLcveLUR3dkcorY+NEMfDM3Ah4LbgHOTyAJVMcG4uTJfSfPoOIE+/b+f6kZKhU BxdETdXz4Jaef/75GZylcZ45H3EWVciwV9lv4g64VVZ/LWfaD4oUOb4Ox9bq9q1PVenO6clAGik9 tXmAlbauvb80MKa+Q94rd85gHTpk5TQK0BcZZtrGLIMJaLtv+wHwPuwIKCLTGRPnq56AZJDHbKJK TCr0y1I93GJQASLF2o4GO6lJh+QBwdLOD4D4yTFq254/dge//wBQHz4EBx2g2dguSXTRmrpJya0V Qleq8Ozh6RMGShIFomL5hwZafQ5g/wA8wITvue6C/Y54QHv4ABv4A/07LMh0PXw/4DRqo08TLafU CJaLIByJYdNsZTF2hgQmBw9kbxaENHbWBSgp6wzbosoqO7BcN/7ugOPvwHpK6mNGhR5Uz1r6iXTq 8WRlk3RLPgpdJIY03ogiSR8ckMwLBXfTA7srB0TTJDHKUatqMZbKng5cCQg9vj99D7ws1cV0e1nf 6lkZD5qNX7zkZLjXBl0jK1iRMKoxJt+EJNrqGuhxxH1HtjGrQ0j6R2Pqs40d9GIM96MM02weoXcB gOkYdM2WZcFE8Luxbr1Xpmvaf1CGavilq51BTCDKhzLssgPR5jltwVK1B8EYor/o7hNiAPwA/wDX z+wKfUownbBt4FrfO6hBkw9njofqEY8clAS262KxgUIMyQoiGOtSG9rwL/mR/wDmZiS1h6fUFNr2 KHgwYrx0/hb1w031IuSElNrpqf6rfIY2ZdF/ZOsivYYGpYlntAdfmXu4p7ItjoSrWdoKbutrAzF8 Gc5CGucgAB/E+AQfcAyBZI29SeaZJZp5ADHuSBJJd1InkzXLbMhUNiMrJxXpbtHNJNKUhiWLaikC kh5HjjjiaVErvzEYLLkNu6yfKweq/D7LUyWw2cyNTGq1cvVv8xwr1baIrDY/JPmLe8dkx9qQf4sP 4jHzBZFtDw8nObOzyg8f93722CsZSq74Rw6Gk1zVa2ebc6NL/wAFkR0hD+VEsauQ49PWzDIYDj6r g8gAtTITGNH1lH5sb58AQQD9bvn8Y28Ecdcld17aGaBN1iTW7As2pySfU68IAyq9KFHBfvhPT3Bb mD63BTyB6cybmrtCz5urgmwP2HgH4AAAWKSx+oS8ymdXObnb9FshbLDzyTfCnZEqm14CruDhfDh3 4MOBDlSGQA2pDZvF8mR3Z3Sfv2P7Af6GLEIqK6epkriRtuSKSGV43Ro6a/aCDkPcRXbZkuW9uPFM ryJHJxHUbRuexkjyqO6axbXS/jlVh5At3OJNlqS3xszxJ3IOyTyExKtuXYxT8J1u+Id8TMFuehp6 HeC2ss1X03uf3bz/AP1fvcABrdF2RcEg+Lys42BzbIuOvQ6HcweXDqWuWE8eT2BPMVXZDIYIcV7g cqTyaz2v+j2ib+gv37+A4D01MzTnDXKbY5V0nuK21YRthq+2qNreLMFxSz4rw2CZW9kOEyHYENHP fAhLazjV+2LLwECJLxv/AN+PoOwdJ9taNUDG8WplRc6rSQG1BlOZ+TTKO2YuSbqaF6jFsfpvT2RP D3wPMA60uF8VU/bLkfWZZB3YkhDmwAD6CwHwAA+cSojGPchlmGmZJISYpETZC7rOXljilwDoRtSP 7jlha5grZNDupKqI4jB07dkcbY7aiPHjHFrJbvvwtcyQqrNQFdI4eeFziIdIs0LZsdcvLPiB4qvZ h/FOf1x8DTUOyGFwOfltpxJLT4rec97rqxAYAFugAD9sGMllg1+UUocM72FRVelLItp3rYxbVLu9 byjynbVX8gY8GRkT1vGacn1/ypwJsyx3fRnfD6Og7Af8+gdPfU+O9CtbZcVBrJ3pWNTDGpcr0+LD uGvhE0+AUIOOtQPiiGG8/LVJ+LBYz4z4q9XrCxhhg7pHAMMDy+f4+ATUhTW3G2APtknEmgrCQHdo ZLOYF4OUixHLjfzFsuyGGRfmHFLibVxndBlmE3j/AFUAIP8AQP2BguNp3jcNH9O8qSJHJlu45xvE x22VY3rcDVIjeKGNk9Nk2A6iJ91BjuKVxvGWGVecmr+Jh4PuJ+KIohw7FqV4aoDmeJXNpLh207mK rqu2C3A64tg8BhuDJMT3yGydyIFaEHw4hLL1V6GzbFve9gAADYOfdb7ImHa5zM7NtDO+ZAmcTvgl Z1btkOLtDR8wfD4eY5hxsHB4HOfCbyLtAZ7b2bOn0E/5/HE/0wo7I6Zws9Xxm4H/AOek2ku2A+Dr JiLb4mrzRKTyIdkcIcOYnuE5SuADOh8ZF4o2+cKq79g3/wA/0pZGOUGtyG+McyNui2bU2BbziCR3 GTe428EWRDQ7IDQx/nqPIQec/aFnE4ESLRR6ifgG/wDnwHQkqJZpMacQx54vLtttA1hC8jxQ3uG9 pVyoZ5YriUHqGOIdqPMcR7sN3AH8ZViPxZvx02ocx5Frd2IbbXoQlXyTaKQ8OyePh3BxeJz1DT+B snzJY8wqwGE9BME0ah7k/rbulhsB8Af9uP8AS95BCcjjIpUiBk5OUkuy9V57JqBhLi2hITYvME8w YhOCJw8G2j3ydM/a2Zm+7bJsGKCfPv3gJJHOajG23LJdzNnSZkXV0S3BwD1vdyfYwtsxaLs2dPrd 8hp6fNeKWYENqcNzq9Xedj7pBEc+g7+A4DwLrTMdJrat9qotPNuF3EtSDDX+cSX7YtVNu6skPnlf 4h9MbJSZn4e/YNtqGLMeavfO5jwb7pI5/oUfKJ9xt2Y4mMQTVo5o7xzEeBBqRZY6LEdl33UsZanj bJ4Mr9cx1JDQj7lOfEZupX+3s7WviHaF+2KH1AV6xmRuJ5pDjVPcnaOJfE0BLu5NZF987qWpW918 bsbvBPVQ6MTaFcYLB8JdufW79+2ABj0n4Zy3CjJnGaqMVuYPTJMsPZAFH4eUtphi/D424THCYHHz J1lr6i1B+c90ODPBvhJw+/b/AFFv/IAF6pAezNOdsDLubZi3p7q98ktqO7ZweIttDQvSleq2Bw7V zKrMD/gz9SGANQWUZoaBn+9jiCAfj59+ftg6SbJmUWpL9VocVVjW1qgmXGJsi2s6RcYepa51CaX3 wPaExPhoZd8YA7x3QPYLayMV9zGHNjdkd+AfoAftgt0NJJBMjajTSzTQvgoeGTP1IzjMjDEVtyBo wwJzxLUtY9TUrPG0MMsCZruhg0PrsXl31Y9/ru0cqNI9x1kvab6FbEF0m22pT6lQ9ekhtlnkCspA 2vU+VgUaBJQpVae+sjhSaHD558BAbZ1kExituayc7o1dgf4Cvn/Y/v6rkZcNDQxuU0TH/HKyUBeq ca1EHcO0OSnUvJE9xiUmYmMpCYqga/RPJk6v4MjA7RSTbx/X4Dz9RAHYU2OquzNZprtvzuHdqnsD WAtmEgxXNoUg0HqrHh7Ip4xcHIIdjceAznwmMF1esjDjtzYHi/eAqMBsHUbI+PbS+BpKBMCXAuNS lMtAbDr9HmafZRYXV6e4LbIGmskIgyHANgNoMPWbPclX8mBpNXBPvwAAf58f61bnpwRu288WeEzC pBnt5Z8nP2rj7caPm+EqOdThwHdFMX/M27o52MazPGJ8+b56nhdqPjHUde1KnVXpL066oA5u+bYP Xwr3GnnrGmaQFdkcDDhW7JMhkIeLbqArOd953QYzc2CJNV4n0EBsB8/7KW0LYsS+XAOUzVsbZ2bD W4iuSs7TvU8yLKXkIX/JzGQwn9r6eakMhAOYrNvtDSzI1VpPa44AAH37/wA+cEeu5FLWxZ0WUeJc jyJNe2DeVPtAlku6KplKHtQeydh2QN8AxB2+BB4N+ZOTfdqTOfv/AGiAP+HRHT90U/3s1QwFca/q upskt1lT4ft/YTJKV2zSq0GR0O0w4eG4J63ObV98eDHiyjMipBukwfn363d/AffkSYaYTSNvOgeF I1j/AJFzyLBpebjWhsx4DbJfubLg4y+pIjiiUOEllmcjNBHFGZC0cXbt1gQwzYMGU2MKeC1AVHej Rp7AUvb8Mk4bMNEWBDd6vE4/FYUOrzDiYmUOYDh7AZK5rSwICraizxe0FoY8d7eDoPPrd8Af391w G3U3gdvioH3PWrTKaIwunAvad2WDXy1p8PJKxbS0nsweWXp+aoN/bUht729Vo+PmHdQ3aKQbt7Hg OO/efpRV9D1PY0NkrmKh6kKrq88SSK/3IfYVcRQNm7CtpxiF4dPr9bBcwP2NM/F5Xa3g3/QPn8D5 8A/gLOB6juOBRdcakQucSZfmKdhBhx7uaYpHUZcVNgXBeqyZMMMkxwtRHuhgntJkYMwF2YzAjYW7 MV9/AANgQffpbRKZQpeFJotVJKjSLqpYxHrsFGEk7CJpBFDKkscDvt7iNIwGCto3nkjLR7xSaHTa eZIvpVAfRxLGHP0mMYgSQpqDNtR4QxzNg+B6p8ZaA+oYqRfVX/h/N18BcidNXYbjXxXOqRLDRxkv OkQq7W1A2p3QQyxFcDZ8JOgkfQ+TQ02MJyuLDg6nlAx2RnTcyCeqt3Fg8yuKyqnNTlUPERwcZMVd U3E4MBZxzYkL0rk9ZbQK6WDFIXrjMQ6WEBBRkOKaywcQXCyxGGT6c66BfVMbWLJSbU5AWDjRrE1f HH7P5HXElYLLIsg0m4sjq+WkDNmrYtbb4s3dmhfcaHFbbYZAbkLMWNPQ6lcLGzqBqe+KTAo7u4K8 VsZ4r44WnZBhlcIbhMau6Fl1X9ZwfCbMDSdUTtVeCCeAH7dxQetxCn148HmARdpkqZ1BQ1uwsEms DHvqMPMMpnWx5gwxw3DmGAQ84IhtwWVlWtDAm8BLR/7AfYKiAP3VnFZskSqnMZVfDKuuDudpveCH +CYLOFcuTBSNc3Ynww/JNnq8PBAELaarUWXkoUvIZgb2T78ffgB8/wAgwQ+MyqzzIBV1dDjZLc7P +I9P4OWDlHy2N04fMWw62t7gH+BpvvjEztjQURucc2/QBz7/AHB1h0k27Gjp27XokFonywAIa4pX xu/B8fBbnHsarT7TMFVzDI7PEVMsQF4ZD1YVzq15HjmxyOq92AvuikL0xtoYaEybkqWNfK/atwVu JfENod7GTofezF87qQx5gH3AQ2oPyYoLGE+bf5/XwAA+APnyS3LIZJRAOLfNPZvT2+Xxx60JlkWB LZJSuWptyWyHA7thh09xcO9K/AnWQsMuozuZZtqXZ/Xx8+f8Af6xkMTKqONVagSbIt7CS+OYmJ9h MhR8EOVc4sFbraGYmMjAH+AQgQcO2ZTdCRw3vYM/z4+fAbBsFqF/LqSfD2GVqcJWdFJSWG+CQG8E jADYy85Sg/GzCfMMMhCZ+L8Hhk8oU5Mcq427YgNg38/7bBrYyx6qA9wSOGSAs+7LhH6e2AiQyRkr 32JUN2MMe68ymNIZHjjh733HuLFBI9ZM75HHKhiMT4PSZQnmO0Q69XBdM1KnpoEIJR7IyrYvnmSH LlAZg+Gn2QhvlkMCGcUh6kq3Yzdr7kZlo4E84goJ9+t3YAGwGpQxlu9uPi5PGkk+VMW2wwquxhIf ClSsIs8yMBhDrek2Snx4eah8SR4ZPgb5xk54TfwGwbB5/qT4utHk/JbWMwgWE7n41e1+4WF292vk IFNW2CGY09uH18PBPME8Hhp6ZuBrP73i87+/ff8ApSrcxCXEMwuT9yASoaQJT2Q8HXlw8h90Dz4v zORzIfH4bVAsA8D2xZ/GZOq//IPv3H/P4yyRyMIhgnaBHBEFjQg81GsgjS7HsRMvuugV1rI9BZBk 7I6GVjcj5GM27sDI+NcCSRqJOONtkeIeZYDHW54g+reDVV8xkU6fJXAvy4dIgacPAZifDZLgh1un r4dHx03oc4wsszRaCz5sJ7YbB4B+6kmysng88E/+HhQ9wU5ZzQHbRIdJhtMQwUoewhYDTfYFwTLI MMktgho8Bf007PwZoV/7JaP5dQUHf8eAgAmO0EHJwdnx8fHdVtAkyWEHSXztlz2pVNXihwC3vAdk D/MrkCwNtcrQxZ4GTrMHV3CarAIOPHz4ABsAGHru2Fev7apZDdn9VSLOqWIn0PM1EFltyOr0UWYH 1uHsik2QPaAfgZCfOD9jWi0NsBhMMcNgPgAC/v8Ah1qni2I4XEaZ1G0emdc9uSSgpMtj1IMS80eA xiDyZHbxbNE6s7BjeUIlE3JMn+XD4xv3ZNeVUKrq0QiOYn2QeXNhdjD5pdtGvU48Nj2En21dzxfE pPIbOZZLUhuEyceTz1qJ6yTaKvqDfDYRKOAD5/8AoE/j0mVdsT4zJYRRcyWTCtDwSvXBqhyJcKUL iSmgOoTLIDp5iYvrUH6G8bmMKNFZk98N1d9+P7+A58fAGDBVYPTSl1UuXxMNnmRJf4lXkr+q+wkI CrLzRV63aHeAPW6e+OCccA2h85bZifF3nY+bXZz7YPdC4Cf6kcuyO0tuZItcUHb5WcNbI4cOrsNP uUosmi7gXzBhwW2VDHzFXcHw4n0b4uoGZ582Dx/oH+/qjhY59zyKmFLp2uqvYLmuNn1MeDnmfbjz RbcpHVHy7ULrkdw1ii8ityjZ5rHgE9QWa6A4tZ51IpC2pGLBz4zuHApFgFob4mu55XtRwtSt2Sk3 wxX/AIBgn1zgzLKHqMWRhzzaOggN/Ab/AL/0EpbRSdc0GYsEo+US4ZphblkNOqTaCRZG/CHJDcHG HD+HfAer+K2WwUt8wneZRD8HvZvtHsFu+AP7+1DDALpvMpmLzy2rOsamba7PodV8hT8a5K1zaHcD upDZPx+HsbFOgcb3MWLJ7HshwHyAB/X3gFLHt2v0jT+SqV3Drct8VYzDIs488MIcoBYSj44WA4If 4rZPhvFaWApVWh1msi3zbNkdsMT6Dv5/nwDrRGz2dwuiDUxuXR8aDhqBXHuPbxyOifnEDl9nYiX8 xqVxGX+Tn45LE9oHQHMj6kKqqv5WbDQM8yyah0jvMS8MBqX+HSUnp9PrfdQO4L7IjoZ/uoyE3nnh NmeXbZHjn4BB4Dh1aKY6Mi5NZD3JFJkY3AbYSPqEMNFesgBN+XYwciyIdqVWh7gHnASECDW6M81f cnGQbsb33339BAe5/pevi2wLrhMDMd5qVnC6frcsr5z7Hdy9oCmEDF28wtobInzR4fnlf8VmE8EM XZntaPCfoO/7AhYn+rWkhFEKJNO01T7q04oraYp11f8AJzX6py1yPpVnfRI4NjpZZe1vq9Lxx1eg TVqzqdfGZa31JB+lgwOoDF6gB70455GilaMOyQJKgdhpXpyTVLuV2Y2SDi12eBXLIYnHfCvrI+2Z b5d1i06RqE+NwRufccfHd5688pFbvFgyBsU8NNl7BDkpZBks5XxDlCjDFFzPhp8x8Q5g9ctRSYJ4 OEzfff3v38B+gDYNgfC+jQz1b5zIr5PG1d2CKZA8eX7YZLupGX8WyO2ye4WQYMD5kBScYAP6yUGE yfNgiT5894Dfz/SlHvke1QeUUrmZZBhIW1tIaCRjj33KhnyVMsCHadVmGTh/wXxf/nFhGV0NZJ9r sXc5v/4j2DYEF8V2vzLHS7gbXKZGZA1etteyNXTvS5YOAtBUi20YXzFDviehp4/5z4QfOBsyy0U3 +9728Pz8/AH7wHTZFxs37yPSngt5scWW5d0fxSbb+w3Vdt2M8MzDEqMtzztT1jiQe47Zu748VR8/ A44L48NMAlGiwpDIhpDs2K7tnL/zK5PFgNc8vDzMZi3DX7gB1KOfDnB1lDfKzKcJSQhxB2A/9+fu oxgrewVLMJ1emrYwxk3MNSJFtAVdImi0O40OLuHA3xkcLUX+VcefOYDLM4GMWarSQgSqwDAAQfoI Dpy6pZAtjqutwNczBx7BbpwSPmZ3b1wjHWxDsZw+YyGHu1Ia+YeABCfBZOc1eLZhhxJq7YwGwf8A Woj6m0/5ZieUtq1ClVyVVt06qImQBJGGwMhnogu0A7gHoZw3ityExqPWhdM7k15K+2IxxJNuwM+A AAEFAfvfrPNOzQK4R5sskQIZVwrHZhO3LHeVv3tftNJ8F0KpuMmSR+1WLty8bVmgFfNAk2aIujdd DZys0NNzM5cAocbNngfMW04ODCYu4pMuRDZCG8Pn1vEw1AV8D8zc+UEvN/ePPf5P3IDA4cD4NhKK ZmKL4uDRrCrjUOyCxgWsMKHKDp6HDZKTMQsA4Oy/gKvBhgsoT2Pe6uBnwB/+n37phR49qttD0CGq BkoqHZa3GbNP4GjY4lPaLasIDYwdwmWpyQPyDY7LX/dP5NV74zDEfZN8+g7/AOfwPqQfmpykhy7o WLgHAMqmkikrZzpph2UKlu1de3KGnYVxMqCJ+9tkCBBqwnWYsmNetl9SQcYEHABjvwE/1od42UCQ vUm9EIlfDPExWxcqwGNihifJ56FWOeCsnZsTWkQjuw9KRk1+3hr4/H5f6upyJ9gTNPrHXo2Grvhq vUckYviJMA0kJ4bDI+y3MtNbsBwVYCe2gw7NxdoWazOcJNo4D28A+n9gqvdGZXdyOFtZtaTGShw1 tKUOOTr2v20wLFyyibMH2Qt1u+GJjB8Gy/gNUzkyELZkbuibCG/xF1YoWh6IItRzDzvalf5+rQlf +nyhlAbS8X+IvS/hugZPZO9reySyDh/Et8CDDZWa5GhZZ8OE2hwIAfqIAfwXzx9P2BU8fNyyR5WM 2QSnzKK7gMmS0CQ9XuVZFKlRHAwn91FsOQ4q+VepVXxm3/syy8ah/wDqAPn/AO/1E6Fy0JfHONoW dMMcLDFBk2aPkMJLX2kY/gZI14V1Qvg6NNFJchzCcq2HpgY8juzJ5rEW5g7RbivR9YoZ6wrRzk6p G2IQQxpASn2MerIDF28xDtRbZOPuFqPlfb44M21q7NZlqcJdvcBwHtCA38BV1xT7EMsmSm5tkMjt lDYy9V9b2Q4MNkNDl2vKPnchDmGOeDpmCIvoZwOT/wB873vhzf8AYEEBsC/0wijAUocWZXZ4Bbhr bsEr2v3yt5Esw+AWFo+GwMaHcExkQyCGDfU+fOcCdmIauTGbIbSAaCBfqEwPgOegLFVXYGZQVbh9 UsowSPZo1Ss2v4bsHlh/5vUDbSePmQ+H8bIOAM9XzajiFlZVyjMzeENvHPgHAQCCfw6QZjQMkTd7 okmYx3S3tYcGsO7jm8hRFDp2ywYqs5Wu1mjekSQe8O39OWOxsyU3LSdvHVM3BgshttAw+NEMaeaB ra2ELOVbQlsktNYHJo4+t1u9uEOq9nNqXwDYcYzbWMWQaT+m/n9g/YOo14rpLcjA356rXFbmT0nu xnGCMvnh6zXKKYT/AKeh6kMWCt0aA4Ad4WWZX7mEwZvZAXPvbf373PuDVo6A1KxE8zVWdq9PBrCU kgzpv1OvC8tpp7mSG4p8O1FuYYWyENIn1/PrjBGwQ33H8o+c2B+59gAQX5BWIMgV08OB+UUGjVrh MlhjzKfMNheLVyRaDQt2hDQ3xPW4ZAxzyBUsFw2ztezE9ktFJeOfAMEHwGwakAECJAm3CbISGCXf kkJUTO0MqxZwTRFo1VZDnkzErgA6mSZZi8w3nimEJb2FyaKNXfjjIkcmNm8KyF5B2V3XdN1VYlwX TFfGPJvM83THm1GV4EuF8VKJFoYcfwNkmTDDAYxbcLa3d5GK9yLTMcwSAm/0GfAc+fkJ+6TMyzHz NpdkMgclAre2tOpsTIsIC4JCHUp6wnxomV/MT2TGyJt4Pm/YobXyZFxKVmso4QJV2KDv78APv3Vj wWnDVHRFZ46lq9BKKtVWqZTvlWXM6pqnreubQuKiGlawfWQvaqGXsBw7Z1AeVKsWGgozrLM8HEkF j6f0w5DgAYKvSOcUO4WFX1g8bT1w8/qYC04dkWEhyiktNcjC/wBh+5DHW7BaiO908pI7Kzk7kuRG GA97SQfH78AH/YB0lFDRnHCeGKoGWMxRxnSRcSBUihXbxkLpy0mWIYYWVIsZmKK2cM3NZIOZ3xuh Yvdx5H2FB7r4sUpoepAWDGu75bVXNQtpUrNtAbwdIW2ixpYur8V8P3U2dDr9k98J7wyWbWb4UJkz gTE3/wDuDf8AqSgUeQtq5E+vq5uCyBuaeoqXfBL7DwMA7q7kH5gyJweZMIB1We4wAbJ71erk+DhP 7/bu/gAD8AAQMys4eVbGzQBqAHbYdWqY/THbQaIyK8WwpQsPxsxCreGHsBbB3Sn3wcmdjWi5FlZR wlo7H3dYOAoNunz/AE7GSPXbbYFkHoqStja+cBrvfAYNUCm4FEPTgeFwx8PeJhgOPT657gIljTNz V3zFmRwiSE2A/gAP7Afx6kZaNICVyyUF1ghxjMdpsxhMzht2/dbbmXtTHlrkI7K60hplDHJ2ckbs jvS5Z0lLiMAG5N8VLHp8Iqn1v+Wo1nVpnVc72BW4ej1NbKPkQCBcGBPcJlqckr9bx08b68LbwzFC gx5OJKSkg9/qI/h2iQj/AFuV1Nnq9XJSq+shbW2iYSu6Qq6kK3dzBRWli2gPX8yZ4cwQl+PA6jIa zujQjMxzzaO/H37ABz/7AbR8u2KqkEqbH/Gs4WSNiTGc7OFeuBQ8plDzi4VuY+ZdgdP5V2v2PAZw PcyQNJdwnPj4DD78fQeoGZfK/mnFUWxku2KGhv6lHA1Wjyw74r6ZSiHah9wMMlbvi24OGqitGE81 GBmoUoLWSe972DAIAABbuIDqmkpWbZSS3Mqh+bjcJhga/kkwbFPuxvIV0UUKs6nfmR19jZ3yACOK HiRI5PPOGPF5Cq2rRvtdtaKwcke6aQpYa7UwqPE6Gq6nylJ+l9JuZ1sZ8bCY4R90MTLHc5wwqMWG u3sM2L6nowqSZJCJgahlJMnOvRxZqKrLrREB2O2PUsqBmrs2AmzmVezobSYSMhtZ5QBnZhGFXgDg kw5+mbIcszB0jS3g7FPxG5oKECTFmSPVnXOT+2Y4lWPZvABL+p0ougBdbxq/NWf9fNaJP7MiaR2Q 0rMWUbOqNAkEDnT/AKHSwmKdkafbYMVfSztJrKwQMksQyWSmLuDOQEsmylse4dt2RwW2Bb37CfB/ 2uTGA6T/AM8QCDjsAEB1VEhX4dyU6xss8Nq64M3OpSJaFhViwNgeubQmW0BuCv8AT3yRjwDr0yuY DhAnQlkYrq7MzVX9JOe2/n+mQwHV8OLyQy5T+ngwL06u7YrslhK9hWRcibqEAnmQgXhzQ4f6fBQ6 uAnMWYmr7Z4PELsHPn7fwG/9XY076U3wrp/tW/f4qGTS7eaqgc4tRbsBemJqu2aVSiGPmLbgH9vh 88o88D8Yh7mTOVdV/BwCCfX+fAPAdCWX6YPOghhlaYQbs8W3G8n9MFs2xvu+DX76XGAzIjl5FKI8 Y072Y8j3BzjzeK4njw3Hx1VGsw6e0R2R3qqpdnXIdgcwWzFTsJf6RbVSB+eB3yGt1WQmcTr98g8G eUN8ZlkGkmknwHPuA/r1PJ7A0am18bQ4Gq7IsJoW3+zQ7JqQHu5ix65bIt8GLQuH7gHmbPBgYd1L HGPO10bZm9u30Hf+Qfr0gaXmR5UfOFq4G41t3hya9eGri9ZIcrdmhNXB5i4GXh62wvgOfv1VoZMY hqywM+k7Hv58Bv4DpkSGBgyhcOUm3AyadcrmpYxnWEviQ9cxmxNKTK+Ww7gtw4fw2ptXzzUHGcXV 2ZGObJvu/gT4D+wVqF+pZZL/ALzC6nSqZthGjU8wyy4SdntyGHfx7ceU6eVEKB3cadgd8xxbsgxx CYxZpndtfetfu+rOWRbkjTmpuBnVAHGkor4SlyD1qWRgYqWxqytCN9PDrbJDh8DBHp/B2R5ZlcX2 zOO2yO4A+/AP0AdNQJVC2eH9tAy1RS2esJbs28A56wL5m0Ohy9PoFcX4a2hp8vbpiOBYa0nWojM1 YNKys8JtGrngAwY8BXz7+BAV1aFqyNdaHYSbqWyVtkQ0O7EhouB2MCeGtES0LGrev63Qk7h9br75 Yz4wQAYf9RdQfSMLR3/n3uAAb/0mVPlAvWWt2M7jQlkHhslTp+pSWpBIMVKelpqaHn1Wnp5in63o 8P20+qh/KIfnDex7/wCfPvx8BsBwLGiPJG6CWFMp42jExj8BAIs03s6ezlHgR4fPtfIiExKiSrpJ XCRBjsyN7ci6U+ONjEZEnI8iuSogyZYsOBaEh2CQ8owt1k0DbIHiZYFoU/lMlgBzFJ3yH5h9SHqQ OZyb7MTOWjvfAV9Bfn7wB9+h4ZDMlUPYS2rgX8a5HjfyLIqWjpa2r1evIZSHV8OH8NPuBgmI9t/x DzrIZrg4vUCNvaSbxPgD6CA4D1ZWetPh1Js1oU0Rcr7uER1NT75XZInCJouXygB8IahEMQoWotDp cFSUCFOrbNWhXkpIFdaTaXv7IAAAwIHVRROsJ8pO/wCJqApLSKOzcyRcSSOqsaqt1q2dMoUWnMZG WZT5UV6JemvLYYb4VTBRGw9TIURjgM4j8gQMV9/Xz2PTlPcx2N8rKty4Bs9r/LfZef8Aib8eOuZV MkbuNPSLIYzLjhGSNyQNh6sYpcGxTKzwK5grosRTDUeqoZmsVusTyeMsKtmSHZFmrYu2rYTXJ8r/ AIeGcE9kHh65rS0alRuM8XKPAwH3RCVX+/8A/gNuqTh2JZdh0/m1zLtEC+VWEE0+tmGCWyAVeXw2 FYAdPcHxbtTkiOpV/wAqQyZNXpsaT/0TB26ggD799B2DMrUZqDsVCs7UhqLdlJVA6kG27ldOARiy GUPWaK1BTK/h9hi9bp7hjakDgdcoQxZq8m8k9j/f9/Xz/gD/AFueK7aKgtCGkNnyaxclUlp7qdqf LgYXBypuIeFw2AxDQ7UcOY9nIFPqSq4VBZunNWZlg5aKS7nD4Du6A4+fAP2R23IJIpSjTBDG6I4l haNsfqo5DSb0aBYg60mWQ5WudkIeKVdRGHVFaNopyu28eoW9raNsUkJLU/ONDta+2pZB8eK5vC5k gyNr+yAyTGYV+wjzAJMajIrDKKMhBP1Ifs3zPgEPnB7MRkMo81mDCGzaPv8AwDwHVtLQ5RFy4djV fWMnOtomgCY9PpKe2B5UVhA3Itj7U42YMTB5hV248DmeywLRhmPez9OfAAHAdg68/qIaQ+mB0tRY Tr/rdKn6qGxr0/WpW4CZNFprCTTHtge8LImB4ZAy1AV/DANgiq74MWfuqQ8b97H9/wCrxyNXinSJ hVK2gYkp89kCKa/MiaZ6nMSlep4sWGPhmA+EMwwYNQ/lvw+MVdtn7Ib59+It/wAbdPgDklxMSLnE 8TiRo43xjaM1tMqYnDMh75bwOoJFkjkaRkkRkwjSaPKeIt7t1i4yypcbA9p56XtfsEcMnmADlnDc k9CUmxHfBrxEDnotTnpS3V9V7xaieyD0Nq7XwEbbFmm1dZ4O7JLsbP8Atv8Aigv3RhX9NaiKqvit 3zJhm4bxslOB6ffGheh6gikQWUmMBhbW3x77wQ4J4fANzBnF3z/e3gUE+AAAP38Jh3Q4XLU7JFsa YEG1oB3ZHMDWAsYrlzvnmcxf5hDuB8mD/wAlj0O1FtYwQyiyT3vmxw/v4DAB+/2Vqd0U6vcK3ikM iNSem58G3GvXkq7SHFi2Ha7I/nGQO4frOn1/3HT+Mi/Kd0UkJv8A9+ft/AAABI+GmlKwb6LnPSpu IkYKiQRS2Nxz2kJgmZHla6YY4tTqYiHwrbQOy+pLIhtEeLIbWVtRzk8HjjqOIR7gi1vDd2M8tJ8u zmS419qs6REWnKudUt8DLg/idTk9b03zMVt4beewWQnUDRQ6yjcJ4Thifxt1+AH34+A8/WRg1ANt gEtUAZJSYYGyHZ4ockeT1NPTalr080Q7QMIaGtrcwhxU9YAEFg89m2hmGnTlXG/PgD/7Dv74uBfT +6lqMdBc+uatGQ22R63r13LSz0r5V8TF+ZvC2nvg+YDxYLLnIYza2hZeXi0jiSj8Bt1BwAP2wAI1 4qrVpQUuyaWTXCroYuwo1e2g7ae5DYtNFXrzRYyIPD91IYd8HGFWA4QPh8ZfChNm+7OzxsG/vx/o 5FjbuNzvK7ySBu2R4wUyaSTuLbNjEYC9w8jnrFJuKpSJnKRQiEKzZVmF9QmhhGoXvajj2+erLL9b x23TvUrm+GDZ61bCJyzA2t63iMkpXXgMqHiyGLIZIbh8yCh/P3gnyho2z3NhDfPj/wC/n0EBpVg8 yjbwaVcW7INeJuMlTTx2rOmIqE0RcFcCnsER8b1BkDDzN4T1+2vh1mzbXhjjSVXO3PvA/wBAvwFJ 1nZHZHTJZ1JC0MmNihjVe2BzYepzVdyLRav9rgQ6HmWRMX4cCARno8xlJIe6DPd2N++G/n/fgPWn UoUB188OxkWnqVSriq2pC+H0Zh7jtSnLkXgLlDIMjJ3UmJ7B87h7a8GCZMpyZmR/NvADgG/7B59O oVxGyxSCR82UZLhH2YAl5LbDLLgYm6Jv46eFV1jKx+tgheXLhklC5R448XiO7I+Ca6h09806JBRb aJ7I7HosN2EuDUYDiZiHY6RUsWav1uHMVuYhsCG1T7AwVVsXxcXznZOE+A2B+4CeAHljqIIJ/wAy vbQTa3CLdVDW1tshPzpGzyrlE02U1CMG8cw3ggtvDbaClyQX+L6gGbIk1dx/YN/38+fAMhDq+wJe W7afAwfnYZDZIg/JrfhEzdJaurshGHDrf7J9HQ08FyR5Zyj4828j90at38Bv+B8+AAIJspx9Ocvv wxkFWyDDkeoqIj0/VZh3mNCJXr5Yy2P+G4h5gdg7qgV/e/Jq/OcLUSUmrcD/AL/l38QnyZywRpg6 udiExom4EykjjyLZJ53cguP2EXzYEwsygKyYI7agO5xzx27QCmrxy1mr9t8dVK/xNMGkHVnnY6ag ITVPWDs2sLghgXgt/MtgyKhj5iGH1H0m+V+nQoDAeuJbZxgvHawWOP8A7AMf0P3YslgtStJGo+Ba tY1dYWUtY04vmHut2FOi6fdKNSlIQAvDQqHMOKdNR21PwhMiNp7uTHAo8HPd3ffcAwYe+DAlCOnN bgZRK1cpVQE5zPYCWAl78kaAJaV+PxEzZ1vH5ljcfgPGFmM/jCYI394AHz4DfwCD7GxiRHDVPVd3 HraW0Or+0uNXhzAZ3cOBy/iOFgTFsxdifW69DgqQ9DnJ7NWaurE/uxtJwAbB5/fz/VmRXkjKn2ZB 2FpIshChkQgCOPGwSY4lzsZDtFaIEWOBhbl496J4pDFLGTJGYlZlkiawMyQoK3iVJN2GccmZh4xi h5ucSJNFhpLZZENDaIhi0LaltKuH+HDhzN4YJjU+Ve20DDGM4t8szYwlXhDn/wBAAbBW+HXcwNWa TYwEx8POmSVMwBmWgJQ4ibukVk+IH90+Gvw1VtXyE7k1ZiyhRZ837cBfj/uA4Af7AZRbAq6oZDHj ZIySrdTMd2jHD0P5YE8t2AYslPT3BPATPweeamRnZsRZNm82EeAADYN/wP7Bi37NFZ38Ust2N5wY kNXlfIzkeWyPkoS+NEMgY+GyGJjgtg8PgVzCJ2+hq/nUnwe/oID3AefODcFen/Jytt/T+xzx99nj 4x8m+s7csxzy7GesarHAV5PnP/bEijd9WWqBMtjUznrdfWY9hc4o1VNqZRs2pdQ7AoLCdp7xmTcG 5ktSq8FlOEY1Lb4EHT4t5xxxrO1MDKRyD1erFA9L7ifwq4RYbst2y6V09aYL4tPKktz9FtmpVXPK RK8WVPV6dTq/cTJcL6WJexsgGgqVprWFmISreArH1YhQZ63F9fxQvbB+K0uv6fFUf/iwLIZLOtAP GUzFhNThXtkOUpdjSpjBVdkMhiYtuCFy0h9P5MUV1lmBmwuni1D+GwW6f8+AT9iIce36Xs98tC2l sMGT7sqdfGoa9K5ldzY0IZjtu+WRD4ds5w8QqXmH7UMGebOf/wCvv3V1pi4Cqn0z8aWORLeNzVq4 sY7vHNn2HgjjqsWCKWYFo3WWSSCW0kjQUzBse7CxQoe6uOlLR9gSHdwGxNaWq7bc6pRt8yM5bHqc yxjxZovmyWCHcFbzKHcLAWwf5peA4wYU7Po+yGwhwB4Dr0aW3nm48OxoRjhOox8uwSQSdPbwwvnd BerlEZF9wDmA92LZGY8QGBtasBmnq0KvqAni7cJtXz+wYVF79VFS0ewKQzKx1c95glhWCHsiIPSX ZfYVuxpQmVFMEIi3yNbmEHEJt8A4h9zN0GLLwE+8b+A3/p8C7Qy2Mm4H01VUpgbuREvDJajEuZKs aXY13OA8OyJ8y1GQgY+v84cdsfODPPhDaP8AYD4BgAc+wRIYpJGeJ0WFqThs41AreheShhdx4vib pu0Y8tjWVUIdXz2ZWxfdj9NjHtuDHKmWdNww7aAB7yetGYvg81DW021VZtA5uTX7COLpJgt4FTKN D5s6fDp9bTyH8hV88HuYwXydZBm/9v4IH7/1yC7oMUijtXIw8k8pHq3qd4DrTRE/F9xpkWyGAzDW 7IW9wDnLMT+KmOcCygxZ4Sb/AH/wGH0EAziFbyIC+HM2XDG6b0jhJatzDteGHA+JlNnIrdbvktDm r8y1B6+eag4zte0DEZ4CGzbx5+3T/UPTen9bcnjOgRXBJtS7mtksIhbVY1/L5QerICr4j63DsiGh spBwsZttCBYxjuYLQ/6J2T3f/Pr+wAAC9tAmcxwviMVeTmiEPIrL888fBvoRuKzFVSZFQiUyJjJB G2FyNHbV7eFy76JyWuilTOaZ2i6CVyO+S/1WLh1LLHZLUHLB9QUVeA1LMAc8mMjhCTqrajyeB+YU GcX8Gk+DPYn18/sCD0oFcfDMlA6a52RKZKlzrId8XyG4WFDrloloaYY7qXBW4dk1IfDBtuPbkxyZ oVxgzhOybAfAef8AP9DY9LcM5wam1SG2RXr5nMlx1Otnl9dTygsSBKGPh/DDzFCr085/INRkYzFE MmzHEkIbOH9gPgD/AIDBV1uYOWM4TAzvnabxoGvVt3kNWlfURvD5SKQ0NCdaKGHDB1uY4Q/nr/Bw /fJYuRGZnjzZwCA8Af3/AGByRNDul5M0SFI8qx25PslrI3Vt22PPuHnqAxkRssXYzq6tmLbbxsUF Fe8G7PPNfHVjHBOTaCcmqrj6UlMcgCWy5MKQnXBSdiCYAk2KGmhon1tTYQHYzZsOPPw9WfHWAa0k j/RnZUFTWwgmPkwcrOudauWh67iEqyZNEumm/Myt2ZsVBlwAtY94iFd8H+hlKGs44mDAOSrhR6Rn GTJfLToUGKTzYa3lDYxhhOMGUWn5udA8gDsG0+RDkFvp6sgqLrcNXfiz/wCb1JEzKrCaFQQCBmTQ OPF8XWX4Hjqsd6tEMpQ8OexgbRAwLHSVMhajtV+o+HGPO75K2+yA+LJVb5/PT7AAnE9GeSgv+yef fkAAAAHwD91ajUbYF6ZofuXEakm4IGm/Srp7p+q08xETwB7CMUW7RT4bIHshbIOEI8P5VMWSfFxm xu92cHQf0+g7/jDvD5DpDT/fy5fCS7NWoyvhtOGKZPB1OHFTZabzAgnmIdkGGTzlaEFKueCvIt8Z lhH/ABcD4CA59USC/H35/aiKPbF2xE9civlJnoGdTgkOk50B37tVzYSa0cfmIafVZdlH4Tj1gPuJ hZRlfEmT9kkIDPsADHtFsABBBm0m7BAWQTTI8iRTxRJI8cUukjmmhEQj3IIxqEZ5SfJQKosnpCCV opZTIyVgHVGoo7WYkuu4SU4BoY4+Gy4SaAQF6ka7sI8nQwlPzxtXFu3unsOJcLuFy8ANw4W+nrfz DBBb36v54P6zzwmT/wA7UAAO0WwAPPw7jDj5rrMfLGQ4yfSMwbxdDo1XrLi5SspUoOP+h1u+ByKG jgV/4LgzYoavzlG3s3gf5Af/AGDYYdLX63SJAFDd3aNSeV2cteOBu0O73YBKMNoPj5X7IHhw+yfJ AdLEIFV85RmgqzLJyrgjs8Yb+BP7/wBaVs5aF0w85cyhpJqypqBZtwDciQ2GCiGw1zGW6v5LwOGn /VT1f1o8TGblFoE9jNhPP7AAqL/f2qJolWZQ+qk23QK0jmN5IxHDHHIWpss9pmxr0zYye76JllaO As6DLOliOUa0Y/alLgTfPJyFDiupjT2vslckQ+r7TdcFSPlv1j3CreZW5hTZHvVBXtDgHzZ4bI+L cwhZBxSYG2uYfGforzvaRVzw/cBP/Xz/ALL1gfLQMsCe+NDI/gbauB2s1fPEseYW0LUzz4yj3Cq2 Sq3C1HAw1dn56otjCfPHkZveyPGwf2DkHWRGtk0e2olaoK0xC5LbWNkafHc7pvsCwbTTpTY+NGm9 wDWQ+ImIge+NTYPsq0zD08vgwYSx4TV5vj79hx9+xxwmFMwbvOOHsFnT6uyTFhSbYMWr+TTD5V7Y 5NDJYD38x8p/j9qNWnjT/P54MGIauM8J4M+/L5/3590Ikkj1UqvppBDhDWsVs86zuJ4sRUkFjKbc 9fcvbi2+9DRoUK7yLMjsFjft3I+0JIGs1lRtcTXHcb6ku75Dj55XlGLRtqh69ZGuyK9ifW5SJX1o HlseI7qKBhP2d4AMCHBXBvA2fawdXBMcX7gL8AP47+f4hYbVfUCo30SBobBwrW6yNO6hw9KNMOE0 Poi4yyhP4hZC0yJ58PY/z8WtZZSZVCGf6X4m8PfABjhgwH2rW+le7DIDOlUEeJB60p+46nqd2s6v 5aeeKLyG5Mg9DQ7UqtwcCEMHPX60tRPJrLQLWSYPY0kHv78g7+fP4ACQ5alb3c6Pmwsjtf8AqCyX awk92PXAvGFh8UqlqWGwMi3ZCeyJ5CaqtvLYK33fV1cZj/Yz/wD/ABC/ADk242aSG1hkdmEg59c4 fTivyPU5vnjjqsXkgGcrnBEjKg1HIh/kWROcsu0qchhTcNl21XW46Wh1HcCQ5ZJtw1Ap8ZTz6rto gwvljPi9V9cuJCyLIrdPQsXCZBgONtU7MZuUboT+7VcD/YNg8/1aiv8Ag55cVUNXA36qlHZtYY9V qtsV6XchcuUeDsDg4p/zXDAOq7eeNmGYmhq9Z7GbSf09t/4C/n+lupkCAG3EkXKVAu/NS2po/bGv 5bIUV149Lhr4eq1uEYZN4araX3xHZBgxDVhjN/Wxzf8Aj/6fqeClvLXA4eqnJklWEBVf5gPTJhhM K4uW5VzZJBD2d8cFtgT2qAQUnhkZmZDaFl5d7RpN2N/v+ADABvwszyqzYP2O0qh1xwkfApgbPpxU cI/gsTlz02Mq0cYSNC4RQV04ztI/fI57ccclxWjlbdwrlJnKnQ7uU09jPKo4PlLZuzanau5DYhi3 NhlVLMIODIyIcN8sCHvzg3I/OSiuMJ+ESHZHQUHf+0WwbA5suv5DHV9naXz1bxpiGn3ZYV8w7Uj1 lDcj1T10erb8DrTIt8gQ7GBJ5A5W/JihRZ3zzZz9P2A+fwroYB02rkXw8GAu7tlATlOO8O5kdTDJ kqXXKvDX5lwcDQ/raqeYEPkm2PnBmbZAnsAAAAH7A/H5m1LIYNPrYk2/VWSNDu9erez5OcjqbHFi 3erxXzeDCHM+GP4O+L4E3MJ7piSJg3YJV3/f/wBgASR5JGjd5HZIrkhZGwuNCiGJgQ39KSRA98bl leCpGOPY3Iydt/UglFZZI2IYXYrLj4NAfPTC8IeKsgGdZBsa26iiUzEOSMy5kXTnEe3KEQ+Xs62y J63xJfrQHgTrPHtAzI5ve+0R9BAH/wBgQfkOxMwM6ATMqzuExQ7JEkHg9flrUfE3ECe7Pp8N8+Gh r8ydWmCkqzMHko+I3B/N0ef8A+vx/orX09nih+G1+NdryINT/MDIaSY5GLV16xlcPaExOW4b57rd 4AbBng1v6Gh2+MBmzaSjn/P/ALB1JWQ4U3FqdbPZTsMPXSYtGIQPUavr0xNQ69q9Dh/MMGIZiGnz XilnA81J/GeULLMc2NJOH0G3QH35gw6WZdzULK8jSwy3CFSO73MbZjnxjXaK7rPIrlgCBHjRMcc7 dTlHIYzF7GpbvPu47ePOXCraajTLpR74TMrOdu/GTaPskviQpsidUrFV4tkTtn1UTEMwnw508eB2 dGGInGUbuiDN7/v5/j+O/vxhMDNFaB2rSXcjhJqUoksjCYubOIqbIUtGXbQun0/gYcO+GGDtzPq9 8VbJeWZYV/YHj/597AH5B6JLIR7AApieZnh71D/W2xgcA7BLhnoqm0K/84YWw6fD8HP4HYzIzYoe LMTeDQT/ANj6+wb/ANOwpRZ+eQtrvdMN1Kep9AXtUC2HIXG4M8VsTQMMfDcA9VmWRwwaoFwdxoZR ZtCryazsmHgAC/8A9g6vdQSRtOiSYzGeOV1y+nktQAi8emOMEsY0eTfF7DCtrBOxI5MYwBIgPdn3 cu92z/5bo115+lLQMYLb2eKbat2OyIAn5mdX9ZGLQq8tY3dReDp4eFMmJ7IC08Ve2zphMYrlP3zE J9C/YNgP9ejTQh1EFsCmQzHcBLVRV42rrN5INsisodjWgvHnK4B7In1VDcFtvZAQFggTnD+l7MJg 6u2Sq/YAA56fP9IxkL3FlaNb+SkizEgPp/LscWx7BspXrHCr2m17tTw9POMRiwxfGAO1KU+pp+FF 8pKIwwHhj/y4Y1Fv/PcMcK+B09X4uSyjwGNDijYym4QwwdehtEVesaXSaeYWjBeHuDJOPp55qW7M eezdZkwfmweFugNgQf2AZWabblEm3g8qRSgeoa2sikilZIvtyCOMvknFaAJUlIv8iI5N+Luh45r4 6PMcuqxcgblXdDG2QmrZuwl8O7D7CMFALvSJRPIfNmBmSyF8O1PlXvmH+jhQn9JN7Hv/AO/8B6fB i3Fs8h17K/02yiTIw2BcGopgiQz132ahtE1fcNPdVskxDsD23Gy+NozNzwmT96udkf6/4A+/AACl xB6b7VV3Z3V2pA0u2pCJcgmV7X6o+RWhetD4fw6rT6rT/shwEQbbG3Puh9mOJITnAD7Bv/7BAp+j cwGIWEkZph2p+y63CNjwHQ2hT3RDs2UrB18xMQ3wwnuDJvzgpUdyZ5aOMs3m9jfkH2Qdg2AALDcn 3TKioayEhweL21ac+7n7hWJPTHWRIyQaR0jaF+e/TniMVYrHu5s3fAFWQO4LIsxuMNWa052m9k1D u1tRA7VcxBeuBElKb5p9DMKfcHJOH+CqW0G0GYRmZ7q/9fyiD7u+f3/6DI1/pDbKRF8SUnapbatV wZLNDw0NPEoZQoWAi6fI8k+yTN5VJ5A9jM+h8ZZvuxs5/T4B+AAD/UdM1EOCRYEyvmjJN3+G+SkV vZ8xfYUNDiu6vXKGPDrkOYn/AAHA4esEC1TNzVyjNvnv/wCfH8D/AE7BdoIBRHSa5KLdXAdS1Pkp bANcTAkxXP8AEzTdoMjAyWRW5gRyDYwOoD4OBSzFfUY84HAiSk+2/wD7/wCfBJ2jMSrA8MT7VyM8 SwJndetK8W5WJulFDyBY6jRxysZhMjojsiiS4n7cbyS5MfIoWfHnpb1Bp0sQU4XxmlAJsaxmKmLW uNmF0dkpuuWGualUOeQ3BkQjA9bnqR88jiBgzEqMGWpaHNQew4sHtgwMHTCHsAfKX3DgVGslVcPb anuBbuaOJfFfRG2RZVPp9VmIlqKD4oTDlL3hZcH3rMo+cGOBEk2DQPfnwA8/vz8q0dodE2QePaab ashPvh2bRJjJuaOvPdXoctEaE9guBw0xQ0N8IMliwP4eGpb2xCaOTWpjdqSD+ggD/Uk6Za3YIfTr UC4k204ZpJsiB3DlAkOm1ykIdymKvmLd2UnT8zupsI+2qBMdsxdNjKgtThPB/wBgP/sD8+WOV9Sw ek00rmVZdLJNFIXMMEUv1Bl08e/HJtRsEXHHuBbkEhE6QwSCEoJo4UhZp33I13tUQJNO+KXIu+SW rtxA53Ow1Q09Mnhx2bpzhLdhZRery1oPmTW/8QbO0UOLPoY+q5mjRjmBkCyOyzeQB4jFhoV7gZUa r9lwYN/P+wDDEBWSszKW225nC2imWTOtsPgWaKfPV/LW2ixnZ8KQyAcOnmA5i0JiqBIHuSDFl8fO MnElJ2PYD3/0C7FfvEOtCAEXpuznZbTYaS7tFqab3iI4dpROqBDDj0OyFtDhvloVXXL5sP0Zl05+ MOcJNgz+Hn9g+g05qevo/YsPm9saBDz0lb5RMcHCzQ8tXbJR6YQfDFwIVkTN4OdwLL2cmjC1dmJ+ EdvoJ/DHtF5+QyK67is6h67pI8HeiPdHk2FXx3NYJ9tV1UxVTSLSRViAckbPD2yUMsaAPbxx1uMI 8fKSzBTNvhJrcCBjahEcO1GJb5+Qruput1+YHrd8hmeH/AsA8qsnY1oF2YMB4mzZwAA9+fH9/Pm2 ZW6Hdy+TcsU+nMmzA63xe7O8HewXY1TuQsOwTKfodbcIa/alc6h8LpBp7yzofJhiO7G/dfAYvyC/ AN/PuYHwPKj21ArllSU/DVFW6mjWp8enIct8U3KuTCfcFVPgeq2QgGeDxD50MnyhoeUYHSYT6CAP 26/eAP8AUC2VPJbVutx7QBsipXLjZa6FUP8AL2Jod6lF2QQhob4Y/MD5OstPQ525vPKGW3+E9rt/ 7RAF8+/bAfMzJlG0ARHjdSrhfUeQ1hHIwbuz7grUMCCMWyNQKyq0Mwt0rj/CSL80bv8A28fNjpPr avHlL6qkZU1kT7LMKS8r2EBthTcL5KCbHlLfJEPTGnzOXw7G4+2qpis2amr4wswGE9njYAH7AA3+ 4Ec5p6PL5JXn17bSq7uDbLYJjU0JFqIbRplQyj4wVW4ODJvA9PeMbQqaxuM2Y+FGZm83vmwb+A/r 7qosN8dHdTJWDdOEa1EOzWSsmiyCW71XFPXIUPTE8O+Pkx8XHC4EgDgeBp5P2KDBiOECWjaiCA2A A/AAHVhMu2FOximdZdQTW1PDblZt8B2S2GH+JaLYRSxnz+G9wDzE+1CH5aYJ+mTtAsvmDy8nOE3Z pzfgB8AAPnwD8fUsdujBqSK8ImSJ42yxvcR0MZrAY7UcPk5Z9uNRsPVs4bmCll4kEYsOiP8Abnal jR9o4NdB5BfmpDAebT2c7OE6q9pRhrtIE4PkUSri4bgHfDFwUnM+HXJ+e+I8zckPjOGOyBEfE+g8 +fgAB+63GDAuvo8Olii3GajND1u7yGrOYNmlHhN8C8LP42+WS4Ibg+HLLX54N8GcDtEYznAng+An 19B4C/P3SHTyEh3uBP0t9zlJksxwC8HPGKvbO6IF3GAKfIdyDFDXxDIVvQJ4eBVRH5QV7MeKr7XO 2we3P+fW70/q7uxL4vn6frBD38ePB63XlepbOtjeJUXTg+HsbQZNQlbskyk7gwOHk++ONrNZq9yP LzvYQIcwfrd2AAg+fcsjR8CV8zWcakRyR1WO4tP7ucefIY/6UImDFCyMiuyJNG2ccmOAJU0vixY5 q/PSyHMhYquJzBB01EbSOtCeusz24D7yzMmaQdDg/LnzsxnBM6S4GlhulC80OSYhObnBBcwhPzGV XB+lTPgzBjOotvs+0KKIxa9s6qXGx2oYLh4YMCtY9aU/6stcjY5olLHHgdotS05lykZPFg80YXnK a7AGp0lVSQPpZwSgOfG3OlhYKHo61vHMeg0rofZyj4rkpoU1CwbroNyY8mlJokcmjwauhdfBr4HR 6YBlW0oBlMYFJrdos5t0yo8yyOEOB5904YtHvMWzFkB74ILdjPlP0PYzIsrKu0dzHirggRHPvwA/ sCCg0H1vR6rqNSHveVatwVdMV3Y3Ere1LCaEi1K5tpIcnNwYDFVzKfqtDq+ZBunznJ7fpto09LII IESQZ9Bfj4DgNRey2F35mZTANFuWm9StQDXsdTrfOQ7QbLgrA9sKaHcIdkWQ+Pkxwh78wAWowjM1 oFGbfDdXJKOAqLYUFCAHwHXYLzL8nwzCvPzgg1DmBGG6BrUwNhi0LkSBYqanp/G63tQwn8qbV9ta WQWs3JpzRibwb5sj93foPPj+J+kkmVAkUU2n7I5YhLHhHDIe1NhCT2RRqkeGQ9obLuoPkljdizum oLuzyBHrzjiDwaqmAPzya452zyAuLhkLjIdHPdOEiJaSt2aIU2/Cm5UpNmfDfLrpSY3p+OB6r0NV TyZN9KM2Ly6pLsDP+yEA/r7qfvBbuQ9YifKaKNCUDm5ykp1u1EiERaAtCQLtqk1+H23cA6Gvb4pO E9HXGZ5aKvFrJ027UmcPnz4ABv4EAATNyxNQFStkJcdz2quZaA2Spo/Gw6PMAxZYFymEGUwt8PD7 y8KQ8CDhlGZDKcZ//wAB9+8+bWpXavFs25rQAnpNbmUka75GdRo/TgtxSgipdnYHAx4eGnreDa3g Tjh2zV2gZb5zhITYH23ePoPgOjvUTx4zQpGskItV5vcx8hgY2wCg98beSRjzkCYqC8Tv2YiSOQ26 ycBkZa7MaFGznfhce7sh2BI1N3oM053TkoFelA6kptE0CnxIasUsKLV8weyQ3AOtmPmVyh2BPVoY zlDRyZIdtkBn/wD4A+YL7IptFfgZ5SwlIQ0OFosMdDvggW2toKplXrfAplPvtJhyHwQDgesbc+Lt CM8nDfa7gR8/UWwH9g6cFiU+yvkd81aRe5DhqMsitlMhnOGg+Y+OVcpCHaEMetw0/UJcIdgMI6Gn gKrhcZF05UCMctGrkl4AH8H4+AP7/gh6novTflaT2Se5NVXJJ6G23HU8MP2ncXKVbGwra+4GDNVW pMHQu0vaRHD8ZaBZMnanuExxAP2we4AB0lHiiSMaOZItO7rDGrQ7tTngxgmSPxxbeDY7RRtrxTtL K2ph3pnQ6xhuzRbenbGstp1uQURJGbw4piGJ6hhY9byrYhxQ2cpahIAd/wDDoVgO74MisKvUrgPh w1uyFtPcIYP9Jy3tnF7MRnjujSe//QefbCfARDpJfFzVIeXNRle+ZZLQs5wJDa3LYyk2vAMWGwTD PauH5lq7fIfwyYwosecN8JOf5IOwdNSZX+n9SILeVZa42zDIFS+QSs6PbBg8L1CYJsNhfE98MfMs CWqoaeenB0YYU3MY8JITDf8AYP8AMB1XsfVdPrF8ccsvJN2QhzLsiSVuwh8tkVnKXXL5NX5jgyVs t3ZV62jgXCBB3NGKDGZGB75sfgNg38B7MESlp2EnvhZygjmKQ7ePrIkSS+zPlWKZk8MMT0u2dII0 XshmjxG5EKyIv+R47vAe2+fNWLYQNgq+1a/au1TUcG18ytrDH065y+p2RujvxdkT4eCeh2qHXw6r hYFDgzFZMzRzjZNk4Rz4AfAbBiB6shV5yOkPr5WmUeSRtwXxqHofUhSV5L5aq1faTwsO4BzEzjd2 OBid9tVcFni4uzNjxN8439+9n7FB7vCqO2LF8Wxp1Tav0x1LyRPk2xU5IkwNlb/F1jOWD4QmVvDM Bw5APXClcCGD5MslLQRmbmu9nT4BBfgCDsB/pP61FO1FdofM0zxLOF1ibKsBin46QnlE1Tq+KZcN 4T/5wgY/n4FjTBn1fk3hAhx+AHz4DYPP5dQkWsnh0L6fcTT7OsemGmkE6SxS6aDa+piE4l2po9Um Z24nMD4TSSRw6tM30kE2ojmhDy5aRoSYmLwNW9Mrywy+mtJgQi7hZrK4jqyENPvC6SoIWBzn9VV7 sd2xwQ1sh2HTa5sJ8KLdX2o9h4a24L6f/wCn89OT2YYUQxayDCYm/v3t59+x6qKv1fYm1jcoXXvJ dI2cEU3C2obxEsgW5RBZ58HzA5hbMGGB82Gr21H+zbojM2+e7wfAc/8A2DqBru/Zb4YPHotwLdkS qxCL1H5x54SFuxnLs123YXBbW63mbgt7CvgXhkJjBfuT83+wfv2/89JLA1UA5MyHVVeobs4WUqku 4CeBaPYXV9hAShget42Rw9DH1u8YEG2DubMri7MrL6TsX9gQfAdOibuc1jeKqSdU8aot4CV/7zUn JykxTdoUnZ0kmEKot9lLZlbbeRZHxLmGOKGC42xAEZY7VEBmzNZvimGZENj+ZqimGRsnThZGcXeC xjS+Vu6kSgcenshik3zcFu1fAtQcmsi7PWBfZOk6uB7/AL9ifft/6shV8gxYJWyAzG4LeckAkB3e A95D5dbuXHj2zr/A6ffLIT2DfOYNuzvLPyhZ2PujqHR37tFsG/sHIN0fPOHnRPpu37+JIcWyQjAw JK2Qicoxqh8saZXxeHT8Rwl18HrmtdJ9tNT3gzNAtaJnOEhEb6CAAHz6/wBBMNkpd3sQwLSK3reZ ap9kiNFhTK/l88pGsgKuhp7IGfA74HT4dqQK/bZwazGZ8V3nfAlXJRz8RAT4AAg9RttWDBo1ljjR Jt2GIVR7DLtLHs33YhhNmQR24nIUVqLCFNl5IGgCUh3BEkojN3ee8AG4xKZUc6WBOOjwpI57FccL jmWWeSeL2on2QW3WK7i7kZB8Nx4fM2/CCBHviOtrBPi6yM5s7Ygz4Du6f38+AwmJi2KbdhFpFkak JjGtkiw9PT1dImVfdzvaB763g4MnJCHzm0e2g2TDaxazZmxmzbwA3/z6D59y2pDW4EdEsUoYqXTe hut1u9XpKq03xjYz3Q2AKaRWpiffFcOJD4CnWEBqrdnWVi42YmcC4b4AQWAAgAGBAfkKoAexCB5T D/4QdbxUs5bUyEyt9qZGgXU55XTyHzLU09/cOVNpCpYK2Mt/a9zB747c+QkE/sDAfQcdcTGJJTEd OXMz7uqkcYRgY4q617JLbJL7yo7lx6U+bOGljd0H086bXfIYzMkUpEdi9rdRicuSQOPPTszK7uy7 myk3KBcy3xKgUktIsk8Y2cDY1hSmh9H1uhuBhwhWDMVZ+oCe8snBkO0CexpKTaIPYH4+AAbByDJg +s4D5aiuBQ3ZVtBDN1OQh0/Itik/5s6LDV/DcHCZMcLA5xyACDtTc6a4MinDbsE59/1AH+pi0HCG UvQPYKunXZc1VU/GiMAEO8NlVtFcFqvF2QQT3DGx3CZy+4qHq+6UdPZv9TMUc39459wH32DpA5ty La5qYybQVxo3O4RJd2BVA0/Z0w8eXot3WQwJ8yq2SyIhGZakBPgTmTk3eUZ3Uq60auOcBP7Bz7f+ lqqxKgREwRA6iNbd9+WSUhZLG/t2FJwjxsGjnS07bhNjvkrJ/N4kVxx+T89RsdbS7fmQ3yvafsiY eAyWwwyMkiwltNAlYqu+EIb5gHhzE+H7788THlmFq7Nsft/sEAAP/QerErUz8brlI5tBILIYcVJT R6xv6v8AUJgmnlIohmG+4BDIxrbe/wCEEDZ9tKq1ijlEPH3SQgVIYEHkD8e56gL6UeOYJFf0yuAX e/QFX21aImwJuSPE8yQ3dDV1sfMT4a2tvhAPcUCv59jPiyM5RubxVxurXhB++nz9RP3R4UrN0tUg eisecyae7GshSbF8kSML0yuQIjUZFtQe+Mgfklbr7I1ASAHAOMZygtGWd7SXbDf37DAB+wgjqFIS J0TNirtLnv8AC27rtrt58b2mt/EfqnrQdwV3IPtbCPHGRayA7j3x2NuT7cj2m+jYWLvTNzEO2srJ fxpQOgSueTB6QnlFdTfMBBCYnmA7iHIB657f1NYzhwZ8V3kZ+pvYKif/AKDsHXG0FKTd9hFlLDsi ma0renLCshkPNDvCtraTzQY7qIbhpLZdJY/+wzpjMyq9X2+zAwZs2Dx7uoPgD+/pkwQa60MaaYGt yn38xS2TJs1gJODRZtwWN8TdHwen91E/jbBW/LWHnAdZWUPDjGGyd8Me/m/8+AcBYVZpfo+ZMsGg oeoen65zrsxkLaq8Kb5KaF485QyHw637qIdXmKdAsH8mjXk+C3nY3Y2k2oeAH+fHwGwHyZ5O8kY5 Y+jjE+5Vf1HhliGPxtM95d9UtrRY7J87Ts+7/wAvZx4x+d3PzkMAl92XbgOHqkumt7+1Sbwk2Qk1 iSrIheT4X+HXKtZr24sp8xiyOCehkZk7cALxtZN8aOTI4RJ8A/IP4iP4sHS3h2QHMr8NIF7I7baE rKQYJELNRAMVIodyQ/hzLUMahGRg4rAHgbGDjEYor3lWWybI8bA/H8H7YD5/qs24bO0roKlC0xen UMCF6jJdULWrZKuGu04tTrRZKcwubyyPywYxT9jHerED663ILA30jMPU7Ivr9fpPH8a/QgOGLWIJ epD+A8kLTVR2Q/8Ah9kiVsR6ZcFfh74+VlFfLIX4epDeEOt2Fwarpo+BeEPkwsXtmHCQm/279+wX 0BB6izTCWUNAgRpk2GR5RlBJe2XWV5rkUKcnUruWAQMR0mRIyyJE2TxbTTLVd6n33ZrdN8c4BPLX w5stLKWWtjW1jT9/zWRtYR5Kwo8RDcqvlq6uhr9bh9SCGZQ+H9y098v7c2Z8rCoEbAHsmwIP9AgP Y/S0PIFrZhqbVewm2nzwG2ncen8fEmBfHnI8+jzC2YmTEO8GSDPHnjhgmzFBbMsg7RwCHP7+A+/A G0vmXiuVMDaGnNw7nWWNN0j/AIKSPiCEMovFHyn+NzDAdxrdxDNTbeE+4kNGJ4q7MT/KJv8AEWwb 9z5Bfd3eSo7GqcOLumsfmOWSNXt45QWfGhDXnwWh8DmcwmB1/GxgLee1FuHd9oV+c8JdjSOfoM+f 2DYD4BaMQsgYu6F9uJ0js4REUrLlwRnxzzdfHTpRHJLEVk2nVAjptRUKqiTEkN3be4NVcEWbCWjL RzyvT9rV8ypIJchklOt4ZhPXpjk5LzkLfONuEzUIhw9n4kv1pOMM/PLkZll43vYvaoth2BBPn2oc uBgTe7VSgaZSXaKk0mw/4yTYDCYFyohSkWRg0xzHFD1CJ+KeqtqgB2fEXtbyMB0mb7VgAGID8uoJ /qHBp7YGmVLbVXodSw1y8iTvHsijNN7C+xRdZWhV80hW4cwYmLdf2ojga/Q4IfcxdDjGc4b3zgP/ AMAfVUS3KAR5aUm2UnKLtYWckREewQFb4mJL3pQsfmC/VZd8riuJY6JXNlJ9l1YhjGVX06WWynaT SHbYAFuYAQB8/UQAo4qMYkdJKtUwkie3bEqjCOR6yINE1WJoNzVzSRtaOBBlMCTUstxvRkeo4m/i KrQJGe5wRibBFcxmHks9PXKTjJ5RV5DX6TnODDMfGhhKxUMgGfIYhbML4dVbWCeDmcZK7ngDq7e0 fgIA+/HwHT4HMGnu0GhDqWBcxujRcO7OP1vYNsFk98TaR0llFsgt8kh2pC3ifUt4AdW/cx5Q9s2O rkk2c4C/W7sDAA2B/WoyQzNXzL4KIdFanLBuaNMvhVtOj2EP8XSIU4HwNDp98pOG4GK5rOwJ9jYD Hko0C7MOA+6OL9ihe/gN/rHdAtgV2yqyaGHW0mwbgNqafRuS3ryeUtB3cj34rcOSMi2wLaq21/dL UyorOL+jBAgRJBgH6ouAvwDwClmimktDqC8e7Mszx715GMlN3JNwdo5xXGxwb4ZhLplWU7MkI2YZ UbukHBCs4/pX3UO7OiARXdPEZlIWW+Hmh8mYUDd1MqTYQA6rq/tjtyetdNV4ZBbDsjgnrZDnH8UF tHJvY1Dq9ZGf6WvB8Agr4AAA3/o8bDFmV6PrGxophAcHxP0uqZjJDh8VtoTZZ+unBg09h6rvitw9 gVs1AbgA1zZHu0PjMzHO6JvYAAAB5/gOCqtRXsRyZGqwWOq4qRlBwhaNnHzFm97pSmLrl87PzA7I HfLgW7Usuv221JmLML2wmc+7vHIOQYoL8f6CnWRMUo4evmima37qw+Q2AHPV+WfMTzCruRiv9N+N bw63ML9cUD/9vDs5P6yyvGLsceEFBAffvAdGY2EkY1KpqEjhOnqVMJH07Y3G00DQyuaUczNNjdxi PJ81bzLkYht5PHJiD2LJFlgyJQxrNrFm+ORXMvZdW5NqHhzW/ouh2EwyFFOwzhGpsVYkCxljKmrY 45iiw513LZR5ZUyuZRiVXqqyeh1f1IhBV/VlIh8KnRQtfJOdKd/tS9mEmKDJeQ+IQit10VWWfAHp FsE2UwXVMM7LLsFlMcgO3Fj9gzJ0vOiFMo4UikUgQPBVblgFkYhDl8bnVxpqCiFB/aMKFVwhigKx xLSYxouZpEFKOfH+/VvJuOznXQAuxY83ySCfDD9/H5/PVjdPuq+0NOtlqt5Lk1Bs1omDdR0dqrh3 bbIOjIauKiYGWTG4IkKn/wCfHahwjIy2ZWHpRxmPpxwB4+kFhjhyBft6fBvGkys1hKrm39KUc+rN Zq+LHTnRYsKVQ9siD2AfHglWF1suQDeqy0CmDkSy8MaaWvU8Ou9emoQC9UB3H/mAsMRpvmZc9x00 rmpbcj1SgYxav2UPivQ65fKnirH54rdwQw5jjZv+F+tN4GDOUEyYP8Jo79/QNB1F4DjouRZFyj9Q Z6et23ajR3ILY21MIr3KJW6afVu0HCyLItR8/JFc1on74yM1Z/iAnzY2knF8+AAc/P8ATWMUchjE sweN9KzgLtXu7uJbufckOJzk7cu3tHQAMyQlsBn9RWD51sbAN9q1luAj8V83wVR8w4h0fpLY4qfW 54zYXxB6TeVX3ytPljFmgCydyN4ZEIx9qA3hS2IcnWb4UebMBhOEvHaI+fYH5+6D7oIODHHW7G1f DSQ233y2ki0Id8D69lngNZC3xwX1tlfHBPZHCZah6n3yj/8AS8XUAwHaIM3VYBCf8D4DHz+jTYJs udZhLO0y6cFFZzSSDYDOnUEkMSEKsb+HVgRH+qbep74d27x3MI1PDu0XZeFxvO+e+IRfr9AX39Cx PbC28vLpd3Q1Vinkq3agOTV1saX69VZFT9ka6bE0AtuEyt3wOn4L6G1IdoUs8TBlmPloec3t24Dy DsGf2DYACyRNEs7OHCGNYgsVxokssqxxadJ54nkTexmWUHCoypObAM24pEmKB3QTHGVlzjeooIz9 U2QutoGPjjJx9tnSYR7crShw+n2oHWTeWgBwf4hEC4VupzKb+WLivhBwshwTzCeQW8KlvD/cyv3y Znje0gGg8BQUHpD6fwZjuYyLlDgbae2ivQgm6Ji5Gr3hsoTEPMZCyO6kNk7gGMW0eP5ITwfLQWeD hLsSdgAAP7Bv6wV7YOaeKnsmpZWTW946eDo0S8WEH/KgG2hJSuUPgdbh7s+ZszUBcFJq2x54vWe+ BN7BgAB+3dg3/n1hbUfNUGaDGvnNquWzOHyx7tZAewg6bXImkdnHw3DSuHMU+wefHnoMMYTFq5N5 Bdr3Y4/bB+r91NN9TImqL6WNNMrvlMh9Cfbx9V5cfSkezlDjJtED1JM+0JhEuy6zXMmAdcP4ZJfc l5d+OA57S1+B8rG+Qa3b8dPnodPqWktDJVIp2QefGAs4NEVslFKrYLIquyA7KnkMLUgOF8TmQXwN WZ/728f/AJun37YHB3PcL4X8nNsat0ADPMSYgdJhh2wxEfBMp8W6/cOHww4ccyTj+m+eqp40ZV6u TJvHCeD+ffgHgOkbX9sW4LpujaM0+1WbT0fUU2u5DWMNqcsntFc7WBp/tuHY6TZC7B3UUkD+HJ83 O5Pcn4QJv78g8f2A/wBM3NIw1xPIwAN/aXc8DXFb0lPyNwlCMT1e78yMH0KrOR4RLFtkdPsax2dm s9YxKYGjaUDQH19PgMcV/DoIGdYoY4E1MSR7kMM0s0ru+zM0TSSPO0skjvgrMzS8WBX3G5QrySSh oS7JE77AxTuyAASzhVHmzl+BXQI+HNP9qkaS7QUO7MgbJCae3i7MmQkQwJ5sKAZhDkkMO+PjAt7C wgf6ZVxiyT2T22CokA+g8B6vI0K6/msB6/Qsz+F4Dnch23J1IdqinIWhomV+hmQ9bre/uE4Cnnnh k3N8KLOPCQhz8vHj7BsD8gdUVV2VfsKZDXD0NAzrBG3ZLtBqquRzw9yFXizG9P43DmQ+N8D4Gjwx gxXFszMDCG/9/L59+935+7B7YYzXBVdzK3Gds2GtxFcatsFsGKlOibGisjAYmQw9kTN4gnvo8xm4 HV7MT4Ukm/38AfP+AwLTQyymHPUOUjhbKT+0huR3HjRkOSZZ35NY4nzlwyaaNmlIgSN9RuYx6U/T xjIrZqpOV4rxZJ8dTDxQ9UV8vra5S6TetkXmAq2zVfVQNr8StgZSRcguHX5in4aHMhp5g421+eeH 0YTfFcY8nObJPaI/sB9+4Ev9PLU5MqvvQ1LoG5kFkVzAy7le+NSFPrxcDKKyykwe4rfeB8TyDI8W X9qp4YMFq6ws+aq7fz59+AH37pDrFLg8b7VWipRq3X1qVW2qZ/AxkNjIB1QFjr5yCIuPnJJm8I/b 6AEEMyyVaBgz6Sk7AAxQT+IDgPR7X9R1/p9rOwjVfOA18sF27xvGfXuoGJakr4loWNMIJ5in6r2e r0P84T50KsydoC/a1AjtjwE+gfiJ+fj4AjNu6qSRZkZFQ5Nec6zz00kE/jmGNdPKkn9TfcYJtXIs t/do4nV1zcSNGFx07IhARoDZ8yGeNxXaYkbnLFeKGwSIBiZAUqxQGp3yYsOtzGdg2Q7QTK9qXUZV a/DpNDDsrIwODW28DajBNGQ2gYT3vHYuA7/j/kANcu2LYsZgZMMqoKBr1ysJkl1+yTa/rIwLlWbY 0Wk19bcNN624Pi/sYFPnqqGs2YLKDBm91cbeAB9BAHz/AIBgEDBSPPQq9umparrcuB5t2PzhrAvX Yhn+/AGa4Q7IMOBh8YJljbe2o8xZvJoq+s3nhCSb+gn/AGPoL8f63WBIcGO2GrN1DmIySxmFsTgq hw9Th4tYWFKsaYwB1vuQyp7g4YkCFlhA6yTV7QswZ3R2Tf8A79wFBAP3S3CLgkmZ30V4ESWUbv8A zC+mgdJZo4skDSKH2sxajcFihoNi9OsyxSJXts2rXfN0eKHzzz1pQyCW0VncFXi9K9OHq5MWjp7M 3CejsRhpu5eTZTgnskyZT7JcFf1ZXJC0DyqhE1lXKPLzsnucAAPv2G/7/MXJyzTclZ0BtqsbYQuE Ns2p6Oh2eWuCkbaU/i2Qnvi3cHAw4+t3h8Xz1O3AsrO1s2x7HaX6oPn/AN/W2+WQBB8RnuFxpKRW 40QvmD5D5hQ8JAxWRwhVWYhQzHJHiewAZ3J0bi/gzeO+ef8AAb+f6MTC2ya3LQMVJKDv92X7c3cK 0bCsIeWW00ow7CtfMQ3BwcK3YJlOnh9LeM7X8GZtl4ThwHf0E+fPgOjcvuBHV44V8F5d3DLGyBgg 54vkWQP2egZrWR43y1LY1kLjf85pYyIul7h5I589LyoNbeqdJrC5NHFI0mOo0PcmNJV+0uxiLiTw s1oB7hMfbIm2Pdbitza2Halq4h4DCaEU5zVwMLz1gqI8AxP4YnrpumWy2C0GEiwWSSen6UUm+dQF /LdPu61FKab020C5AxagdPfU9g7Vnk+AEMDCauhrKzvZtJ39B/r4/v8A1Uu/JGoy1CCrZb4GGgWi vglTx87UUj/MQxdhAk5b+JW6G+TENxW1WB8Cq+dcnF4DN7B7Hv8AsAD260z5FF5XD56kkuteq/bZ IV1UDW7Y4npS9qMQ2T5kzUhdlwfzhzAhZZwxWZNo4yjfdkjYAADfv38+tFSNY5EO3uWzs/dnJ2Fn mm4q8hguBqmNnpsTb7OsvKLMsG2aSQIDcQdQO3bkVHFk5hSvbWXTgqO2I9crcOKBJKKeUrxSpyON rGyYjhzKvbalLezzE/TfMtRhcHgDo/8AndzSZPc3nsl/X3gEHwCD1MWQHjlBeSru7Ut39AfBruYr 12Hy+eWgjgVdkX1vjafMMkMLGn7DOcSfi3lmR7Rxw2DtEAt1BAeASV0WBDnqYeuU2nv8FoW34sQh 2cYSEM8Ud7Gpt94fDmae7Th8ENwKPnzpbNyfF5ZfuwRHAb+AX+QY7+bx9Tbo5L7gkBqx035wan9S FmyFugUehluWUiWM0J7hDcFuHT8OwHyuXzTfscPxbQU90qrrseEE/j/sEAg1htyISuac5NeISitc c5ZWfkVj83xHcSqVd8aKkmixEe3DLI9CrwzUVYyJuxdAkp+HdjGj2EBv3UIyf4QGSWq5UJK5ZPuT siLuSk2C+PD0nty3ObR/mCbM+Ifg9kN9ovsADgIDYEPRbRcjvV9faZFfVc2p1QJMZscAL5HXq3uS pWwXY4dgW4bhqcezC+YgqXEoKe87XzkmDCVcko+wAD4DwD90apcywLAX7ajZVD6kANyaewlDODg4 L93UOrgUjRvXKfX5hkxZA7gQXP8A1Iad5sxZZu6CysHLRN/7+P8A9/YGTVbAPYzmrTsjqudqlqpV 1IKbAnmKXtiYmyl3mVb2i+MlqU/T4fjYOyq/n0etvKy+f3s3+/gD/gMcerf6eW1aCH+76mHVaeFV qOLViVIuwWa2N0M3ncsDsqyxFeNFp5ZN2IxTMZO/UQHHFncqfdbEDE4i+WB6pmDv1HDD9RWaZtR2 fEevKuYXi2mpXXlur3J3i2M+L+nsx2rD7etwXxPbZzgzPPF0ZZB/i7z79bvPkEB1blBda5DItKPG RLtmRRVMMamj29qPgzXz0uEV+coTjDe73xUYT8/K1z4QQkysrMvn1C/SFOAzSRsOB3HFBAL59NAj AOBUYetGOpZNnSs6UWT3b5DDiBTdQgH4jAZW5i2thx61O5ghbwsrPa953yrnZJBgLdQT/Pum+jLF qBhdBFNQRKPVaadQUifXt5GRDi0HnfT6Bb8FDTe4S6Uqwc4YUvPUq4iMxNDWMFlIBmziPivv/H8X 0DhgeoVsXMauezUMZtuJtssIQDp4nSaWeQYm5IlTZsZhtxcV6ftcPmUptGlkyRp6Mok9SVZYoljf CmjlYBvKt2MDXy6L8zJ4fU7KgEiVkHnZkYa/tSvbAUzEuU7ngN8MGEPWAhocNgp85AcIHG+DK6uT Wt7SaueP+/n35gPz1BrUNjhp+odNSacJIYhkr1H1FJ7O2OAF8LRQNbjrUZGRkrdkr6Y1VLV98bOU JvlXVozHPNnPoPgN/Pn38jvlN2MLPoZS4Dbtq0D3JLDuGTcEszKV9Qp5otS8LIT5gfeF9wnf+oek JizwOrxnauru6JzYF9B8+/dAbQrw1LUoYTW1PJAZUNtrKv1Ua0S63PSpco9WxCJNhuEPj63ghuEB VmDCgsWs2YD8ID8//kAfsIrKrTTOe85zMf8AFRXt/VWebPnxx1A7SOqEIUOzBErpntRrlQBtcvPP C/H46FSFqXZPrPOSM0CbfK1DkogdJSa/pyZV4HT3KsaYAtSyO1a24D0NVPD3w4+cZpxXJ2Zzbwf/ AIFsHU8t5bRAYIZ60ANpTFymUm+a3mpNPqYfvcvSrkrcehh0NkuCyCHautKPPHHDjNNlPvDsD4Py ABUSD3dP+/ZltlPqRzHUZXw2T/ObsrmFrURWW11M7q6uZIIdkB4YeYwbG22BsdVrNmbWTKA3bzmH n9gxx2DsdZCnfCG+Cs0C7Eh42LUxh2VR8uWeTSwAXahAw+J7jDDuC3BgL8DGYs9m1fjJw3gbB/fj 6Dz4B0KhQyMomil+dQDt6hvaQzSd2cnJDviMuO0dX7M2llSRxjlG5E2BuxTWlZ1yaN0PFc/B63aF jKdemZ6ToVqWpVrATpHqUPV4kP8AKti0K52+yO9lkVsnuEz4GwfMrS8mnc2bZAmxgEH/ACYN/wAY 4eHrNXMae6Cv0abGpr4/qdoMd5WwpvmIynAPMOSQw6GH29kd5458p1PJoxQWLJo/CTd4VCfAfQQH UbDbcVwYBzVJDSd0AxpZA8YcC1kSuWafTxhPLh1uGHhp/FYCeB+Y87WLJk/u2+IOwf38/wBNqzFN 4codez812JWcxu0aXX8OZIlh022q9q9DW098quGYmVuvmGo8ngWrc3lXKcZ5sbCbA/8Ad33QX8Af jNPDJErFF0yRSMZS9auJ4ojFEVOJ+ojb6hjNHcX8aAscrUwsc2YvbmXBWY+yeNwM0d+NmsRRxlys 8DHnfX0O2L3um5zzHMUrmioYRheNQlnK8QxUrQ702muHbcPqoMUOnkEOxu+F007xmzHwWsPIT/Sv wADA/sHQQHzKzssXcEqtMk2BrRwJWEHzrODqbIrlPlVKyr+8UPdkx8T5jVUie2waG/iFKNBNZOJJ u7LU7RH7dPn6D3/oPqej3yLbB5Sl5xK2jyS23GQZHyt15k55XospDH7P/Jw2CGc89AWxjNugsYcC b0DP7BhsD959kD4bbXMyY5VVeVtJ+aepxhMWFk2RDDuYCZcj5ZA++Phsi2yODG8W2n3T2TWcbQ1G I3Bzf+4H5f8A8qi6jlo1jZncZIEAds/4yOfC1efI54+ehja8/TztDG3djhISua+DeHHPF3fFUQSt VbJtcBOanPWfp5pg56mhri56XbT85Z7tn4Zh6cV9bpNzpmmpkgZo+xpJSQ+hPWuZgtf2dihYQxub JwmGS+daazTbTsGukoecueqK/l1sCykOKuXox59Bz4AbOly38CNrJXzlrONHqUWwr3BT60aD3phZ mzLnrVlkOBQFZPBjs63jSxULKE0LMn9n7khPHvf6pc25FtiLPNDrH9RIOMIeOP8AiQPFDxtfv/x+ 6I2Sm4cCm7UuSjPjdqnDVpZqPW4FgYZloVLETVdPIOFbsjJcENwfAZ7iU4M8rHjFnm/+/j4DYD/d 3rjp/Vo8AV9wlVU4Eraba9Umyt3B8V1NPFLH8FtoB6f4HMW2RPq/GcBsACbWidZq5RmGPGyGznPj +wAN/QT/AGIalV8VstRSqDONhyiSDLMFeslkL0yr3yWrtHb/AJ4YfDCevmFVS4HVaezDBTQsozwE dTaOAqK3V/B+fgFRL+5LYENXywwuzKrSaBK3NW8tHyjzR3IKNEs9p9fE+q3wwhrX2Q4B1IQGpkwe Xyhyay8UmEq33+/fiLrnavSx6vRrFKJp0imik1Kx8R6qNbKwzpz2bgSZe41PDG9HCjrj1DxSvJF6 c0kMkKTDmSDcwBkiNCpBiCrfH/fpe2BbDQ+NCG+T6lGpOVTLb2nmEqnicDV2FNlbeYcK31CODHcE OdbVP21iyf8AqgFE2b7sbwYPAIPsffj+6vLEIXcLtmAxu2/Hsl/LVwkw6PiGMe7D4Mhp8xbqvZ/D zkPgcEwsrCG0LJMGk/RwADn2B/z/AE4KrF3gkVZDM3mYCZ1BanDZa6EMxV8uHUoGzSjQ4D4eMznk z+eUuBwLUt9GKK/sjhNk8A/IL8g/YOoxgIA1ePXtjIeyE3ya7cwJTE9SDgUOwhb4n4MjJM44HImA ajb4FqMExe1k1kHV+yAwB/EB/kf6ILcSiMI+oEJqSJ845NkjtjOK5O2fYlc0eeOaAxdpZw7abeXe BTCQb3KbaZNuVttn3JVr+evtqaalNIaIcBCPNtzZoH4mn8a7SKnZEMXbB4WtsBgxVbIybhNVR9wA XmYzLL4rk98djYRH3/YD4Df+qu5jIhJsOZPihySTF+NEMc2HpCHFfIjQAmEFuZ3UqvcODn6/5wh8 F5QzLIMI7pO//wBA8B8+aq9gOtoVfcAe+Hx/hoTtZHKNNMyRd3yqHiXI5PieYQ7UfGQPADgwDhPa v6oKExm9pBvf/wBgwP8An+2RWYeuVuHlWqyEq97YqV3MAExjEfH0XfO1mGBbZE+HD7fwzk4eeVbI ZifPCbNj+Lu7r8g4gPc/sDjKMVSUp2WyQZ5YxviFaePEfyY9gy4CPyb6DaVHkMIdEO3TOlf3iKWO ZaFnLbiEZPIv6j4w72FYlqNFS2DLSCj5UqGezlIvH1OAVezZkWxhPcaYnslqVXMQzA+1AYFwqU5L /F/aBnRwgTg78AQvoJ8+AxD7ouSGuauObhrmZD6QyG7CMMjVYHPKbq++dPoyG3p7IyOFVrjAtnG3 geExmGXIr1mT72uwR4PH+An/AD4AAW1dqy0mVPVVs1nYCNK1MXmGoxqEaaq4zYTEm1NSVnknM9Of QlVw5502PPejMHwkiyGu0Kz9Jz1hDCTiBNA1vMw9Prw/bpW9PuSvXrHETyUMC+Wgw4mGrUBZtj2g m2FSItlT0/eL4DzHANOgOCGdrd5t9pfFms/ChNg8+wbB4BUTLJbRxumX08McxX02ouGaPxuVYLCx Vryb4OVXWwWSZCd10RqB3KpSaNY4Gmo3fhas7tP7ACpum3yAUA04NM6hHZeR0kw0YbXbS+m3cYYD Fq2Rw9kYDFcz2CAqp4wX9GZtkSbRxAeA8+Aw6jbYOAxd2NVS03nXY+MbU/wx43JkVkYqUDqEpGxq 3YIbgnvidC42DqVw7jF2ZZ9u2e+f38AeX/PgEGST0+OZ0Z1jXwZDf3yUkjojwezg6nW9XxV6U0OM 9PMQ7shrbA+79aGHD+xqG+cmSDYRJqtBfj6CAPgEI+fakxbvy31OyHK0Jlfu1g0bSdI3RDarAiB6 QlacE2pTBC1JgeGHT1/g8BfunuqTWWhX5MDtIJjwHHYH7YD+wFGZI43lkffdppLDLjG1FAMwp3DV 8bcsfzllxiuTCUwIIn9IqGKDcA0kZ70YdtVkKPN3445rGjsAtNzM6BaBgI1JsONLq8PnXR8Mmr0i ecjFXw7gmMiIHX7JvB8wbQcPbEMWs2Yj2iku4M+AP+ft3YOrKg9OesDTzXkOr2KlDVZKWsZbrIxM T6mU+UWNYUWuLIHmE9kmslkWAZn0PYAA7cAzbBbyTBmzfsAQT5+ouP7AfqwRM6w3Z8zq60y2SNtR j0r05a7hScwzp8p+LyKnJfP4Le93At2qnsmD5AIU84vKxhg8Yg3bELx/2Xz9vHwHRJRdqQ21X706 vtVG8ZtY05Q1Xja3jsL5ckq7leuWQddtVoa38O0A7UBsCA1GMHkV3M5yECOwP9PAAMEHojLP2vgj bTqVWstQI15SOA8Y42c2o2ce0Y8gqwqmAd1yoFlEXfHwsqHcilr1AyAqRQjLEHIKgrWYtgwmLdI2 qk1+Gn2RaRZHJzHDgdXypepZXhuEwwnmO5K8tnKH4HBT1lmVqbWWZ4q43qHOb/UR/E+wcB6fGW0X BKB39WlaAVIPlHn9eYAK2nxLJKC7uA/MT0+q6fh1XqE3iEBT4Hwydv1fh94/F2CCA2AAAQPbqSjk FcoprZmLnVtZNg2dHs0xalYmWyt4tiiQJRbcK3WtPdwPkwc+Az3dqd+X1cWjIxzzdVvwD6Dv4B+Q ZhTeNQBm2KxKaeD2pBw1Sra2JRwOdHU5kpolOVc/cHxDcA9qfMBcfrT6ys8XebM9jaT58B4A+g8+ BoxqjmpR0DxSbaajEJIkscryO20bSTbVWfEbNWRJlSvaQxqVdkRo6yVI8R3VV9x/H/c/nqNkMFfp FR0/XL5W9tJNtVLhcVPtUJX+Y5Hl60HxPX+BmFuY4D+8SH/IzBgxoFvOx737/QUHYPPgIDNOalIF qZ2bTb3aIeAyLctfdrIR4kOpQMRNPQyDgtrnGw7At/AXp86GzbW0LKMctE3sewex8/sGIBz23adm PYvkVlWpZD3rCzvitNhuAYTWwquWFOrrFwEwxCeyUkn4bDQBDFlG1o02j+uynMcd/fgOIDFgALdT oNksFlyQM+YEodtyQdhR69PPBYxzJhPSjA9kW4eGzMGxnl9tBmRiML3NmeMTbs8b/wCAP+f6kOl0 2mjG7NqZNx5XDa+YNIMpmlKI+IuOLdEca0NuFIUtiufV6k6mWbKKKCDFIlZIY9uPmOKQEJkcaMmN WbAu+aCrh41euD5mzZw0wLT6uEp621B7YWxYuIhK7IwclcGRDDj/AJ2JA9BsgmT5Rtm9pJt4/Lr8 Aw58f6ZCVWbxUFiJ7G5IalnVLkm7YITbmsCG+AamLCzwdgT94re7FseHrmtB6F72YMV2gYM5s7Gz iCAXwDBv4BfPxrYPMAUcbFrRDW9PZlktGWGPTKvE0/jci9ckVPcEJwMcwZGAP89fnqsMn+G+S8J5 s8HwCCffsAGPUk2MludklV8fCUkxVSrJpwOqjSC9zKKJVuSMAdkZafmrY8wqgeeA3Dk74rrOxpJu k/7B+ngG66DFJYUkvPGEsk0um1C7nhoVifvojuVm/wANEWelaTUM8gkMMcTxxu6E/wAHATITihY4 GJ+O8Ub6XqO6A4CnkxWNPG3YZSTfKK3ANCnfB4DE5Q+DzD5ZFbmE8eng9PCf7Mm5tFXPKycSbs3x BxAb/sADoqKVPX5Q5DXANnJN/I7UD7b/AOCn0jVYt8LCyuoVfmzDFkQ3DGn4KkwPlHrZN5oe+Fl5 Bm9kObA++A+/dJ+s4an8cDm02kuwfVdMsiVHDZVgU6HPUO8FUMw4vmJin3DugYwn4Hq4DrBOz0Nm R8UnHtXivoJ5f2D9eqw9QWXrRXdLWnBI0j5AmtdJGHptiwl+AxJ4sTqCVYbev4XZY9jWnb5+FghL 8EJDaFrEbcH/ADJfqOHfZgYsV70+heXhaTGQFBWNZbUOGnW8QMu9tokjj35UfGPLGBNCVqruyK5S GMBdx3YVlha0KHLHnqUtCt0eVU9VvkCYyXBppSYtIh7mDq6RMq89LQ2hwX7UvihltPsget4vg/g9 V2+TV3xZsw53SN8+3/H9EHn0kwC6Pv23MkXRlhEq9rTmyn2xW5CQtprRw2+Idf1UYcKTT7U7qdlV 8DaiGjI2NyE7yRwgT6CfP93QD90X6jyi+GqLUhEi6e6L01JOq5bhvAdWklpli2Ok1yrsY9Ph6fET /lnrVcUPiicQeRiuh0+LNmbsSnjHgC+/AcAADr7mXYPlWZMsvWRk2RYbvDdq9V7O00vFYp6a+ahA ItbcGSGGuAOHT1tVUgAKdDqD8Dk98Nmwm/gAAAAg7A/HwaSXseOXU2UWPk72n1Mg4jWfT9ni3KHd OIL8G6EfaEjrggTMkAy7ckTsVEkccmL3XZk2IvgYiup3LsjLaIc2pc2yLjT5+kUbcaBT9hPDFSfD RIGmr4cGOq4bJZFV8wgtq+h1y+cZfcBay7hAnugsCDUXAdgfuq1ArUOWWj0+LPIY24MpDbacq/Uj Z1sQ8D2n2Imxe+C3VWL4Y5BMtRDsGf8AM3N80l6eifCau7Vc+Qd/t0/9BY7Tq0F0PWGbQdcVwbrG qhl11Rq3JWbW9T9+GikbuTrIXnGHRCe+uB9bVnysB7UGxeUL2GnMO12OKCwYY4797RzA8IbbZle6 QaHhqLJeenvsM4WRedLO8toVtR7lvDhD5ghoe4J6OBX/AMqLK0UaGYYc/h4ScD6EAAcBPn9/gCRS osmncTFJJImPsMcW2J2ievUCh4y3C0WU83wSF3iMoe4g8ccilauSW9pSb4ywfmvPxzRfFyJafbVP rdfSq+Nh4gck7h1RwaBMwWr0irnnAeYQzFD3YyJ63O4fq0BvhOzBbReSyD2Q3hsC/wABqLf+qozK 0shIh2Qxttem7CbVRbbHBqA1vLQwLkvVyL+n491E8OPZK5Ar4HBkeSf0b8omwhwAf/sG/gLdZliF MpXMymMDaNJ5RhTsJes6Xx7uhFUwCbdjhfFD0+nzHwf86BR4GcyIvPP97Vd5/wAABAHwHSZQ7caI FgMoaxryCVvFhg6ycALiPw7clNR9tFHxwZE+YyWQHT5kGevodjSyfF+TcHSQiTgAqIAAXwHgMZAN RLIsQR5EbLPKX1EyleULC+B2owJSuGLcqTlyAFTyQRZyDMumKxgJuRiMeI3jzXLDnFshdnjjpzGD FqUjHAhmNPoElK1LaeJdkVuStBsDFLGLJpRwp+rN4TzAcfMOAdQDaccEbi6usjP6JRsX3YMH5A4C fRoNPvjT7aGSr5R5kVbaahkSyLgznCnA4EpXp6pbUsEOtuFV7R8JqukhS1cGHlmaNzZuE73v4B+5 8/IL9sCZQx9oJF5w90h1LcyvMJMNgHkntk4Vyh1keKGB/beHW+pBcX3BqQ0+lniGMsxXKLDzgbw8 /j+vn/d5VGl3RFpewrk16krj73NaTYcgPYVbCTDm5O8Vyb+SLa24Pu3hzlLL7bj3fGC6u/ZHb/V7 wCD59ghj25NaqRxhJPp55b1JeOZ5IhGQpaaeVJEEAaVHiircjoyUSrjlLDpy8tudwCJl9SCMGPbR yrPG15NRSRvacgvFm3cQOkb8ZlViEdstqrewg6qYr8SHApq9Ywvh6fDfNnZCH8gvvkEwzE1coMFg zf8AYAC/v/791x7Qy5Riwt5Gksmr+ANivkw2iwoZQ8v7otj3BwT7Uh1tX62jto+Achs5MXthPHwg Q+g8Bxw3/oE1ENrAh2YBlNFhMtkZRhkXrILzGihn1Xi2xbRVPsCZvFVob4voljNvwHiGzDCnjNk7 o1Xif/ER8ABP9BJCyGhNrf5WzySSvabs12QeT2gTDFi/uQchDrdwZFtb842kN95MTKFCbz5tJ3/2 PgD+wdCI2Rknd5i8qK7ESUD+B7ft55+b6tmbZMZCAR1ShKkGRW9yS/UvHt7Ux7vOV9RqvZj5Xzwk T6HanYPAT4zFW9qLaew4y3Li9jJ9fzE9Dp+H/qNZaeeBoS0M3Tc9kSXYGggEI+AqPwB+YYJgOvtW lzXJPquMh5ucNlr7JM8xFPMMTyHMKgMIi2v4HEO0Lagw1mzUNXWVkHVwQ2cPgH8+AAe5/q3V4ab0 djZHZH5st2plU+EXh6HZ2l9smRSjZKPVXX7JwNwp+tx8wH3APckGe3+WJv8A8+Pvz9wDpV1Wh1/q CsgCZi1vGrdIG1uvcw1USCxhXcq9uSuUOwJhgxvENwQ9hp98eFsXRr5ue+BKSOPHaI/wF+8/0wvA 2cwkQ7+O86RYYYEYWM2yvJq5XGvm+FqrR+kRSJWA/AIAPwPwOrKaV9AtJ6iRV12Kul3FfrXM1E2a Fp6IoK9uamQ/qrIZ6QWIP0+m0apsQ+BJSBpCSYA52BTIAsZTARlthEaTyGWC3s+dUMzLap2gTzYi JQz/ABFb1H/SbBlLfWbbQ7ELjZwQLGh+tlEUsWUq8lSwMaDlJ3oKC8kkUlZCzlZLT61tqjGUBOzq 1FKoM1kAAnCrPHNZGvPPJ8H8dUZbJOPn9/8A86O2Uwhu4uyKlZ8mpc5kPah3en7hcbYLmIuqDT2V iw6vWrsTzEMOQcAfH3y8HyzGYpaFZjO6VopKP7n+7v790wtNa/Qd8SGRtuSybas7WvakZhpekhqu pocq0JZ6m08fMrfkjJDIGK5ss/2dhk0Yo0PSyDNJAQGfwfj+/wCwH+q60+ro9llbafAKeNJZsMld 0h2ya/d4ZSxrYaItkWBMfEQPagchDgvloKSPyZmV1d5t9HwtII8AH4Bv58/gAPz2ZWdoOS/RpRDy X/UsBaqBYbgsOyVaJL7jUNbVXw9ohreBhDX0+xgHaVVMbYrtBMZ5vfAB/wA+A+ggAWGUpHDBq5kC PHg23u+JYpTp2X6bUenqdoLIQY6MYJWSqBNNIktTaSA1WcDcxmwKYgrzIlHbeuzJu1suJit09kfA de6bnGwtnqADaNsNBICrFlsoUrJDimCEN8mJ5iEP2OBYAGCHZhavyYn2u2Q5wHYP38AAKbkujTI7 gz90Zd1rjgGh6oZSRYShp30zPYGTVCHFxgVWn3uhXwt4wwZ6BZQJOp+zMabGvGDrjg84H8GDFgwf 0F9CswfaljSK9QxbKMGu7haImwFZkH2FW6GebHIohj04OYQ94sCtziHxKctkxj5V+BM4E1Du2/7B wE/v/uH6d490JFduyaKJDUlcMdvSF5J5Cs1vgdxgZVq88ZE9btRaX3yxuPtpxb2xoaEZGeTYM3v4 ACAPgOA9FBpoocliWGDcueeGCleHVzySS6ggD+LPJF+7PbsY410DzM1ROrzuONx5B2ooURRqu2cY 4owqKuR8E8XQXsjLujNFjXKVMbQLRZCSWX8TBBeDgQOoUCLD2gtmPhh3AeYBqTAeRg61WYto4yd9 7RwAPz9+wANgf0Ok3+8yrhb+lah1Iwh6ewnMDxcewvmMqke0rhhxBluBPWx9WUfZdwHlWtyZNoV9 PIw5hshx9AfQT/H+jDVowWfpzmW0ByiSRXraHku6PM09vCQn6g4tDVffHb+7K3Mck+yI9aWAAOOD NUCHuYw4btFJBvx8+g/v+wVQOMmvhSltWjxocI1M1pcFXae08Dkr8tPps82U2ecGBkp+1HxPrcfj zxgbeN7Y0Pe2I92G0nDj78f/ANvn7llmnQCFYXhblZL3YF0jY7kqyKBIsjUuBSCTbxaxZXoTFCrE MZg6bEKtW3uT+psvamWM4jc4SSTEsMiMhc/fmW0T7MT7kXKTJQ219Ny7AhjWCkTFXIdsOSvZBBkf WSt8Jg8N4/g9kDCbTV7N2rNpGH//AHz9qEcpajJcFb2WH1ULbraF8aS2ExYVwXB/NK4kCrwyMN8o dPT5jA4b8vnkfkyMVaBn5ROWicfn4AfwAH8fYbONFbu7gSTcq2km5sqtyTvZDhZDhyQDSN86gmhw IOEOq0Mw+MGFxdwLL5JWaM0bmzbIknPAbBsAA/v69rJLIQJlMhuzLtfzbDwbMFuvV/8Ao2zXxDQ+ NuFqLbgtkJn5QgVWyLNltAtGWTmO9+58/wA+5B54ZAs0bl0RnwKMzrnlmVANWtY4nizdjkVyyNdi SN1dzuOqxSI23VmmLJTZeVoZD5+TwSTLkDlK/ZA9NwwieuEpKm8GENPbHBXsa2FdNZB5jjcPT2n1 eG36wB4OYUZhbQTZv2TkH/YOA9agaev20cA5qG7GyTJC+W4BzFkNkwXF54UcCDInokO1A4+Z5D2W 6zZvyYMwSQjsD/7C/AH7ojfK3bN0uWy21kf3YNpiksOlbOr28F7tK5Lya5cfhoa4tviGnh0cCwKU FkZeL8GWQnNjewPx9BQcD/gJ4GnlDymeiz4dXWdXyHGiWABZCBaYUsYTXNjQ2AzDmKEMw4MiOhp/ cUPWbNaHaBG3u7KTB/2DYAB8+pVVI21D+nGzl28NszrhQ+3PayPNLmWHC0AYy+ovxtOj5AVJwLpH +y77jTXQ4FdL05R94C1umdV/MAml20batqwk+t8lXLTALkw88Q+YfcGSqx/3yv7aOIf1dDJvJwIa 3w+/YbAv8+xX4GjzDZQ96Ld/TyQQlarhGiEDJ6MprZ75fKFvZ5hhOZJg+GqodgKVH2pxnlDNwf8A v4DwB9f2E/ZA4n0vQTgyJDu4WjbSlUqlLH2FfCOkGBaakPlyLa8yJ8N8Qoa+YVZ7ApHA/JtRn2be 3arjiDbu/wDH0E+A6orqM1GGIoNDyU2wls9aBgKJsgCk1ekWPF7eygNkOExwDmVswP2Oy08fhVay zC/cn5sJagDwHAfY+fNWklD4ineMxs45LyPW0K4q8X+T/wBOi2YoX3gH2krtd8sCcRwcR7q/wjnp 2UmDXwLJT6mGpkbZEpVsiXp3Q5iOw79K1YJspkHwk/khgwPhtYFP4rDJk1f8vgggQ3j/AP0FAwbV mA5hl0ST1fXBaEM87NsS0GrJHsMz5UQpw9hY7Hp+Hxtg4r/P1ynrKzqMKbmd7o84AYbAgn0HYD6T ZGR81BSOWu9p3ZQzRxtTsBqWqnpzdK5LJsVktB8D8krcywGNh4k8Mgzi6vj2OCf1Bv8AwF+Ae/Sx ZIdqGkPTHqHTeSJLHaZJhaE/Jju7gLTRLRV5hwD8wDmAw8M8AR6Hccxmt8pxjfcUlJeNgfj9un9/ PdHhLqJZJw/9GRV0bpEd52CBEmzRpIrpsWidbJbMNS0l2RI2Ss9yu8dkkePPYxDVllTcfb1dcfaD Q+A73ylx2tFwY5gReqe7O6GFkVL290lxRDB9PmLdkD7Irmen2X3I4yr/AJMB2iEdkbnx9+P8+fuv qWPoPKqu8rz1YXNGhHkOioket6lgS2R8PO4t8cOHp8N8hp9gGPgMClvCMslEOs8KrdglXPB9+/8A c/0gWw4tNDwttspwf7mPODawmLgVXBIQ4vcJNAvn5gW5lwByCGCgL7a8IbyTQ9sRqrChOcL78wPw D9/YBswD0v1LqAzraKDZJKr5jbEMWcNV3eG+Hl+K+Pjgnsdb2R4/524KfJFkYLfbM8I7JP8AT+IA /sB/rK0MepTELtuZt5dvsdOFtdMyjb03xuFITu9mQAQdPE7ws4d7zQqgYxPG8b4YyOkcst3RIVih HJBN9rydKLyzxgDmq9nP7Ux2oSd6fagNTrzJXNjS1eLaY+YtmK3mPlocqtqn7LeITyMV8dQow59J B7+A/QB4ADmKa3hpzod3nuwTnmcEwaGSGHs2ZYwtslFIXzA7IhzE9Ph1yAQICr+6C3n82BHa8LdQ T+wIIDfwF0jBRgY7AhrkaiBpKubC08YWBQ9EU+whhYvTghvhggyd7JjhDwMe2oBE+YTvLgZMl7gw nAfP/wCWOAHIeA9X1eYAocM2SSMGSnBzU+WDWRhyA1PUot8nmFuGt3Zjw+uQNP8Az2TjPA1nY/8A p4ABv/Aej3FEiiQPJtujq0a5I1GiFexd8WceD8c8W0e1W21PJnUO3LFjtyyR8xSou2ThZIaTIGji EDNXs4LbDxTGyx6rGGhkpcE7Cnr/AMx8illcpyBbM8wsgPAh/PYIAPtnwPjIwHib2M/wE/8A5b/G 5lkTHK1KZaCiTGPIaSyKbTNJamCycr6c3cXKmEQ92TGR83BwVa0r98R0Pa1er2as3g1hvngPoO/g OnkPB2e0GHBczXYJnd1ED8wAU/5gsWw1KrzB8MOtlw5j7xUv1Wk1kYU4N7G+1xzz/gMeQdV1Fw6b V6vs4zlXlf2SeslkrLhNhB2JkV9L9hLBRkYA76tl5iePh/AP6ecDLMTFoZNZO44OxzgH9P7/ALA5 gsiyqjojypgqpPV2ASSdvkgkUKF35HSo3+nl000g3EgfMm8K5Xgmm91f7V4N9SR2i/4pbYzq10R1 729qq8n5eq8lQIazflIYloTENgsdwT6rY7IwmA1Ng7cLdmPOHGWbGrsEkHUQAAA/VfPgIdwT2wC+ J+/WQShlE4lLaKBsgg7h00+JTWiGwLcMPjZEMgycS+Aq47YUKM3uk8338Bv4A/v/AESVNflQV7S9 2GbLfBrhfudV1ZVPp1p9fSWQCBiAXKHw98ZA8wwPshqQ3DTS8B1mzUN8ZsQZsGbww4CvgQF+8B66 9TGZaj5R9e2Mr1jonTw1wVdZ1P3xRtD8kPHpcWr09ftRk1OTFuEwYTp7gA42z8nuT9fCHNgt7nwA AAP9L0ciiYq6f3mMvEZ5UiJbci08oZZJZod3HMqQo7e0kjMU3URugEqS7V7MxWJcL8kR3k1RpZ21 rstvOXAhuEewSCquFHBts6fksgmt9nkO4er7QiXyUmcPqsw4Ia2wJ6rqHHz3gOTGPn2ZHNO3gP8A YL9v59+1PmLbk4PlSq9MkmUyHjFngk+PEN9pFzYUOm6T/nK3hmGP3VVJgUZy4Ms0YUGWY8JFopPA QL8APnkAAwH00fT3BDiHtRibYUaZxV/7PLd8csqtNcpdoXIhsDGyVWYEWqwQ523nka1EYn/TOyVc ER0E+g7AfAPz8AbLhRmmsDXa2dM6hFtb1StV+2wkGNK5hsuy+EKhotNoZGE3mC5nuA+2K3OOCOnL PA3vkx1KdXZ4XwCFv6+BX9gNpYmdcdQ7zah0STCtRu5D1SbKbWdKALe8f1ytUkjBURoEhoRqilaj NYqT3XjjwaF2eB0jqrMELQBtVXns52dp+QN3CjclfsJklFGGVbTg4TLsDuCfZFgMiqBHHvhs6xzw YM83diOAxP7AfPn+uM6LmVplkosDJkwyA03Ztfks5gLQ9+r2xkMOQfGTupVa3vEF8T+Kw/q6usjN 79/6Bfj/AOmPWmZR+WGIZ0oW7yT0DO2myDzJxOYhyl5ycltfDuAd8Tw9gTAaGwwHjDgzQ0bYDN75 +/gPf32CHkTBZ63K9PLgBJr0yqrglHJLbREhxRe1yk74fdSG+cwT+Wr75O2wZ9G/zNg/f/582LBS oUHRsAqmz7zW2h4Pv7qI8Y8gknoVijDxGRcNQjiR2ssVjQDNqAF1kOL5vpnVQwFDJRvHi88knHg+ 0tCTVY9I/iMlWFd28MCGHtSn9MQevzE7b0OuU95WbkaKz2M2kuyOA+gr+/8AUYlvAho08OC5mQ36 2mf8UBlzOk4GE7T7MqYUnv7JC0xvkS4HFwnTx4E37rNNqwwliFxxxAAQGOADAAAxVjI203Xy/DKA VW/iVXDVKWHMBx8St4vy9QTQnuExkQw7IYYDEECnVo1BifKEPnKObdgm/vyD/q774Xvw1R5euu0w 9xwNFFBAqHpqv6nD4zTNZTJNYV8BrkM/2PdiHakxjX8AaCv3S0p6yjq5R3rM3gEq8HjjsB7Fgxx6 AywiQFNNaR+quoEGz/HXuTUSQZySFu+RHasVyReCxMlLC31W4aji5O4I4E+67X2ZVQHfkRa1z55U uYBn+1dGKThiBckltL2AtjWCvU8o5CYtoGF4PVacYT7UX4bwevCfOmDPdXJvOyJJsGg9on5+AX51 ZzVJckd8mW1bQoa6vjHUpvBfrGGrxHCua5Xqlq/bzAcOyU+XHw2oCwPirDeXlDKec82cPgH4/sH0 DrSjxw9GWjTLlm5zahxckHqEM1JDX5a2hAZaa0Ia+nh1sOY7XzJ1tJ75OW7yrNXV9zqvsm7A0E+A t1A3/f8ApwPFN2QmvF5BWhbG1KmHkAqrvle1/YRg9/XnHvhp+EMz8w42sEBVZHlmF8mJ+ENnLdYD +G/7B1FRWnzZtyHZCxiaWvTnI3kU4Hztx2f0BQ6hZo42TB4nE0rFWFYyLt7bjzeFtY4vIWRXSBF3 ADn3RUpqgg8avSbIt1kYpk9GXq3fD0TUvXMz4fbd8MUmPMcuH2XagcZwNXJ4A975w/cffvvwDob0 92Q0Pl4LeaBoG9XDUjMdrC0/5NM0uvTNPoF3POcMhMuBPZLUmOEwHS1X1ps/fLFX1M6enjB28/v/ AIACA2BkNhRkrlPtrZrgW4R6Z/DLqQqV2q9IrdXPd7uXuD44Vun3xCIOEFSYJ6OYRbMaFf8AKf8A fwGL9jsHAT8CltD4UtyZqlqVwvUwxh0iwrQtQOHbDFjPhZ7irbBMmGGRwmXAh2MQr/Y8eMtHGd8x pQJ4AAv7+/bB1nMG5FGGLl5EMKTZYfU4yum1NIA2G7GIpUanw3HSm9zNBVZyt27PLKY1AWOF1heW NkW2/wCW6sLF2psY0bcUFnUS0513Q7WtrTgrvCTfLgitSlqhvjUJUF0Kr6CAqOZcIZpE0XeKwkN2 Vhd86zCAex80fMYnYTPhlDzE1y8cGctnXlV611CsyezNQHR0p6g5kqwrXyW9zFBayuyeNc/Rarrm m1tmfDA5uIFjeR/jxjkcpILf4jYtn15+9cfDMbvXIkZ0Y06gADVTACgBxwBh/wDrn/f8cwtqQabR wgg8j8HssXX681+fx07Fe1KTtBLMEKvPah6ZytN9tO+oBkDuGnBb1GVzTj2+TKfT8XCq0Kq+2+/E EOq1soTFvmqsmcq4JwhgAH0E/wA+39BsW2WxIp+zLCF1VbUmk0hkUkgfMZK/sO7bQi3GBih6vp98 vitgxghDVQNf2WqzFkm0Vf2zeLRCBKrfn6oX76DsGCxHyMyqhjU0TySTVavWAReX2RqV69h6gqvS LGtBbtBwrdbh1XMIMiO+af8AUtxtmxF2gss3a5JNnP3/AGBBAYr7IqdL1MT4afo8u52QLId3C7Cy O4zB5YOdtCnNRgHCv94W32biwfBgV++KrIs1mrtGnqzP7Fz/AGBBfufY9NEWDf3iRGQamN43QRDZ 87RYRxRgxw92UjEmmFKKNqV5CjtE+DrplUIYRLu+pBFSsdPPjIN3JI6XcIIy7bClfJCu7i+ZWDWM a1LLJEi1gXYn5DYYTQOJRomDvmY1vVZghDBqRHlS34u0GZG9zeGJ8+A3/f8ApwA8yl4qfqoozVeS bTxnm1sL+ntJDiQ9cnl4o5THCGYW9nDsC3BUvOVWL5RuYztdsmwfv+/8BwrqcOQ7GpevWhcdqlAn gQRhq9kp94lsiuepx8PKDhScSt4czh62cqXlsFOZfxezMxwJ+wPwDYH7kD91PbhHDV3cEANZz/ny mqri1kVXXshTuCxld3ixQ46H2fW3AOPMQYE9tVXCzBn5yRtkq524/wC58/h58AmHTqY63Js/qZGV 9z2SQytFJEyle+NqRnFplwPtsvfUsoYlEXchVnhQY3HKfScvzd09DHjnnqBr+jnjUOwp+n0XkIDg GZBrxZBi1LobPlRV5XtBPHp5hwMw7TT+6kDnhzjIyrxfbP8ArbYNgfj6D0mWBTvS0EusRll2p3gS ElbU2CsWQwWh2NaC80K8MhMDh/vg/nDan0thW9mbpgjEzgPznAffz/TrZNKi3d0xDtXTQn2QHFp9 J2E4WokkCxgCed5QGGwTLsQ08PiQ9qzT60nB0YYr85Z/Nu2B/gIDwHn2HIfJjk4AbBnuwRklDWRI rbhRCvJlcgWHSqLT18PM42tmXBkalK0OKzHknzzkyOEScAe/nz/AT/T0eWTb1CMjoEldXd9qePHa sDT0+efH9VccR7suMbLGd3M4THCuBJBqaBB/wZbX/bc/ddB+Y0HbBKU/PgadPmBVvS7Ep9br1fSN qV0hETYTA+U/dkxDWx/zrLT/AJz4MsxoaBn3bm2B/wDYP1AdbbIeKrq+0NLs/S+72QefDCkWj2pe VkRLIx0+qd8Sg6eYhmK3TzHzFX+RVUNmRimCys+E8Bv/AD4+e2Dpho9kGLBhodN1ynyVuVUtkXHZ BJw3YxSMqImyuPsggwhsnIFt4n8tOMhNH9uTA97dgewIOGAAAwH8a6smFXtDASqqVYSSNaPjO7wH iOHw5QFIaJRggyOC3DhzF8xYz44NrXthQZtmx/d+en+ffv4DqEYkiZLh0qRrJz78vafHaBgb93n9 dNkXMqsJymneR4z42628hXORNija1V1+LIr7RZjuDA2W5XN2fqC8luwl9wsJwr292jabGtBPq/vx W5hDrdghzkNPfJzJWVGtFoLKzR3Nt8X35BfgH9/UhyOyGWgDVRREGuFqzG1TaSVSp69DsYCJlAQ/ JOH2Qnp497sayl/GnXyshgvtmT3t2d0f2P8AnwABBPzy3VchyHp/PLOlPjbkoAlGziTRL37ESBQz HGzPdSGhkA848vqWzo3A8Rmx/wClfPtgQefdKpwp4HTbpnGf8ZtG0PWNOWw8JNPh+eK9jKdjckX+ SOFV2QYIB+5Y89+rMLQxjNVZv+gefILB+/n1LExjZrhEhdpY0h8GTsVGZr/oxrGg47zZtfHRSSqW 7O9B7X8ZeL7ear/U/wDnqwDIQbKgzMkXcirZFeiyf4v+WrxDAEW2WgVDkOYWpDmri+YR1K8KH5h5 Rosz8XY9q7dQX79/38+NR7oj1AQMGcow7KrdZFbie7Q0ww1XaAteTbGW1+t1u+JlPsjBMOVLX0+c YGeK84kpLscAP+D8ggD/AESKdmNlQTIYuVcBJ200niQlHA2E0XE4OdXidRjkhj1u+HCk2R8X0M5U pDuoYZyf3mjTqT4M+AxxAc+38+scyt6jXOYYZVP1dksaStxGjOs4OkBxcX7QHsB8UDCeYQx8OCeX 31Hrf752y3wI7ffgADgJ8AwIJ90kkQiDMXj2k09SZ7u8J/prngkUCRMt/vRIJq20ydcl6oaaeaeL RQRJLqZNSY1hG1DGzxQvIiyb0qRvngwUtLHt9xG5dBnLbQHM2Bqust31LpNkWrnP4mwEmHZAh8A2 gkAabZB9JoSFT4cwPWwbbaF0wnCzN0q9ZeXirjiT/X3/AOmlkMA9Xw+k6Rt/Jq6uLehskut945DT 9XptxvkV8sD5lkTWWt8WM42kOK7YMF85Jgzbsb9n5BP+f6GwH8Peayw7Qo0bW+JSsdPC9qwA21YC QHAFFP4odf8A2fZ6fT+5dgXxY0wpWSGriyZz32M/v4AB1iPT4cNp/wBJeoIzXqkqaRtStkcgD0nb DYY1Ld2LuF1vYH5IuzTehr8M4B55XKfzmr1es3o4ECG/PsGwb+g1FhkWWDYTVxy7aTlpoAdPtyTY 6YZwvozLuS39MtRyGHc3Di3pm3vptSsr6QxoZosYpdueKZFwrBllhaSN8+6wrdmPk302mRosTQ9D 1IaLaWA1LYbbdkanEdqs4ewp9ocsKRZnG7UD7xD4HBUhz4qhyayrUPZgzZKTNmz78gW6A8AA6ajR X8xoeFuuWlVXE+y6HSbusi1E+p0iq+42nur3xwYGRkT2RPWyDgDbU9DgzEYYhi+cvDt2u38/9fP9 U/MR2RtzDttJC3JAwK9kpEcw7J5bhsViV1eGPren0Nkhh2AxVfMICNMJjGl8/ZDZsG/e58+Aw+vm 0PsmruCqBSGS0q3SD1SrxAESX2wyftC7tVVNGN4fDDg4TfB8wso5DrMYUq9mWeE7IcAbB+h/z+vb UNIYlSHy0gRP5JIYtNGznkVnVgc4C1trvpCSMSSxuqC+BUa90acDnbkVHs+ccaF2CRbzBalMrGK7 3Abr1cG1xMr4lDj8lKPn3z8bdk3FPmfMOT6P7xGCWPKP1+knNgAc+Afv69KI+ZFkGGjh9bpNIraS 20dkmKfLTLkqWZYwGGvhw9kGENwIGJx7lqriMZnwpwbm1XY44gD6Dz4Bv4CxTwQKaLdRFAxSlhVd qhsGZTdhWAHqtXXkMo5RCljQ09cshEuCyDI58ONxA8jp4x5+8jAZs2bB+Ax8BsB+Hjvj5d0O5kOt KTGnhV5DbD1ENTKnxENWixJT4HH2p3ImMncCnoNluGniq+DM1Xoby81UkhOcH0G3QHPgADHpZ/kj kXuSTaxOUqE7lg/xyR3jQPdd3wFo5MjZnWVZDczPnJxWINFRXz7W54/NfmBr+QHrSYHlHluyEMpX rsWXyR5XEh+Glv5NwmJ8yYYh88eHxwPfMJ1BV5Tc6PCJJs4fAP2C/i/AD/XHbCdcjkt0/Q7kSpPO DIg1haA40jXpmK0CXxomL4cwHcHyG4B/n8tVVsmjVeVRhhwIb/YD/wB+wXz4APy70S1xfh83ZDSG m2H29+GBMMMw9KYU1X3AOthw8wwnmEbcFI4uIzy0bm8nHZJ5z/X78/H9/PyRgUjlA9nSmh2STy5n Rngg+KpBhcJLlQ3Mltw/nE9khsAexp6+BR5iysboMGfsZz3YAD9yD9VJFFNqBqJf6ErGNPPqbLQF 8v8A6U8i44/cTfFGNNIujm0kcaCGVEjdUGFxiWKbE+bG5DGwPGIUjnKwHo+n/SfbTZEocoHG5z4t kmEOSzh7vW5Rp36uf6w5JMZXDnAG8KzqtbJjBdX7Z7OxvwCCf+gnz/TORx+k+grgSYrk7f4IYa/t i/amorTPSO1i+0toJ/MFtD4eHT4YN8T3wHMJrNoIjyjWok/+P1FjgfwPr9FXyRQdBXYBPBiT/qcT IenivSGSHV4jIBilpR4O4Q/uBgOvw2rmFaTTCKTF93xiObdquBn/AO/nwHtd6qGAXYNZqoupaxjO 1aNVkbhnWov2bcFyHizmUZHCYHp+4HwOwIbVpaXwPk3kqLWXnvZaITj5/YNgP9outUkjlmRp0kSR I3YRdu3eVLEbbavnI02dLwuPOdI2DA7SZphnFINxO+SGJch2ZVmW+PB/xWKu2YDq88+adTL4qjal pskt0ijvlzSIkOxjynXNjIc9bre1LTMBx8OdZdgbHMJ4FFcYjg+Em9/QQHPj6Dbr8AganqOq9Oep QbSyakktYCuSJWEO09p8e2A/A7NiuVqD1unzETjdgVv2lcHyuXzkxQXtmyYfqf8AP7B0/SOZo5TQ mpRWZ5moayNTWc31lW+muvXFemgU1T9PIwDhgyPTIt4TJsDF8Ic3RmjB6Rt6COqOwYvwDn5/DDqu FuB6fqpLduOgeNmQ7v8Azie4MExoF7WeMMCf8xPhht4eMU9SrkMTWd093jZDewYe337gAC1ZXyoM MXZCxXCQY1yj22N/cKPgc9UI8GgdezTyyZqYprCbwWwRgMqxBBsXbcCubx5cyaUOWFVV+uGnhOt/ n9sdzrgcMWQ9V66e2fjcPTGHmVvPmNTavn+Sc5pu0NzwN72jn/oJ/gPn6dA7MFtsPODJpg2yC3YK JjmM4gkQ7QtCp3KKyXBvFJGE8wQquqzyeeazCyTKFMSZzZDZz3AH/fwPRUDbCESyFWwc2yP8A8Yr dTkKsNoiTGgC2WMBMMIf4bIoJ7BM4iQstH40TF7pvm9mznAT/AUE/h0+GSRdDlUdtO644EklylqV 8h74sIewhxVX2ELcjBC1IdVp9PhyEz5/LQe2VAUocYs/dvAvwB+P9RW2kGIsyOiRoe1Fu8i8tNj5 FDDmjyD5ORUdobWkhhfIg5O2GGOEdLlfN94xoWTfBeY0r6rKC3jTI7h1JqzbUUq9kMiHU7vUFS1K kPjkh2BW9bzS7g4YLc4FqQ+CtlCYvc1nhJsIjnz/AIDf+fdU6oeOHcih5DulqbeBvi07mK9r1flh wMotd+zp8yGt3wHwHuH++E/F5V0Pk2yWi7gwADYAAA+f9uys3Su8oxc10njzJamoKYSYVdPp+pxM zFN+LTdVkK35g4WQyMBi4tPA/TxVb4M+0LPBwiSko58B4DwGHTOjhl93ZK9FpjIOfCkwJLT7OTzI nhsqJY138PZJgcO+Mi/DBnk5SnB9PTNV74875shvn+AD/vwC4zKFCS4F5CGZo02kaQVmyozGOPOx YknXkcFqNAFjJeVGdscVCM2b7fG2ka0t4d2R4skcCuWon2Q0QKvrHKV31tuwpMq5gYbCA4Vk4OVS 6WhdSzCC24VvMT1tgD2NAr+f/Uz4rrOAMIk/ftg/fz/IF6rlBbQ8fKApLJcGa4Ru5FPslbiTCI0F nKUhkE+Ghhw8NxfDgIehvG2ExbQ875zbYwGwYgUHz6Cwlut7AsfT3WLHlU+S7cNVx17V6Tk0fbAa LcbDFsZ9cO6ifdlb8gWwd0/avJi8GdFBm0nwD8AfuA+A6CXSs49fHO32SyDTGVW6AkGKfs5orHng u2EPeCEP4bh8weYrm+F488ODMsq5RY2M5vZw+AAH/oL8f6VDCpd8QibaZ9iEZUVFEqzxH8gxySVZ BA7bce9cz750jdj5qvAybKVvnmSR/NqFtsrFadzEMzcmnuVUr5UrJFbyUSQ1LZivVsoCLHlf+cDh 0+HCITAdtMDaDm4DKvKclR7R2Tz/AOvaI/j1SfMIaf6bsw9VQuZjMulDQL5kWFVYdsDgZUSxgMOw A8OHajJMX2S1J5DTTBWxjMrq6MMtTA2cxAfl1+QQH2C10NkpdjsCww1l3lJJW/D48YqUwrsO142a +PjgQmLYeyON8D4lwIGHRkYpwYYjhEkIj93dg/r7DryStyh81ceDzlZedGW3yvX9tkNUNo/2m5Ab I42HhvhhwITK5nuM9qZEZZfPs3CcP3//AKH8OrgLTtOI80/iXviljzkYNthNxY8kkxYpIt+DaDiw nrTxwsUSRJM8GWWycNstkMOPcAOTxY69adJn/Fc08adE+wU9DfdcNG+k/bjQ7NNcqNe6Nz6YDZi4 dZHfFUDDqrjG0iCHrYVcDZctgj7lnzhU7NzvV6cPX6MnKzqm1hHQtfFRifOY6XQp4gDBzZyt6LTb lBOiyTOdMP8AqL1bKVXWSpOVbN/oK+hzX2pQLHFL0SWEmqrJT1BFeDChZ1nk0muLsU18KIWOKbOl bFbFLlsi6BoGhfHAvhseqxRFwvFFF5eaAF+3pq6eDFi6oNW9tVhquW6kojuFp5lV8BzdOFaQ5Ncq ZM/DIPcSq4YhDPuISprRug3CxZ3xCt8XveOKPvwEDhhifA9cdRlLEzUvT3Uu8XHQNS9/qy1AZ1YM EpbocXXrkmh19PcLhQ7UrceXuLb8YLJue6I2+JIQ3hv79sG/nwHTsh6g6ztpLs6tG3OW6rQ2q2lP UQyZO0uDRTensWhw8GT4dbp8wgHsatGDg4jk2BQmTwNu3+dRcBAb/j0kyhBwV3BVdwOntbGhs5bw sh2VE93MRD1OCnvug4Q0+yENwuAxBgL/ABUwMsy+MVl5B0m7Vd2DAHwFRAD/AOXTePTJIiiOY0jP FptQc9Q+1Dpo2EisDLL7VIzlOGZC+SSK7rxtIXR5cokl1ccku2c88SqQyQRmsWsKq+RZ6gUukz5S s74Ut+fzCa+SbDT2RbHsMOz3KwnKm+YXAhvl2Ib4wTJwEeBVbIZidoPhMmcNhN88/UIA/UT8/dWD stDELldB81ZiYWSMT5VfU/CAu+o6HE1AqTOrqEB8hWPinTIGNPNtYPbsIwZactFGKWoEC0qbYAQD BetzH/lQFXqvIWJftmaj3HNdo1bvcxjYLXJJ2Nsh06W2OStVa/hqErdbiVuRZUiCwIcGYsrNYFRt mA0rVEknD4A+fxfj9u9Kxo1E3IuVtTIuUNoqHbVPrde6Rxteo6nMrm7q9Q1dbTw8OHqEDzLA/o98 nWp+6I3B/Ngz+wH0DYMdgZNxHp5RPCiajUnEM/e2QQGFkobMjEDbmyfCm9Nr4qP05XSSJ89NCrkn tj9IVuLJzuxrlcsWKZAp6grptFHgPX0ebjedY1KHzbI+WPMODA779aAnGKtr5gOHpPh/w+IjwJxw WbMaNzZv87U/f9g/fzyn7czKHaKYv2AeSbClOyS2K+oSYObLUtoCvVzEW/yoH1IfMX98UrAgTvs3 KFkYc7ohNgwfkHE/jz7rsOHEOpRZKh21PoHJlTJKQR0orce7odjFWFDsat94T6Tsit3BPhVy2jx7 UZZkZoKExlVuwS7PvwAAf59j0q4YdLsZwGsbHp7dgK5T9b1lV+dYdgS7gAi6n36YvJ+8akK3hp+A SAPbbUMMxPi4smDNhOcP3AQGIABj0oJ9RYVZiiuyWkX8102meCfM1HJIhfLba9oLXNgmO2UVXhMk iK6szSiOO+HSWKWCPccxs6MquNrMMS2QBG7QzHStCg0Dcl2SZjQkmyysNAtDYtq1SiXyVD2dPqtw pPw9xe6kDcCe18GJnAgTfMd/PgN/Ab+NugcRYxAxQVgtSk7LjgELEKfmRxJhXaF5olB2BbDodqQ4 bAHsZ8cO3NbjBlYFBgtHSd8OH8bd/fz790bKCWwVphMY2Oh0hIsZ8G2a8NUOv75muRQSrvsPtWtL d2IbIvzEdD+ecT+5nPGYn/EO7cH/AH/YN/2BgnGDNd9Pb5LpamVt3zbmuNIr92yU+JDuS0FOrwAf mBgxT9qJzgHncfstUTyaNaDQsowNJ7JgwB8/wE/59+eHwlWJBjhOYS13neNMRQqqPFnz56GONWka yjZJkMGyxww4PA92XB/R454EI+ZV6RS9YZR6yJJltAhC2neGH0/lmRoV4j5FTyEOq0Ot3AxYC3O7 H2ZxsnZivaFG2/wnezh8AwbA+/fgDUT48ygrwW7uKIdtW00OBtejzA9XtYe2nITFTQ7BZEP+TfGC JBQ7gAgw6yMfMLLGWoEtE28AAGAABj7nz4pDzNK8Wq0+AApi/qZTXarl4OyOFfxIdjgVPX0mp7BZ Biq5kMwQD07Ar8CDcO5jQ0MzNgb2TDYEEAgn9/YD6+XxdoLifZCQ4kltVPWcpTKefBqeJMHkOJFl zE+yK3fEOYYYA5w9885MGFN0WSZw4Eq5HQQGL8vr5/f8c7ZzLK5TF2TBnWLZkOQDEo+T1hGsjkUc sAOLsVtRoYUDoqKgjjVHiltxiVUmNzjmbot4xNBuadmoy66Dd74uzKUg9o2Rpo1XNtOID4BeJf8A D4hpGoK2lsgHQ9Zlwe9fQ/r/APODLyxfEbfPNo78fPgEHwGB9GyDjY0avLIvh8o0bpXV0NSXrgM1 6rloiGr4Hk2iK/DQ7Hp9kXE9bB8fPPAd5KfefNpPOV9+AgT+PgMOOG0ZlS13Dt+1Q6iBiob+JHzF sPEZLGKcoKPg9kuBCp+7ENgMHFJfbTaftiuLJjDlXBO6gDj+wb+/P3T+c5ifF0v15V/bG0YZmsac bLYW63IXHW9oIf8ADketRPY0O7Fsun8kriliAEEYrNmfBbMMqs2k4f0Cgn9/AAOij242iiwmk3pI wzZblSCSKR5KoVmYlGN/vI1RYytKLaRBhwmZqkNBUB5vCjZ48jgfKlBi49lg63qrKMbbb4EavL4F VR3et+GiYtjQ8N4fIaeyL7KDrTto1IdZ1mUGdzAeyJO/4AD4A/iAAH+xXkL6ZIZDOnhDq6wl1VW3 cgSr22fPAYhS0JlgB63uDRnQ4cetg6lHUtBrZZGWhcoz+9vG/wDs/H0EB0YOCO4OwMbPq5wZE+yl sa73g1XYvu6eLQ7ZfSj5X9b2R2fD3AP+DP8AnvBhZKNCuTJo7vaIQHsB+ocH4/1I1PDXP4SIbRaC E2VW2LZJrHvc1OVESumiqIwFPgGGW+KHe4Z9asZsnzjnGGa46ceSn6++OGK/gAwfmD1MYMiPPLO0 2cjGOKOHHVq702zGNxqkmk3HUfdyOMLYQp3YooDt5wx7zzygxiAWZLYp2+V+Df6rlfLduVGGjjSm VailktGIRsH2Eqh3eGeV6RxV4fzA4dwMMg/Y7LH2W8B2ZmVyiMzb2bCYH3/YD4B+xx6cEy1Cjuh/ 4SvT6kyWgHZPj3ldi+j4WNV+wi+Ph5i24QzBDEGhsDbBDowxDFsyyD2R2/YNgP8AgOhtTrtbaLEa jTcyWQqlLr03xLQSdnYVsWUpyLaCGQmVW+GHBw4ejT6PPI5hGRrkV2ZZeLRCf7+/YEFg64xZVkaF fJd0NkN0y0WpGlr4epaHYYb4hNhSkbgIB2QPDDmLBZMIDh85bWdr7mebNVccQT+P37pZw74wqM4+ nzRZLkiM2YXcXDt/jYr3U9N4rlibsapOUdImeRBIRcb4YEvC1i5EyoNXp5eGzoI2HUZAyr5OVmgS WdYKTyyQNyQ/+o3xWhbITfmWQyw0/AH4FHZGas2j7OCCbJ+n0Hz/ALnk1bsRoqNbgPmdUqJWieFE yKrWx8RblJve4pMT3AxM09sjeQZHhDYJ7xVayzPmO5gwn3g+A8B9g60mChB3tAPXMWt5Om98PVdE aIedYBaYeKFmiVMIMj4+zTK0vhzkBPbZzITJi0N6WfCBPZ+58g4bAA6nrEugWZsGvMqoNPdXaezK 3UrC0WrXzxYXKQJa5KbcGEPDcFtkZCDhB7XW0c4yTaBb0TRzbtsfAX7+vt/fowYMSRmkFCJNncxj IBWJWzFydpwWvU55XDkYFBGAZU+pdoJ3kbFNtMfWmajUEeR3Y678k71x5UrQQW3yZbUtjuwaenoa TEthwviQ2ODkUa9+Q19bmLbJVcMcyQZ9gKX0blCGzDKruwIEBn/AYYIJ/wBySHSenNcsV2sEFqWJ Idl6eyTDdHbG+F4OUAtkqua3X4ZhkmbOnh/n88gshMYh7nUDw7JPn/v3gP0c1lunf23LC1SngLa+ z743Wr9RQ2n1OyFcC7gYq2QquGHMLcxgDqvH1FVWxm6CxjNve98+APz8A4CfwPocfU+Yrh1Vpn6e yTJAtpA7T0PYVPy8a5PCZUV8TzEPCGZmcw4GQ7VTLMWShSoFk5+UQdRH+Anz/IMOmjcjXcCvHIEY xo6ETrHGUxjEF92ORBbcX4GPQoyyPS2NtEDs026jSc5SO+CbOdDFcXuj3dvNutREyGLsx2cr4tpS zu1cntPMQ9N7ZuiakIbRDr8xW/Z+yIdfvnPGCf3IZhnF2as3h27XWofwt0AAQPvwCt+nNksDSrbk OAx3NJG5VAjROpBwloEuHQ/eOILDD1sPagdkuAeyUDZdwAUd8GDCiHxn/RMG/bD9gw3/AK46vT6b SAV/HqVuCiqTiXA7MNfWEh1eJmK7RU8VXmU8+IQeyFu7F9ktTj885/QaujewQIbR/wAu8+39+QUG XdO39l5Cqpz9K6SZgVvaFrmLsuan7jL2g0MIGIt4mENlWg5gcyBD9IPs5bWXjniMtfdklHPcBPr5 9+xAAKliSVFSR0KDyEOd2EDWe3G42kQVZ7y32U1whoyJIUQuKJLyFNuMY5uBg2dWLHb/AKm66jrg ZB6lYB4C+W02w3xwNiU/+JZHti1HJXsIpbVqML5T74tzDA5kqvtdAVWV5ZqvQ0ZZw3tJB7AfPn37 n3TOV3hPDJxLUEhquktqKDNPCRX7sNR2Ha7apECLQiH8Qm8MjJR4euHxPsyuQ6yzPiGsjLUdtPFo vH6AP9/Hw8oYrOql8O+Rc6nBuU1IEQheWcj1OyNAGnLaKGHCZDTnyG+EG9HQx9aPCG8rP8RlZrOD skm3jYH7gJ/+oAkfDbKpzHZSXHyQBrncncfNJUfLmWNKYZT4HT7sD6teN2oAhnAI+y4LIMrMpVyy jI9XO1oo4AAAP7/+/wAJcqioPYiqT+axAP68Hjni+elIFCu7i0XHI37bPHHzdV/2+enwvhw9QVWN /hy+PYWVnNlxq2TnD2xwVwRapQKenmafcENwshgMA55BtR/vNXq9ZjNkScDngF9BP/Qajre0C7Qb fhWXKAEsZ4eN3AQ69YC0woAXijkHT/sYeHyBkgz6/fAQcZ9oRsN8N/8ATDEAf2AA8dOanXaYUMV8 pE7ISdSLtZDDT4Fwsj5ttSlMDF4/s6fQ+ntbIMk4CwPlcviNjqLFvJM5dnNjh8/UR8+AwPn+kEuO ifFHtQEC7Sluy1tt4O7VK4d4KRA1Pciu+L6f8y1IbIOsgGfTwKoH3MWLszYzfe1Hvw+ggAHAQCC/ RxWTASB2xaNHTDOPwrhsmq+bFGuBZvi1X2ESbema8WxzxrC+LW7sfI4Hzd9EiWUsBIKOytXOd8OB qKq6Yr3nXgd389tbRt6GyB9ncPhtR6wJ+zLLy+K4z25sk7AAAYsGPgD7CqcolLiuqytUum/vwBmV K2VfQ9SoHD4tX2FYwswwOHL3xkcCHgbBUge5/Q3n+idj5B+uwdQLpbDgx6hENjyiRsMZZAneBkGB 5lP7DWVci1tfW+Np9kBuSHLar7s6tvNmY7mMBu2ynH4AvoPPt/A9ZIT1dj3gUUPDOW/JYXlPsKr0 fi/c0ohuLAHhzA5gwQh2MpD+KB1l55QzDPCb5sHtsG/9DGGeOEzLsu6afUlPfjll2ZUl1/ixHz28 dNm21mmWF96p3hjOOG4YggLe5sbzHHdX5qyE/pvKWJYKmt1KeatgXA4SWvnocjjcXTnp7aU1wr9D Q7gsjeCBiCPr88qmCbMUKYoxw2EduAn9/AAN/AAHZHFjuNjSmVZ1gctAqUQfZC3YAmnxcpsiyoY+ HW+GnuZVfJGo9R6kq2R3ftGr/BhEl2w8AggN/PgD6ZtmRXbQYDz4thSVtjSVKInuCTILGFcXXu67 fChw5sPmBg42p++cZ++POxhAlo8B2DBBx/f7UOPyEPR2eVzOCBQJkOpCdTGkVVcF6IetCWLKQ2AM tw63+Gvvhyyx7bPhs3KFcmsgwgT6CAP/AL/hh0yaCdtp4dLCsM8zQkqtSfZvMkv2btx2MTWC8kHp UcscSMjO5miQvKUbDKihUEd9eGo2eSeDfR5orr+9L4YLCzTIcbWKa1EkhorFUz2FPPRbCV9QMMgZ 8wYsghDeG2wHuctrDNQ7S8oyPV3gwADHYD76AAdJ9wU47OQMZp6jQiHcGTwjblu+N4cpUSLSK38O JyRkMJ7JXPMUOAno1Z4i3nY0k3SZwAgn0Hf/AL8g1XT6zF1nmKvcGGbT4thjV6v2TOpct/8Aea0+ lFtfZTCfDW2UgYqs8Q+dMswYhvjyMePuwNBAYgAHgen9Iug2kMfctNGoBjKzgjbX+NV2BbDI5Jol yV7IIJ8NbmUnDHrc5Sq+fOh1AzCijOzHAmN2I/AefbBv4DoYjqYmldVtJnV9O8BzkSAxxROA1LgZ xEhBo0VqjVk3wdVhKvA/OQdfFlCObF+D+KsfnrzA1h3rq3arkzpj2KVqfNxVkDkYV7pFU6Oi1eCj TvTKPer1FVKXYMorXlhE55mcVc0o3jFLwZ03JKTBw3Ex6IEfOvaFV16hkuU5ZogjateZDm4znnMr ahr6ryp6wr/0mxQaONWl5IvJKZ7BHejYhwkznSpk+KHKZhfcl0QICyYcDJzrUo0yKiDTf2lSIijO aXOlVR3ZFjkaN2xNnya6Xvany2r0ztwWdXQKx4JICxKoBrgAAUTx0j2FfXqtrunrfUgQyJYzZkao M+A1evJzPSZTCFM+un3ZfKAiUPNhkGGaZmOBpbYe58qwonprnOyqvWoq3XuX6lr13s0w6eq11Rf8 UzUJp/twGIkI6gw6jUKRJRE2uajOOmQsVdUB4OwuubVKUmhyZ3Ei4TsT8YeFEqrtFgC4L2sM0PLm 5M/Os65esdxHI4dg6pCFcMQwFvwGuwP0DXQxACRaAF6qzXFn8n9/vrzyvhnKaX6t0v2TSPpGKViX F/wvgF82E5zgohyLn23VCzuKxcILNyXmEyCMhCMAFRXFhE7IF5YxSjgB/rWcBcj5WdJt/d2k+kj9 64WvgqRg7A0NLUcPChUUVmKcpg9T3lB5h4euGRheCslCZ+PCsMjnKeALLkOo+Hj6cnLVMv1KuZnW daoif/UylnB9LqQ632uLg4ZfDDk8EEcnrY6I39jSsyqzRzaXbYqC0eWeWBItcqGWNXQvwOqfZyoh tWkt2a8a9TV0kng4rOnYqYzPB5ieZbxgUkX9amVyZuYxLYf1lAogp6FIMahJ2ZOGw8yYvy/RkenL wGq0gt9v/wDEAtWgsy4LlrGs/Tp5q5rnAaWsApWcUy9+hyW3dasAqPB+jALnN9fO5z1tVdkI4mLG UJ4oAOFwctdCwQmXnWdGpO2OTxHKw58MuGLD/MtnE+RZo9YSAPAA4XwK+B1fgOjZmQm/8WDLeXFu uxh0Xy78tehnS8M1dsg8uvsQs5IzUdmjC656UidjZQ9eAlnUflqMQZlMoUQbTISfJGQMI9YdMF/t hmo6jes8MtQzuoFmLKbziI5QIiQUkSxXOlZlfpuQPaI/qUa7L5HrzjJZAEZuSn5xHPzBkQLCTsfQ rejOs6W7u0+pyZmqd6yYmrq6smvA/wCnWuNVWNMVC3d4gC+U8158n/qevxBQhObQFm5/pnHIosCe QJkJZhEvVCXvQ81pZNe1SBtuPGjZWXND2yRVfVn5TY6rxANObsZxEcwZc5cITAWcwUitFlut21Mo n6jXwmTTrZRX1wMTxUlkCCBBUFqo7MFSD8kwR9cNWgl2qYtBDE4sAiFWqXNnCiOK1X2Wm51nTfEU jj3Lhi33LY5o+RdC6PPz1U/8h/2//Drj08V2GubT/dToyyiAj0q4TT1AHJyl6BIJCzo1yKLu9nvQ RWPQKkR5vqA+mcTUFPMzM7D1jVWfh65/qLNYhdaQyTsQzl1ppfTrcEAlsoZd1cA3yFw6Fi56YDLG CVTJhT0gwo7a874BAVYXr9c+AcIG48/OUFCPO9MkTkHxjDnWdU5P0+q5P8x/8gf+Olp7l/2/8J16 drS7AxbLKFBc0ip+iCna+myNmrJObCjeg5WitWTgif8AMuys6cn+tdWHe4XZ5FoXqXMa9yHHPEsG CpjPBCs2NTfPi41T/wAB/SjrNX55whaLw42wWz1phY2AnVKv62jItLJOREWv/QTijlDJn5dcruTn Sg+fkF8YGYbD7nsjAXGy86zpEABkjsX6qHn8i6P+o/PVt7JP3GwP7Bqwf0fkdVcql6MO/qxRhnp9 FaAIFNaVLBXcK1IMAcoqtFyUbW1OXJ6wxs0aYS8hctCvHYmvsSEfmG6/FRoIbBKVlT0j8PTm2cpU PM1FBKJsC5nGyHM1n1/X1lzvTjZDsu+kmyWRDMOLj6yRVSOAGeZlzmlZiHQ8zNP4m0sjKlZyKXWf 8AVgMzrOtOpASKB1AVtpUyXhsHYZJYo4tQyW6ahYNDpOmJMmpsk+t8m/ON+fz89UytHLJrr7bGny OyMefWkbIR5ceD6SOAQ5kyy9QuV7ZEnLaVPIXWHD1hHpRAYjfRiQxyJIUdFFsGUc9MaJnR7o6m9Y lx3jSw+zpfqUa2f7XXrlrV7c6rVYIBxMqanpSwsTCD6XQ162VwgciK6bkcSz+keeixiKyZdwcePB jsXp9UDOs6VIB9XEa5F0fkfxeD8dPj50Oqvmtpx+nUPiw/DLZxbyLNEdJj/hxMbrq10o3ERebEsZ IYtOtbW4IrZrqB6ZUJijxSxChcsjkGZkcjPjlhRYfYrCNalPNiZSRYHpywxixlluZwg09HbGdX8q ihutYnXz87xi2ka1rAyq/IG+HMnpacmY1aZsj/mscMaT5i2fKwO/Tlmg2oQFXXFezBqfgBYh2StQ 8r151nStP36PU59/r/f3ebvzfmhf5rpuoJjnUxkxk3eHb4269tfk9b82dbbDYo/OZ9QluNExqqSq vQwzj2XV86SePRR+ql5HuTNh20y47kzwSxtrh+rMdY7EGLhWsiMYwprKEqHqWrGaSaaVtRGqiw65 sLPlxhKyW01egUXRxKZXzPFFamVRjzGZWgGk9UEZoFIr9cToNfVCjrGUDU0ivirKs7OUjsBLNzs6 zqRABYgAAO7xx8p0pv8AinPycbPyeekJOqZUOimCnSvpmy1OvILq9jf1gZGcXmvgErqAnAjwuKPy FTPUoNhLeMr1Lw1bFQ3CKaJZlnc8MwlkwvQFZUKvjNJGl2ZNanNmL3Doh1328wH2nPVy5wMV0ak7 ISqdX1cj6lXJzBwOOGOZXqIlpmBOwR80LBkpDwnbm15bJnWdaGJyXk8SykfosYsiPwTQs/NC+lx+ 50+xkgDJ9jBdzEMvghbOIIIFmvJ6M12vjmm3UPXUSmrmulJw1FjoHptiSIbx8Gean0eASTK0eDzo QCLKTGNi9fqMjbAOJuaBIuYZsaxhXP8AVHM52Ho/cKp14dqHuNe9JA9NOk9Jz/Zti2UUmxCVhW61 W1odzdUbsQfyUsfmA8onOuBe9RqC1Iq8kvAaAXliRTTEih07BXzrOssYB1IcgF3giLuR3MVyxLN5 Yrk2JJNWaqz04E/T6Hk8GQD9BtnID8BqF15oX46SOqK0PSQS7/PjK3qZS9FIaXdPN8V8IVkiNBiD n6QeupTm4Sy8yWRcJyqXiAs0yypmcz4LDe5MLG7tww62To5iFEUssEa+0Q6V9YCQ7Na5c03UDbq3 kyo+UokFgeNkaIy1zTsrIWDioVHEMkhLnm6+mDT+BkL66wPEFvLF5U7IEmxmdZ1usnT6ZiSWbPJi bZqaKrJ5NWas8Wfz1kcAzoSBZu/37fP56YFZ+gZcFHWtcjGK2tlY3ILRzSPV2F1DhGWn7I0zVhbL bXZT04tEo3krpUk0T1Wd6BJwZOKI8YcDNTikiLiSzFZYzW0riTR9vjWZgz2I5Is2lo4VkMkHlGW1 8ZZRpLAmFlLe5DKBHmF8LDieoYLkRJqH6yeXnFiaWRIESsifnWdZk92m/USgfoApQH4A/HU1juul 1GLMtyMTixFm15NEWf2eeoW4dZ1zhE+6a+F+tUHgytE6fXw9IGANnLHCSAsNqeMDyCAaaP8AUKUi I2yyecWV1jLAiPkCRuQIjiBRNzGNd1aJUIl3UlpjlHzLUuErW0y1Nftjz1JmL5GW4t5DXkCjkxZo CxSWRTkLRGSkqhORG9C/lGsuaEi5UM7FG5kofIzrOsWpJTVRRoSkazR4opKotizSilFnk0Oeugiq wkyUNUMlZAGrVLq78/PVoNEv/Dg08anKU7kv3pYxx30OTMB9OUuwa3zMrNhxcyIU9GcQKttdtjWb m4SjEvIjSDrGTxEA8gOpgfSJUl1eBC86zrOu3HLKFUCSSuPvb8p++uPJHGXclEJLMSSqkk35Jr9D /p1//9k= "
+         y="0"
+         x="0"
+         id="image9"
+         height="260"
+         width="260" />
+    </pattern>
+    <linearGradient
+       id="linearGradient6545">
+      <stop
+         id="stop6547"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6549"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6538">
+      <stop
+         id="stop6540"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6542"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6545-3">
+      <stop
+         id="stop6547-7"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6549-2"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6538-0">
+      <stop
+         id="stop6540-1"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6542-6"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="211.48451"
+       y1="139.51218"
+       x2="289.52884"
+       y2="139.51218"
+       id="linearGradient5172"
+       xlink:href="#linearGradient6545-5"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67894695,0,0,0.67894695,-132.5412,834.53756)" />
+    <linearGradient
+       id="linearGradient6545-5">
+      <stop
+         id="stop6547-75"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6549-4"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="412.14142"
+       y1="139.51155"
+       x2="490.24442"
+       y2="139.51155"
+       id="linearGradient4372"
+       xlink:href="#linearGradient6538-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67894695,0,0,0.67894695,-168.35757,834.53756)" />
+    <linearGradient
+       id="linearGradient6538-1">
+      <stop
+         id="stop6540-2"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6542-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="223.24297"
+       y1="401.69296"
+       x2="315.60474"
+       y2="401.69296"
+       id="linearGradient4012"
+       xlink:href="#linearGradient4487-2"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.49804243,0,0,0.49804243,-78.106449,768.45912)" />
+    <linearGradient
+       id="linearGradient4487-2">
+      <stop
+         id="stop4489-8"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="347.35028"
+       y1="401.69296"
+       x2="439.60474"
+       y2="401.69296"
+       id="linearGradient4009"
+       xlink:href="#linearGradient4479-83"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.49804243,0,0,0.49804243,-78.106449,768.45912)" />
+    <linearGradient
+       id="linearGradient4479-83">
+      <stop
+         id="stop4481-8"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4483-5"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="55.648441"
+       y1="55.286293"
+       x2="121.55995"
+       y2="55.286293"
+       id="linearGradient4030"
+       xlink:href="#linearGradient4487-2-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,881.19552)" />
+    <linearGradient
+       id="linearGradient4487-2-1">
+      <stop
+         id="stop4489-8-4"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-6"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="55.648441"
+       y1="121.94369"
+       x2="121.56413"
+       y2="121.94369"
+       id="linearGradient4032"
+       xlink:href="#linearGradient6545-0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,881.19552)" />
+    <linearGradient
+       id="linearGradient6545-0">
+      <stop
+         id="stop6547-71"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6549-7"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="223.24297"
+       y1="401.69296"
+       x2="315.60474"
+       y2="401.69296"
+       id="linearGradient3314"
+       xlink:href="#linearGradient4487-2-3"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.49804243,0,0,0.49804243,-78.106449,768.45912)" />
+    <linearGradient
+       id="linearGradient4487-2-3">
+      <stop
+         id="stop4489-8-8"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="347.35028"
+       y1="401.69296"
+       x2="439.60474"
+       y2="401.69296"
+       id="linearGradient3316"
+       xlink:href="#linearGradient4479-83-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.49804243,0,0,0.49804243,-78.106449,768.45912)" />
+    <linearGradient
+       id="linearGradient4479-83-1">
+      <stop
+         id="stop4481-8-2"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4483-5-5"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="62.679543"
+       y1="956.05841"
+       x2="71.789589"
+       y2="956.05841"
+       id="linearGradient4345"
+       xlink:href="#linearGradient4487-3"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4487-3">
+      <stop
+         id="stop4489-1"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-6"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="92.944977"
+       y1="981.64661"
+       x2="102.05502"
+       y2="981.64661"
+       id="linearGradient4353"
+       xlink:href="#linearGradient6078"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient6078">
+      <stop
+         id="stop6080"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="22.183777"
+       y1="27.31698"
+       x2="70.705658"
+       y2="27.31698"
+       id="linearGradient4272"
+       xlink:href="#linearGradient6078"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3086">
+      <stop
+         id="stop3088"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3090"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="106.01667"
+       y1="103.86177"
+       x2="154.61449"
+       y2="103.86177"
+       id="linearGradient4282"
+       xlink:href="#linearGradient4487-3"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,879.19552)" />
+    <linearGradient
+       id="linearGradient3093">
+      <stop
+         id="stop3095"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3097"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="16.449018"
+       y1="135.66661"
+       x2="88.674927"
+       y2="135.66661"
+       id="linearGradient3922"
+       xlink:href="#linearGradient4487-3-3"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4487-3-3">
+      <stop
+         id="stop4489-1-8"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-6-3"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="83.350334"
+       y1="49.941151"
+       x2="155.54698"
+       y2="49.941151"
+       id="linearGradient3932"
+       xlink:href="#linearGradient6078-7"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient6078-7">
+      <stop
+         id="stop6080-1"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="43.760551"
+       y1="52.473763"
+       x2="134.20866"
+       y2="52.473763"
+       id="linearGradient4095"
+       xlink:href="#linearGradient4487-3-8"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4487-3-8">
+      <stop
+         id="stop4489-1-2"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-6-4"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="43.862331"
+       y1="133.38464"
+       x2="134.20866"
+       y2="133.38464"
+       id="linearGradient4097"
+       xlink:href="#linearGradient4479-83-9"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4479-83-9">
+      <stop
+         id="stop4481-8-4"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4483-5-8"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="43.787216"
+       y1="52.463245"
+       x2="134.31081"
+       y2="52.463245"
+       id="linearGradient3967"
+       xlink:href="#linearGradient4487-3-8-3"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.70651779,0,0,0.88283587,1.859904,877.81349)" />
+    <linearGradient
+       id="linearGradient4487-3-8-3">
+      <stop
+         id="stop4489-1-2-4"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-6-4-8"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="43.787216"
+       y1="52.463245"
+       x2="134.31081"
+       y2="52.463245"
+       id="linearGradient3958"
+       xlink:href="#linearGradient6169"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.70651779,0,0,0.88283587,50.134786,964.85367)" />
+    <linearGradient
+       id="linearGradient6169">
+      <stop
+         id="stop6171"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6173"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4487-2-17">
+      <stop
+         id="stop4489-8-40"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4479-83-4">
+      <stop
+         id="stop4481-8-8"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4483-5-82"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="402.6611"
+       cy="411.26151"
+       r="129.67412"
+       fx="402.6611"
+       fy="411.26151"
+       id="radialGradient4264"
+       xlink:href="#linearGradient4210"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.5673273,-0.25384922,0.13252016,0.81821157,-664.8311,27.187906)" />
+    <radialGradient
+       cx="-18.32745"
+       cy="57.731464"
+       r="59.258755"
+       fx="-18.32745"
+       fy="57.731464"
+       id="radialGradient4274-0"
+       xlink:href="#linearGradient4210-0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.54123709,0,26.485054)" />
+    <linearGradient
+       id="linearGradient4210-0">
+      <stop
+         id="stop4212-7"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4214-2"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="-18.32745"
+       cy="57.731464"
+       r="59.258755"
+       fx="-18.32745"
+       fy="57.731464"
+       id="radialGradient4340"
+       xlink:href="#linearGradient4210-0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.64494713,-0.10070217,0.16513894,0.56100761,-16.040927,23.498059)" />
+    <radialGradient
+       cx="-18.32745"
+       cy="57.731464"
+       r="59.258755"
+       fx="-18.32745"
+       fy="57.731464"
+       id="radialGradient4274-5"
+       xlink:href="#linearGradient4210-2"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.54123709,0,26.485054)" />
+    <linearGradient
+       id="linearGradient4210-2">
+      <stop
+         id="stop4212-1"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4214-4"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="-18.32745"
+       cy="57.731464"
+       r="59.258755"
+       fx="-18.32745"
+       fy="57.731464"
+       id="radialGradient4340-8"
+       xlink:href="#linearGradient4210-2"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.54123709,0,26.485054)" />
+    <radialGradient
+       cx="-18.32745"
+       cy="57.731464"
+       r="59.258755"
+       fx="-18.32745"
+       fy="57.731464"
+       id="radialGradient4340-8-6"
+       xlink:href="#linearGradient4210-2-4"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.54123709,0,26.485054)" />
+    <linearGradient
+       id="linearGradient4210-2-4">
+      <stop
+         id="stop4212-1-6"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4214-4-8"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="-18.32745"
+       cy="57.731464"
+       r="59.258755"
+       fx="-18.32745"
+       fy="57.731464"
+       id="radialGradient4415"
+       xlink:href="#linearGradient4210-2-4"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.54123709,0,26.485054)" />
+    <radialGradient
+       cx="-18.32745"
+       cy="57.731464"
+       r="59.258755"
+       fx="-18.32745"
+       fy="57.731464"
+       id="radialGradient4340-8-8"
+       xlink:href="#linearGradient4210-2-3"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.54123709,0,26.485054)" />
+    <linearGradient
+       id="linearGradient4210-2-3">
+      <stop
+         id="stop4212-1-5"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4214-4-5"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="-18.32745"
+       cy="57.731464"
+       r="59.258755"
+       fx="-18.32745"
+       fy="57.731464"
+       id="radialGradient4415-1"
+       xlink:href="#linearGradient4210-2-3"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.54123709,0,26.485054)" />
+    <radialGradient
+       cx="-18.32745"
+       cy="57.731464"
+       r="59.258755"
+       fx="-18.32745"
+       fy="57.731464"
+       id="radialGradient4340-8-84"
+       xlink:href="#linearGradient4210-2-0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.54123709,0,26.485054)" />
+    <linearGradient
+       id="linearGradient4210-2-0">
+      <stop
+         id="stop4212-1-54"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4214-4-7"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="-18.32745"
+       cy="57.731464"
+       r="59.258755"
+       fx="-18.32745"
+       fy="57.731464"
+       id="radialGradient4415-1-4"
+       xlink:href="#linearGradient4210-2-3-9"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.54123709,0,26.485054)" />
+    <linearGradient
+       id="linearGradient4210-2-3-9">
+      <stop
+         id="stop4212-1-5-9"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4214-4-5-0"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="-18.32745"
+       cy="57.731464"
+       r="59.258755"
+       fx="-18.32745"
+       fy="57.731464"
+       id="radialGradient6618"
+       xlink:href="#linearGradient4210-2-3"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.65151222,0.04277634,0.03936026,0.47213658,-8.6592181,31.25831)" />
+    <radialGradient
+       cx="124.29823"
+       cy="80.847961"
+       r="150.92255"
+       fx="124.29823"
+       fy="80.847961"
+       id="radialGradient6622"
+       xlink:href="#linearGradient6610"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2952826,-0.73392069,1.5862587,2.799558,-218.16556,-67.610244)"
+       spreadMethod="pad" />
+    <radialGradient
+       cx="-18.32745"
+       cy="57.731464"
+       r="59.258755"
+       fx="-18.32745"
+       fy="57.731464"
+       id="radialGradient6678"
+       xlink:href="#linearGradient4210-2-3"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.65151222,0.04277634,0.03936026,0.47213658,-8.6592181,31.25831)" />
+    <inkscape:path-effect
+       effect="skeletal"
+       id="path-effect5995-2"
+       is_visible="true"
+       pattern="m -179.11142,85.176985 c 21.81058,-2.35044 67.00436,-5.70787 67.00436,-5.70787 0,0 -45.49951,7.749765 -67.16686,8.953065 -21.66734,1.2033 -115.74885,0.581235 -115.74885,0.581235 0,0 94.10078,-1.47599 115.91135,-3.82643 z"
+       copytype="single_stretched"
+       prop_scale="1"
+       scale_y_rel="false"
+       spacing="0"
+       normal_offset="0"
+       tang_offset="0"
+       prop_units="false"
+       vertical_pattern="false"
+       fuse_tolerance="0"
+       pattern-nodetypes="zczcz" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4133-6"
+       id="radialGradient4149-6"
+       cx="14.18369"
+       cy="-69.930733"
+       fx="14.18369"
+       fy="-69.930733"
+       r="229.28766"
+       gradientTransform="matrix(1.8102804,0.70679848,-0.55095767,1.4111345,-47.516314,102.16427)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4133-6">
+      <stop
+         style="stop-color:#009dd4;stop-opacity:1;"
+         offset="0"
+         id="stop4135-6" />
+      <stop
+         style="stop-color:#042531;stop-opacity:1;"
+         offset="1"
+         id="stop4137-2" />
+    </linearGradient>
+    <inkscape:path-effect
+       effect="skeletal"
+       id="path-effect5995-0"
+       is_visible="true"
+       pattern="m 42.95724,199.50163 c 21.810573,-2.35044 67.00436,-7.86778 67.00436,-7.86778 0,0 -44.203563,11.14525 -65.87091,12.34855 -21.667347,1.2033 -117.044805,-2.81425 -117.044805,-2.81425 0,0 94.100783,0.68392 115.911355,-1.66652 z"
+       copytype="single_stretched"
+       prop_scale="1"
+       scale_y_rel="false"
+       spacing="0"
+       normal_offset="0"
+       tang_offset="0"
+       prop_units="false"
+       vertical_pattern="false"
+       fuse_tolerance="0"
+       pattern-nodetypes="zczcz" />
+    <inkscape:path-effect
+       effect="skeletal"
+       id="path-effect5995-0-1"
+       is_visible="true"
+       pattern="m 42.95724,199.50163 c 21.810573,-2.35044 67.00436,-7.86778 67.00436,-7.86778 0,0 -44.203563,11.14525 -65.87091,12.34855 -21.667347,1.2033 -117.044805,-2.81425 -117.044805,-2.81425 0,0 94.100783,0.68392 115.911355,-1.66652 z"
+       copytype="single_stretched"
+       prop_scale="1"
+       scale_y_rel="false"
+       spacing="0"
+       normal_offset="0"
+       tang_offset="0"
+       prop_units="false"
+       vertical_pattern="false"
+       fuse_tolerance="0"
+       pattern-nodetypes="zczcz" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4131-5"
+       id="radialGradient4148-0"
+       cx="348.28326"
+       cy="70.297905"
+       fx="348.28326"
+       fy="70.297905"
+       r="201.43971"
+       gradientTransform="matrix(0.2679519,-1.0643832,1.6216596,0.52032408,94.223231,452.24627)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4131-5">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4133-5" />
+      <stop
+         style="stop-color:#cfcfcf;stop-opacity:1;"
+         offset="1"
+         id="stop4136-2" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17"
+       id="linearGradient5041"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7"
+       id="linearGradient5057"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-0"
+       id="linearGradient5041-0"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4487-2-17-0">
+      <stop
+         id="stop4489-8-40-0"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-7"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(139.99999,6.5396972e-6)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-5"
+       id="linearGradient5057-2"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient6078-7-5">
+      <stop
+         id="stop6080-1-5"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-2"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(139.99999,-1.0896973e-6)"
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5079"
+       xlink:href="#linearGradient4487-2-17-0"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-6"
+       id="linearGradient5041-8"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4487-2-17-6">
+      <stop
+         id="stop4489-8-40-4"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-6"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(280.00002,4.5805664e-7)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-9"
+       id="linearGradient5057-8"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient6078-7-9">
+      <stop
+         id="stop6080-1-8"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-3"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(280.00002,4.5805664e-7)"
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5079-5"
+       xlink:href="#linearGradient4487-2-17-6"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-58"
+       id="linearGradient5057-5"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient6078-7-58">
+      <stop
+         id="stop6080-1-4"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-69.999989,70.000003)"
+       y2="-37.236683"
+       x2="63.488171"
+       y1="97.311302"
+       x1="146.35838"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5150"
+       xlink:href="#linearGradient6078-7-58"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-7"
+       id="linearGradient5041-4"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4487-2-17-7">
+      <stop
+         id="stop4489-8-40-2"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-1"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(69.999997,70.000001)"
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5184"
+       xlink:href="#linearGradient4487-2-17-7"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(-3.0646973e-6,140.00001)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-9"
+       id="linearGradient5041-9"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4487-2-17-9">
+      <stop
+         id="stop4489-8-40-03"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-69.999989,70.000003)"
+       y2="-37.236683"
+       x2="63.488171"
+       y1="97.311302"
+       x1="146.35838"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5150-3"
+       xlink:href="#linearGradient6078-7-58-5"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient6078-7-58-5">
+      <stop
+         id="stop6080-1-4-0"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-0-7"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="-37.236683"
+       x2="63.488171"
+       y1="97.311302"
+       x1="146.35838"
+       gradientTransform="translate(-69.999992,210.00001)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5223"
+       xlink:href="#linearGradient6078-7-58-5"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(69.999997,70.000001)"
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5184-8"
+       xlink:href="#linearGradient4487-2-17-7-3"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4487-2-17-7-3">
+      <stop
+         id="stop4489-8-40-2-6"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-1-4"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientTransform="translate(69.999992,210)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5267"
+       xlink:href="#linearGradient4487-2-17-7-3"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(69.999997,70.000001)"
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5184-1"
+       xlink:href="#linearGradient4487-2-17-7-9"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4487-2-17-7-9">
+      <stop
+         id="stop4489-8-40-2-5"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-1-5"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientTransform="translate(209.99999,210.00002)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5267-7"
+       xlink:href="#linearGradient4487-2-17-7-9"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-4"
+       id="linearGradient5057-3"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient6078-7-4">
+      <stop
+         id="stop6080-1-0"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-8"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(70.000007,210.00001)"
+       y2="-37.236683"
+       x2="63.488171"
+       y1="97.311302"
+       x1="146.35838"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5318"
+       xlink:href="#linearGradient6078-7-4"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-52"
+       id="linearGradient5057-1"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient6078-7-52">
+      <stop
+         id="stop6080-1-3"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-24"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(210.00001,210.00003)"
+       y2="-37.236683"
+       x2="63.488171"
+       y1="97.311302"
+       x1="146.35838"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5318-6"
+       xlink:href="#linearGradient6078-7-52"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(69.999997,70.000001)"
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5184-6"
+       xlink:href="#linearGradient4487-2-17-7-2"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4487-2-17-7-2">
+      <stop
+         id="stop4489-8-40-2-9"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-1-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientTransform="translate(350.00001,69.999997)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5369"
+       xlink:href="#linearGradient4487-2-17-7-2"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(69.999997,70.000001)"
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5184-3"
+       xlink:href="#linearGradient4487-2-17-7-1"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4487-2-17-7-1">
+      <stop
+         id="stop4489-8-40-2-1"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-1-9"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientTransform="translate(349.99998,210.00001)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5369-9"
+       xlink:href="#linearGradient4487-2-17-7-1"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(210.00001,210.00003)"
+       y2="-37.236683"
+       x2="63.488171"
+       y1="97.311302"
+       x1="146.35838"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5318-6-5"
+       xlink:href="#linearGradient6078-7-52-5"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient6078-7-52-5">
+      <stop
+         id="stop6080-1-3-6"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-24-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="-37.236683"
+       x2="63.488171"
+       y1="97.311302"
+       x1="146.35838"
+       gradientTransform="translate(280.00001,140.00004)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5420"
+       xlink:href="#linearGradient6078-7-52-5"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-52-5"
+       id="linearGradient5457"
+       x1="306.31415"
+       y1="189.24405"
+       x2="282.51758"
+       y2="2.6277814"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(4.1204272e-6,0)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-7-1"
+       id="linearGradient5465"
+       x1="336.48462"
+       y1="203.12489"
+       x2="335.16684"
+       y2="73.530258"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5467"
+       id="linearGradient5473"
+       x1="238.62624"
+       y1="155.18745"
+       x2="243.81149"
+       y2="91.254097"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       inkscape:collect="always"
+       id="filter5514"
+       x="-0.12008178"
+       width="1.2401636"
+       y="-0.018472944"
+       height="1.0369459">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.3162602"
+         id="feGaussianBlur5516" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter5526"
+       x="-0.010572113"
+       width="1.0211442"
+       y="-0.28897107"
+       height="1.5779421">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.5446967"
+         id="feGaussianBlur5528" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter5534"
+       x="-0.01101468"
+       width="1.0220294"
+       y="-0.30106789"
+       height="1.6021358">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.6093603"
+         id="feGaussianBlur5536" />
+    </filter>
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter5514-1"
+       x="-0.12008178"
+       width="1.2401636"
+       y="-0.018472943"
+       height="1.0369459">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.3162602"
+         id="feGaussianBlur5516-8" />
+    </filter>
+    <linearGradient
+       gradientTransform="translate(-3.0646973e-6,140.00001)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-9-7"
+       id="linearGradient5041-9-1"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4487-2-17-9-7">
+      <stop
+         id="stop4489-8-40-03-4"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-0-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientTransform="translate(248.09874,144.2953)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3311"
+       xlink:href="#linearGradient4487-2-17-9-7"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-52-5"
+       id="linearGradient3336"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(4.1204272e-6,0)"
+       x1="306.31415"
+       y1="189.24405"
+       x2="282.51758"
+       y2="2.6277814" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-7-1"
+       id="linearGradient3338"
+       gradientUnits="userSpaceOnUse"
+       x1="336.48462"
+       y1="203.12489"
+       x2="335.16684"
+       y2="73.530258" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5467"
+       id="linearGradient3340"
+       gradientUnits="userSpaceOnUse"
+       x1="238.62624"
+       y1="155.18745"
+       x2="243.81149"
+       y2="91.254097" />
+    <filter
+       inkscape:collect="always"
+       id="filter4174">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.0421996"
+         id="feGaussianBlur4176" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4178"
+       id="linearGradient4184"
+       x1="282.03552"
+       y1="237.49248"
+       x2="63.857231"
+       y2="153.68796"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <rect
+     style="fill:#ffffff;fill-opacity:1;stroke:#7b888c;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     id="rect4140-7-0"
+     width="459"
+     height="349"
+     x="0.5"
+     y="0.5"
+     ry="0" />
+  <path
+     sodipodi:type="arc"
+     style="fill:#bcbcbc;fill-opacity:1;stroke:none;filter:url(#filter5514-1)"
+     id="path4559-0-7-8-6"
+     sodipodi:cx="230.92586"
+     sodipodi:cy="311.81781"
+     sodipodi:rx="175.3326"
+     sodipodi:ry="6.4146075"
+     d="m 406.25845,311.81781 a 175.3326,6.4146075 0 1 1 -350.665188,0 175.3326,6.4146075 0 1 1 350.665188,0 z"
+     transform="matrix(0,0.76112637,-1.5607472,0,504.55256,-0.76375969)" />
+  <path
+     sodipodi:type="arc"
+     style="fill:#bcbcbc;fill-opacity:1;stroke:none;filter:url(#filter5514)"
+     id="path4559-0-7-8"
+     sodipodi:cx="230.92586"
+     sodipodi:cy="311.81781"
+     sodipodi:rx="175.3326"
+     sodipodi:ry="6.4146075"
+     d="m 406.25845,311.81781 a 175.3326,6.4146075 0 1 1 -350.665188,0 175.3326,6.4146075 0 1 1 350.665188,0 z"
+     transform="matrix(0,0.76112637,-1.5607472,0,926.1545,-0.76375969)" />
+  <path
+     sodipodi:type="arc"
+     style="fill:#bcbcbc;fill-opacity:1;stroke:none;filter:url(#filter5526)"
+     id="path4559-0-7"
+     sodipodi:cx="230.92586"
+     sodipodi:cy="311.81781"
+     sodipodi:rx="175.3326"
+     sodipodi:ry="6.4146075"
+     d="m 406.25845,311.81781 a 175.3326,6.4146075 0 1 1 -350.665188,0 175.3326,6.4146075 0 1 1 350.665188,0 z"
+     transform="matrix(1.0942363,0,0,1.5607472,-25.732135,-457.31158)" />
+  <path
+     sodipodi:type="arc"
+     style="fill:#bcbcbc;fill-opacity:1;stroke:none;filter:url(#filter5534)"
+     id="path4559-0"
+     sodipodi:cx="230.92586"
+     sodipodi:cy="311.81781"
+     sodipodi:rx="175.3326"
+     sodipodi:ry="6.4146075"
+     d="m 406.25845,311.81781 a 175.3326,6.4146075 0 1 1 -350.665188,0 175.3326,6.4146075 0 1 1 350.665188,0 z"
+     transform="matrix(1.0942363,0,0,1.4255153,-21.867108,-120.90925)" />
+  <rect
+     style="fill:#ffffff;fill-opacity:1;stroke:#7b888c;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     id="rect4140-7"
+     width="435.71756"
+     height="302.49915"
+     x="10.402513"
+     y="23.750427"
+     ry="0" />
+  <text
+     xml:space="preserve"
+     style="font-size:51.25284576000000000px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#9a9d9e;fill-opacity:1;stroke:none;font-family:Lucida Sans;-inkscape-font-specification:Sans Oblique;filter:url(#filter4174)"
+     x="99.265663"
+     y="229.90959"
+     id="text3289-8"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan3291-2"
+       x="99.265663"
+       y="229.90959"
+       style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#9a9d9e;fill-opacity:1;font-family:Arial Narrow;-inkscape-font-specification:Arial Narrow Bold">Papyrus</tspan></text>
+  <rect
+     style="fill:url(#linearGradient5369);fill-opacity:1;stroke:none"
+     id="rect4061-1-4-49"
+     width="60"
+     height="60"
+     x="373.2088"
+     y="110.27831"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5369-9);fill-opacity:1;stroke:none"
+     id="rect4061-1-4-5"
+     width="60"
+     height="60"
+     x="373.2088"
+     y="250.27832"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5420);fill-opacity:1;stroke:none"
+     id="rect4061-1-9-6-5"
+     width="60"
+     height="60"
+     x="373.2088"
+     y="180.27832"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5267);fill-opacity:1;stroke:none"
+     id="rect4061-1-4-4"
+     width="60"
+     height="60"
+     x="93.208786"
+     y="250.27832"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5267-7);fill-opacity:1;stroke:none"
+     id="rect4061-1-4-47"
+     width="60"
+     height="60"
+     x="233.20879"
+     y="250.27832"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5318);fill-opacity:1;stroke:none"
+     id="rect4061-1-9-8"
+     width="60"
+     height="60"
+     x="163.20879"
+     y="250.27832"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5318-6);fill-opacity:1;stroke:none"
+     id="rect4061-1-9-6"
+     width="60"
+     height="60"
+     x="303.2088"
+     y="250.27832"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5223);fill-opacity:1;stroke:none"
+     id="rect4061-1-9-5-6"
+     width="60"
+     height="60"
+     x="23.208786"
+     y="250.27832"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5041-9);fill-opacity:1;stroke:none"
+     id="rect4061-1-7"
+     width="60"
+     height="60"
+     x="23.208786"
+     y="180.27832"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5184);fill-opacity:1;stroke:none"
+     id="rect4061-1-4"
+     width="60"
+     height="60"
+     x="93.208786"
+     y="110.27831"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5150);fill-opacity:1;stroke:none"
+     id="rect4061-1-9-5"
+     width="60"
+     height="60"
+     x="23.208786"
+     y="110.27831"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5079);fill-opacity:1;stroke:none"
+     id="rect4061-1-1"
+     width="60"
+     height="60"
+     x="163.20879"
+     y="40.278313"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5057-2);fill-opacity:1;stroke:none"
+     id="rect4061-1-9-4"
+     width="60"
+     height="60"
+     x="233.20879"
+     y="40.27832"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5079-5);fill-opacity:1;stroke:none"
+     id="rect4061-1-5"
+     width="60"
+     height="60"
+     x="303.2088"
+     y="40.278313"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5057-8);fill-opacity:1;stroke:none"
+     id="rect4061-1-9-1"
+     width="60"
+     height="60"
+     x="373.2088"
+     y="40.278313"
+     ry="14.117647" />
+  <g
+     transform="translate(0,-702.3608)"
+     id="layer1" />
+  <g
+     transform="translate(0,-702.3608)"
+     id="layer2"
+     style="display:inline" />
+  <g
+     transform="matrix(0.67199261,0,0,0.67199261,96.12914,-16.0749)"
+     id="flowRoot3968-7-0"
+     style="font-size:20px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#009ec0;fill-opacity:1;stroke:none;font-family:Sans" />
+  <g
+     id="g3330"
+     transform="translate(0,0.28967969)">
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3336);fill-opacity:1;stroke:none"
+       id="path3031-7-5"
+       d="m 270.89196,239.20545 c -0.0639,-23.05204 9.54676,-45.04298 22.20054,-63.9186 3.59244,-6.13412 9.69281,-10.90495 11.21058,-18.11335 1.54544,-5.54285 -3.40626,-8.00556 -9.11895,-8.40739 -7.40037,-0.85781 -16.43064,-3.22597 -19.45355,-10.86571 -2.28339,-7.8022 2.84949,-16.02668 9.31952,-20.1318 7.20667,-4.59838 15.83114,-6.35644 24.2564,-6.89417 1.79208,-0.10323 2.13258,-0.19906 6.32105,0.0572 8.04141,0.33614 15.60142,5.83362 17.70242,13.71499 3.06535,10.66315 0.94049,22.19706 -3.08034,32.32141 -4.93188,11.91304 -12.37332,22.60843 -20.70789,32.3728 -9.62248,12.82801 -13.20778,29.36859 -11.94533,45.1779 -9.0432,2.67056 -22.24637,4.79479 -26.70445,4.68676 z" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3338);fill-opacity:1;stroke:none"
+       id="path3029-6-0"
+       d="m 299.59461,233.85281 c -1.51577,-17.75955 3.5576,-36.48042 15.92624,-49.6506 9.03515,-11.5824 17.18928,-24.53651 20.13917,-39.11991 1.75417,-9.45871 1.98141,-20.58939 -4.75007,-28.25267 -1.21904,-1.45794 -6.64925,-4.35874 -1.94535,-2.66896 4.83272,1.3475 7.42599,4.27586 9.95344,7.78211 13.39279,17.26054 18.06599,41.04441 11.34875,61.92978 -7.28568,23.73809 -27.46701,42.14487 -50.67218,49.98025 z" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3340);fill-opacity:1;stroke:none"
+       id="path3045-1-9"
+       d="m 198.02,194.91263 c 0.67464,-21.64902 11.89634,-42.85087 29.95998,-54.97968 14.33302,-9.85537 31.65018,-14.40823 48.80126,-15.96996 -2.94507,4.63376 -4.77207,10.93406 -2.06506,16.17765 1.55527,3.54954 6.32701,5.32428 5.76859,5.63436 -24.65703,0.0217 -50.10988,8.73105 -67.19398,27.01274 -6.38079,6.74189 -11.41439,14.6824 -15.22417,23.12777 -0.0552,-0.3311 -0.0409,-0.6683 -0.0467,-1.00288 z" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#1f211c;fill-opacity:1;stroke:none"
+       id="path3027-4-0"
+       d="m 304.16742,128.54496 c -1.39382,-0.15525 -2.51112,-0.51301 -3.30602,-1.05858 -0.35423,-0.24314 -0.74399,-0.67034 -0.90944,-0.99686 -0.13752,-0.27136 -0.15275,-0.35006 -0.15275,-0.78957 0,-0.4316 0.0167,-0.5224 0.1451,-0.78362 0.75916,-1.54581 3.62169,-2.5717 6.41463,-2.2989 1.61568,0.15781 2.8959,0.65051 3.67013,1.4125 0.51727,0.5091 0.66497,0.82865 0.66497,1.43878 0,0.61455 -0.14546,0.92433 -0.68967,1.46883 -1.0165,1.01703 -2.94915,1.65247 -4.9633,1.63193 -0.39571,-0.004 -0.78885,-0.015 -0.87365,-0.0246 z" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-size:51.25284576000000000px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#8a8d8e;fill-opacity:1;stroke:none;font-family:Lucida Sans;-inkscape-font-specification:Sans Oblique;stroke-opacity:1"
+     x="98.049896"
+     y="229.4922"
+     id="text3289"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan3291"
+       x="98.049896"
+       y="229.4922"
+       style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#8a8d8e;fill-opacity:1;font-family:Arial Narrow;-inkscape-font-specification:Arial Narrow Bold;stroke:none;stroke-opacity:1">Papyrus</tspan></text>
+  <rect
+     style="fill:url(#linearGradient5041);fill-opacity:1;stroke:none"
+     id="rect4061-1"
+     width="60"
+     height="60"
+     x="23.208786"
+     y="40.278313"
+     ry="14.117647" />
+  <rect
+     style="fill:url(#linearGradient5057);fill-opacity:1;stroke:none"
+     id="rect4061-1-9"
+     width="60"
+     height="60"
+     x="93.208786"
+     y="40.278313"
+     ry="14.117647" />
+  <path
+     style="fill:#ffffff;fill-opacity:1"
+     d="m 37.785122,86.076798 c -1.380272,-1.380272 0.04883,-2.80937 1.477925,-4.238469 0.04883,-2.809372 -4.189641,-1.331446 -4.140817,-4.140817 0.04883,-2.809372 5.618746,-0.09766 8.428118,-0.146483 2.907031,-5.667574 2.907031,-5.667574 5.765229,-8.525774 -1.331446,-4.189644 -11.091004,-8.232804 -13.851548,-10.993348 -2.760545,-2.760545 0.09766,-5.618744 4.287301,-4.287301 4.189644,1.331444 11.13983,5.423432 16.709747,8.135149 4.287302,-4.2873 10.003701,-10.003699 12.813072,-10.052526 2.809376,-0.04883 2.809376,-0.04883 2.760544,2.760544 -0.04883,2.809372 -5.765226,8.525771 -10.052527,12.813071 2.711717,5.569916 6.803708,12.520106 8.135149,16.709749 1.331441,4.189643 -2.907029,5.667572 -5.667571,2.90703 -2.760547,-2.760548 -5.423434,-11.139834 -9.613078,-12.471279 -2.858199,2.8582 -2.858199,2.8582 -8.525773,5.765229 -0.04883,2.809372 2.662887,8.37929 -0.146485,8.428117 -2.809372,0.04883 -1.331444,-4.189644 -4.140816,-4.140817 -1.429098,1.429099 -2.858197,2.858197 -4.23847,1.477925 z"
+     id="path4325"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ccccczzczzczzccccc" />
+  <path
+     style="fill:#ffffff;fill-opacity:1"
+     d="m 247.78512,86.076801 c -1.38027,-1.380275 0.0488,-2.809373 1.47792,-4.238472 0.0488,-2.809372 -4.18964,-1.331446 -4.14081,-4.140817 0.0488,-2.809372 5.61874,-0.09766 8.42811,-0.146483 2.90704,-5.667574 2.90704,-5.667574 5.76523,-8.525774 -1.33144,-4.189644 -11.091,-8.232804 -13.85154,-10.993348 -2.76055,-2.760545 0.0977,-5.618744 4.2873,-4.287301 4.18964,1.331444 11.13983,5.423432 16.70974,8.135149 4.28731,-4.2873 10.00371,-10.003699 12.81308,-10.052526 2.80937,-0.04883 2.80937,-0.04883 2.76054,2.760544 -0.0488,2.809372 -5.76523,8.525771 -10.05253,12.813071 2.71172,5.569916 6.80371,12.520106 8.13515,16.709749 1.33144,4.189648 -2.90703,5.667568 -5.66757,2.907028 -2.76055,-2.760546 -5.42343,-11.139832 -9.61308,-12.471277 -2.8582,2.8582 -2.8582,2.8582 -8.52577,5.765229 -0.0488,2.809372 2.66289,8.379288 -0.14648,8.428118 -2.80938,0.0488 -1.33145,-4.189645 -4.14082,-4.140818 -1.4291,1.429098 -2.8582,2.858198 -4.23847,1.477928 z"
+     id="path4325-1"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ccccczzczzczzccccc" />
+  <path
+     style="fill:#ffffff;fill-opacity:1"
+     d="m 247.78512,296.07681 c -1.38027,-1.38028 0.0488,-2.80937 1.47792,-4.23847 0.0488,-2.80938 -4.18964,-1.33145 -4.14081,-4.14082 0.0488,-2.80937 5.61874,-0.0977 8.42811,-0.14648 2.90703,-5.66758 2.90703,-5.66758 5.76523,-8.52578 -1.33144,-4.18964 -11.091,-8.2328 -13.85155,-10.99335 -2.76054,-2.76054 0.0977,-5.61874 4.28731,-4.2873 4.18964,1.33145 11.13983,5.42344 16.70974,8.13515 4.2873,-4.2873 10.0037,-10.0037 12.81307,-10.05253 2.80938,-0.0488 2.80938,-0.0488 2.76055,2.76055 -0.0488,2.80937 -5.76523,8.52577 -10.05253,12.81307 2.71172,5.56992 6.80371,12.52011 8.13515,16.70975 1.33144,4.18964 -2.90703,5.66757 -5.66757,2.90703 -2.76055,-2.76055 -5.42343,-11.13983 -9.61308,-12.47128 -2.8582,2.8582 -2.8582,2.8582 -8.52577,5.76523 -0.0488,2.80937 2.66289,8.37929 -0.14649,8.42812 -2.80937,0.0488 -1.33144,-4.18965 -4.14081,-4.14082 -1.4291,1.4291 -2.8582,2.8582 -4.23847,1.47793 z"
+     id="path4325-8"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ccccczzczzczzccccc" />
+  <g
+     id="g4481"
+     style="fill:#ffffff;fill-opacity:1;stroke:none"
+     transform="matrix(0.5091023,0,0,0.5091023,144.46381,139.41678)">
+    <path
+       sodipodi:open="true"
+       sodipodi:end="6.2753732"
+       sodipodi:start="0"
+       transform="matrix(1.1684606,0,0,1.4393417,24.555104,1.2273496)"
+       d="m -39.70244,-3.5799496 c 0,7.5722906 -7.624064,13.7108446 -17.028822,13.7108446 -9.404759,0 -17.028822,-6.138554 -17.028822,-13.7108446 0,-7.5722904 7.624063,-13.7108454 17.028822,-13.7108454 9.352849,0 16.955237,6.073471 17.028302,13.6037359"
+       sodipodi:ry="13.710845"
+       sodipodi:rx="17.028822"
+       sodipodi:cy="-3.5799496"
+       sodipodi:cx="-56.731262"
+       id="path4355"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       sodipodi:type="arc" />
+    <rect
+       ry="5.7463398"
+       y="7.4294286"
+       x="-46.696823"
+       height="42.61132"
+       width="9.9273682"
+       id="rect4357"
+       style="fill:#ffffff;fill-opacity:1;stroke:none" />
+    <path
+       id="path4355-2"
+       d="m -41.71875,-31.65625 c -14.88593,0 -27.3125,12.165728 -27.3125,27.71875 0,5.8895956 1.78644,11.271257 4.8125,15.71875 L -61.625,9.1875 c -2.588692,-3.7868125 -4.09375,-8.31513642 -4.09375,-13.125 0,-12.762065 10.570844,-23.5625 24,-23.5625 13.429157,0 23.9375,10.800435 23.9375,23.5625 0,4.80094155 -1.490947,9.3111849 -4.0625,13.09375 l 2.625,2.625 c 3.016999,-4.4471812 4.78125,-9.8298816 4.78125,-15.71875 0,-15.553022 -12.395319,-27.71875 -27.28125,-27.71875 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.22394896;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path4355-2-9"
+       d="m -41.71875,-39.15625 c -19.028066,0 -34.84375,15.492342 -34.84375,35.1875 0,7.9698277 2.593401,15.295179 6.9375,21.15625 L -67,14.5625 c -0.0049,-0.0065 0.0049,-0.02476 0,-0.03125 -3.90741,-5.206001 -6.21875,-11.6326688 -6.21875,-18.5 0,-16.904199 13.928709,-31.03125 31.5,-31.03125 17.571291,0 31.4375,14.127051 31.4375,31.03125 0,6.8673312 -2.292007,13.293999 -6.1875,18.5 l 2.625,2.625 c 4.3235528,-5.857746 6.90625,-13.1640124 6.90625,-21.125 0,-19.695158 -15.753184,-35.1875 -34.78125,-35.1875 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.72055769;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path4355-2-9-5"
+       d="m -41.71875,-46.65625 c -23.170201,0 -42.34375,18.850205 -42.34375,42.6875 0,10.0528755 3.409492,19.240224 9.09375,26.5 L -72.3125,19.875 c -5.250508,-6.605445 -8.375,-14.9056629 -8.375,-23.84375 0,-21.046336 17.255323,-38.53125 38.96875,-38.53125 21.713427,0 38.9375,17.484914 38.9375,38.53125 0,8.9380871 -3.1087171,17.238305 -8.34375,23.84375 l 2.625,2.65625 c 5.6724567,-7.260957 9.0625,-16.443642 9.0625,-26.5 0,-23.837295 -19.111048,-42.6875 -42.28125,-42.6875 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.40299034;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     id="g4481-4"
+     style="fill:#ffffff;fill-opacity:1;stroke:none"
+     transform="matrix(0.5091023,0,0,0.5091023,424.46382,69.416785)">
+    <path
+       sodipodi:open="true"
+       sodipodi:end="6.2753732"
+       sodipodi:start="0"
+       transform="matrix(1.1684606,0,0,1.4393417,24.555104,1.2273496)"
+       d="m -39.70244,-3.5799496 c 0,7.5722906 -7.624064,13.7108446 -17.028822,13.7108446 -9.404759,0 -17.028822,-6.138554 -17.028822,-13.7108446 0,-7.5722904 7.624063,-13.7108454 17.028822,-13.7108454 9.352849,0 16.955237,6.073471 17.028302,13.6037359"
+       sodipodi:ry="13.710845"
+       sodipodi:rx="17.028822"
+       sodipodi:cy="-3.5799496"
+       sodipodi:cx="-56.731262"
+       id="path4355-3"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       sodipodi:type="arc" />
+    <rect
+       ry="5.7463398"
+       y="7.4294286"
+       x="-46.696823"
+       height="42.61132"
+       width="9.9273682"
+       id="rect4357-1"
+       style="fill:#ffffff;fill-opacity:1;stroke:none" />
+    <path
+       id="path4355-2-2"
+       d="m -41.71875,-31.65625 c -14.88593,0 -27.3125,12.165728 -27.3125,27.71875 0,5.8895956 1.78644,11.271257 4.8125,15.71875 L -61.625,9.1875 c -2.588692,-3.7868125 -4.09375,-8.31513642 -4.09375,-13.125 0,-12.762065 10.570844,-23.5625 24,-23.5625 13.429157,0 23.9375,10.800435 23.9375,23.5625 0,4.80094155 -1.490947,9.3111849 -4.0625,13.09375 l 2.625,2.625 c 3.016999,-4.4471812 4.78125,-9.8298816 4.78125,-15.71875 0,-15.553022 -12.395319,-27.71875 -27.28125,-27.71875 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.22394896;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path4355-2-9-3"
+       d="m -41.71875,-39.15625 c -19.028066,0 -34.84375,15.492342 -34.84375,35.1875 0,7.9698277 2.593401,15.295179 6.9375,21.15625 L -67,14.5625 c -0.0049,-0.0065 0.0049,-0.02476 0,-0.03125 -3.90741,-5.206001 -6.21875,-11.6326688 -6.21875,-18.5 0,-16.904199 13.928709,-31.03125 31.5,-31.03125 17.571291,0 31.4375,14.127051 31.4375,31.03125 0,6.8673312 -2.292007,13.293999 -6.1875,18.5 l 2.625,2.625 c 4.3235528,-5.857746 6.90625,-13.1640124 6.90625,-21.125 0,-19.695158 -15.753184,-35.1875 -34.78125,-35.1875 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.72055769;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path4355-2-9-5-3"
+       d="m -41.71875,-46.65625 c -23.170201,0 -42.34375,18.850205 -42.34375,42.6875 0,10.0528755 3.409492,19.240224 9.09375,26.5 L -72.3125,19.875 c -5.250508,-6.605445 -8.375,-14.9056629 -8.375,-23.84375 0,-21.046336 17.255323,-38.53125 38.96875,-38.53125 21.713427,0 38.9375,17.484914 38.9375,38.53125 0,8.9380871 -3.1087171,17.238305 -8.34375,23.84375 l 2.625,2.65625 c 5.6724567,-7.260957 9.0625,-16.443642 9.0625,-26.5 0,-23.837295 -19.111048,-42.6875 -42.28125,-42.6875 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.40299034;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     id="g4481-41"
+     style="fill:#ffffff;fill-opacity:1;stroke:none"
+     transform="matrix(0.5091023,0,0,0.5091023,354.46382,279.41679)">
+    <path
+       sodipodi:open="true"
+       sodipodi:end="6.2753732"
+       sodipodi:start="0"
+       transform="matrix(1.1684606,0,0,1.4393417,24.555104,1.2273496)"
+       d="m -39.70244,-3.5799496 c 0,7.5722906 -7.624064,13.7108446 -17.028822,13.7108446 -9.404759,0 -17.028822,-6.138554 -17.028822,-13.7108446 0,-7.5722904 7.624063,-13.7108454 17.028822,-13.7108454 9.352849,0 16.955237,6.073471 17.028302,13.6037359"
+       sodipodi:ry="13.710845"
+       sodipodi:rx="17.028822"
+       sodipodi:cy="-3.5799496"
+       sodipodi:cx="-56.731262"
+       id="path4355-1"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       sodipodi:type="arc" />
+    <rect
+       ry="5.7463398"
+       y="7.4294286"
+       x="-46.696823"
+       height="42.61132"
+       width="9.9273682"
+       id="rect4357-3"
+       style="fill:#ffffff;fill-opacity:1;stroke:none" />
+    <path
+       id="path4355-2-8"
+       d="m -41.71875,-31.65625 c -14.88593,0 -27.3125,12.165728 -27.3125,27.71875 0,5.8895956 1.78644,11.271257 4.8125,15.71875 L -61.625,9.1875 c -2.588692,-3.7868125 -4.09375,-8.31513642 -4.09375,-13.125 0,-12.762065 10.570844,-23.5625 24,-23.5625 13.429157,0 23.9375,10.800435 23.9375,23.5625 0,4.80094155 -1.490947,9.3111849 -4.0625,13.09375 l 2.625,2.625 c 3.016999,-4.4471812 4.78125,-9.8298816 4.78125,-15.71875 0,-15.553022 -12.395319,-27.71875 -27.28125,-27.71875 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.22394896;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path4355-2-9-7"
+       d="m -41.71875,-39.15625 c -19.028066,0 -34.84375,15.492342 -34.84375,35.1875 0,7.9698277 2.593401,15.295179 6.9375,21.15625 L -67,14.5625 c -0.0049,-0.0065 0.0049,-0.02476 0,-0.03125 -3.90741,-5.206001 -6.21875,-11.6326688 -6.21875,-18.5 0,-16.904199 13.928709,-31.03125 31.5,-31.03125 17.571291,0 31.4375,14.127051 31.4375,31.03125 0,6.8673312 -2.292007,13.293999 -6.1875,18.5 l 2.625,2.625 c 4.3235528,-5.857746 6.90625,-13.1640124 6.90625,-21.125 0,-19.695158 -15.753184,-35.1875 -34.78125,-35.1875 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.72055769;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path4355-2-9-5-4"
+       d="m -41.71875,-46.65625 c -23.170201,0 -42.34375,18.850205 -42.34375,42.6875 0,10.0528755 3.409492,19.240224 9.09375,26.5 L -72.3125,19.875 c -5.250508,-6.605445 -8.375,-14.9056629 -8.375,-23.84375 0,-21.046336 17.255323,-38.53125 38.96875,-38.53125 21.713427,0 38.9375,17.484914 38.9375,38.53125 0,8.9380871 -3.1087171,17.238305 -8.34375,23.84375 l 2.625,2.65625 c 5.6724567,-7.260957 9.0625,-16.443642 9.0625,-26.5 0,-23.837295 -19.111048,-42.6875 -42.28125,-42.6875 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.40299034;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       inkscape:connector-curvature="0" />
+  </g>
+  <path
+     style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
+     d="m 114.72165,54.749909 c -2.71162,0.04016 -5.25081,0.532636 -7.46641,1.488911 -3.54496,1.530038 -6.27862,4.407841 -7.02384,8.288724 -1.338092,6.9685 0.31832,12.527778 2.49428,15.962763 a 1.8360513,1.8360513 0 0 0 1.50803,0.852368 l 1.74572,0.04098 c 0.83517,2.568777 3.24766,4.425751 6.09496,4.425751 2.74062,0 5.07769,-1.719296 5.99389,-4.138893 l 7.19868,0.169376 c 0.95936,2.330202 3.24931,3.969517 5.9256,3.969517 2.56834,0 4.78295,-1.509509 5.80539,-3.690858 l 1.85498,0.0437 a 1.8360513,1.8360513 0 0 0 0.34695,-0.02461 c 1.84293,-0.310863 3.89623,-1.028335 5.46389,-2.61994 1.56768,-1.591605 2.41234,-4.137718 1.80583,-7.100324 -0.41708,-2.037247 -1.85181,-3.635726 -3.71818,-5.351885 -1.86637,-1.71616 -4.25956,-3.446204 -6.88724,-5.065029 -5.25532,-3.237646 -11.35424,-6.018283 -16.10755,-6.838061 -1.71938,-0.296532 -3.408,-0.436621 -5.03498,-0.412523 z m 0.5819,3.677199 c 1.22633,0.0098 2.50961,0.125138 3.82747,0.35242 3.84801,0.663646 9.85442,3.295096 14.80715,6.346312 2.47635,1.52561 4.71144,3.158609 6.32718,4.644309 1.61574,1.485703 2.51494,2.925457 2.60901,3.384883 0.41573,2.030726 -0.0435,2.990151 -0.82777,3.786476 -0.75888,0.770449 -2.04524,1.306594 -3.32752,1.54355 l -1.18567,-0.02732 c -0.45703,-3.094263 -3.12446,-5.463887 -6.34084,-5.463887 -3.1144,0 -5.70763,2.221293 -6.28621,5.166108 l -6.57853,-0.155721 c -0.63828,-2.869351 -3.19611,-5.010387 -6.25343,-5.010387 -2.95458,0 -5.44086,1.998527 -6.18239,4.718066 l -0.53546,-0.01366 c -1.45608,-2.719076 -2.57401,-6.996578 -1.52169,-12.476798 0.5058,-2.63416 2.17641,-4.447201 4.87379,-5.611419 1.68586,-0.727634 3.769,-1.14222 6.07311,-1.180199 0.17281,-0.0028 0.34662,-0.0041 0.5218,-0.0026 z"
+     inkscape:connector-curvature="0"
+     id="path317" />
+  <path
+     id="path4601"
+     style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
+     d="m 44.721651,194.74989 c -2.71162,0.0402 -5.25081,0.53263 -7.46641,1.48891 -3.54496,1.53004 -6.27862,4.40784 -7.02384,8.28872 -1.33809,6.9685 0.31832,12.52778 2.49428,15.96277 a 1.8360513,1.8360513 0 0 0 1.50803,0.85236 l 1.74572,0.041 c 0.83517,2.56878 3.24766,4.42576 6.09496,4.42576 2.74062,0 5.07769,-1.7193 5.99389,-4.1389 l 7.19868,0.16938 c 0.95936,2.3302 3.24931,3.96952 5.9256,3.96952 2.56834,0 4.78295,-1.50951 5.80539,-3.69086 l 1.85498,0.0437 a 1.8360513,1.8360513 0 0 0 0.34695,-0.0246 c 1.84293,-0.31087 3.89623,-1.02834 5.46389,-2.61994 1.56768,-1.59161 2.41234,-4.13772 1.80583,-7.10033 -0.41708,-2.03724 -1.85181,-3.63572 -3.71818,-5.35188 -1.86637,-1.71616 -4.25956,-3.44621 -6.88724,-5.06503 -5.25532,-3.23765 -11.35424,-6.01828 -16.10755,-6.83806 -1.71938,-0.29653 -3.408,-0.43662 -5.03498,-0.41252 z m 0.5819,3.6772 c 1.22633,0.01 2.50961,0.12514 3.82747,0.35242 3.84801,0.66364 9.85442,3.29509 14.80715,6.34631 2.47635,1.52561 4.71144,3.15861 6.32718,4.64431 1.61574,1.4857 2.51494,2.92546 2.60901,3.38488 0.41573,2.03073 -0.0435,2.99015 -0.82777,3.78648 -0.75888,0.77045 -2.04524,1.30659 -3.32752,1.54355 l -1.18567,-0.0273 c -0.45703,-3.09427 -3.12446,-5.46389 -6.34084,-5.46389 -3.1144,0 -5.70763,2.22129 -6.28621,5.16611 l -6.57853,-0.15572 c -0.63828,-2.86935 -3.19611,-5.01039 -6.25343,-5.01039 -2.95458,0 -5.44086,1.99853 -6.18239,4.71807 l -0.53546,-0.0137 c -1.45608,-2.71908 -2.57401,-6.99658 -1.52169,-12.4768 0.5058,-2.63416 2.17641,-4.4472 4.87379,-5.61142 1.68586,-0.72763 3.769,-1.14222 6.07311,-1.1802 0.17281,-0.003 0.34662,-0.004 0.5218,-0.003 z"
+     inkscape:connector-curvature="0" />
+  <path
+     id="path4601-7"
+     style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
+     d="m 394.72167,194.74989 c -2.71162,0.0402 -5.25081,0.53264 -7.46641,1.48891 -3.54496,1.53004 -6.27862,4.40784 -7.02384,8.28873 -1.33809,6.9685 0.31832,12.52777 2.49428,15.96276 a 1.8360513,1.8360513 0 0 0 1.50803,0.85237 l 1.74572,0.041 c 0.83517,2.56877 3.24766,4.42575 6.09496,4.42575 2.74062,0 5.07769,-1.7193 5.99389,-4.13889 l 7.19868,0.16937 c 0.95936,2.3302 3.24931,3.96952 5.9256,3.96952 2.56834,0 4.78295,-1.50951 5.80539,-3.69086 l 1.85498,0.0437 a 1.8360513,1.8360513 0 0 0 0.34695,-0.0246 c 1.84293,-0.31086 3.89623,-1.02833 5.46389,-2.61994 1.56768,-1.5916 2.41234,-4.13772 1.80583,-7.10032 -0.41708,-2.03725 -1.85181,-3.63573 -3.71818,-5.35189 -1.86637,-1.71616 -4.25956,-3.4462 -6.88724,-5.06503 -5.25532,-3.23764 -11.35424,-6.01828 -16.10755,-6.83806 -1.71938,-0.29653 -3.408,-0.43662 -5.03498,-0.41252 z m 0.5819,3.6772 c 1.22633,0.01 2.50961,0.12514 3.82747,0.35242 3.84801,0.66365 9.85442,3.2951 14.80715,6.34631 2.47635,1.52561 4.71144,3.15861 6.32718,4.64431 1.61574,1.4857 2.51494,2.92546 2.60901,3.38488 0.41573,2.03073 -0.0435,2.99016 -0.82777,3.78648 -0.75888,0.77045 -2.04524,1.30659 -3.32752,1.54355 l -1.18567,-0.0273 c -0.45703,-3.09426 -3.12446,-5.46389 -6.34084,-5.46389 -3.1144,0 -5.70763,2.2213 -6.28621,5.16611 l -6.57853,-0.15572 c -0.63828,-2.86935 -3.19611,-5.01039 -6.25343,-5.01039 -2.95458,0 -5.44086,1.99853 -6.18239,4.71807 l -0.53546,-0.0137 c -1.45608,-2.71908 -2.57401,-6.99658 -1.52169,-12.4768 0.5058,-2.63416 2.17641,-4.4472 4.87379,-5.61142 1.68586,-0.72763 3.769,-1.14222 6.07311,-1.1802 0.17281,-0.003 0.34662,-0.004 0.5218,-0.003 z"
+     inkscape:connector-curvature="0" />
+  <path
+     style="font-size:12px;fill:#ffffff;fill-opacity:1;stroke:none"
+     d="m 43.810045,117.23326 c -1.206858,0 -2.176032,0.49074 -2.176032,1.09417 l 0,0.209 -5.274114,0 c -1.20667,0 -2.176033,0.96936 -2.176033,2.17603 l 0,34.82882 c 0,1.20667 0.969363,2.17603 2.176033,2.17603 l 5.052822,0 -6.970682,5.60605 8.679544,0 3.356254,-5.60605 13.449605,0 3.356253,5.60605 8.691838,0 -6.970682,-5.60605 5.040528,0 c 1.206671,0 2.188327,-0.96936 2.188327,-2.17603 l 0,-34.82882 c 0,-1.20667 -0.981656,-2.17603 -2.188327,-2.17603 l -5.274113,0 0,-0.209 c 0,-0.60343 -0.969175,-1.09417 -2.176033,-1.09417 l -18.785188,0 z m -4.352065,6.45434 27.489319,0 c 0.297719,0 0.540934,0.24321 0.540934,0.54094 l 0,12.19561 c 0,0.29771 -0.243215,0.54093 -0.540934,0.54093 l -27.489319,0 c -0.297719,0 -0.540935,-0.24322 -0.540935,-0.54093 l 0,-12.19561 c 0,-0.29773 0.243216,-0.54094 0.540935,-0.54094 z m 4.11848,19.59659 c 2.123482,0 3.843717,1.71229 3.860307,3.83572 l 0,0.0246 c 0,2.13526 -1.725039,3.87261 -3.860307,3.87261 -2.135268,0 -3.872601,-1.73735 -3.872601,-3.87261 0,-2.13527 1.737333,-3.8603 3.872601,-3.8603 z m 19.252359,0 c 2.123482,0 3.856011,1.71229 3.872601,3.83572 l 0,0.0246 c 0,2.13526 -1.737333,3.87261 -3.872601,3.87261 -2.135269,0 -3.860308,-1.73735 -3.860308,-3.87261 0,-2.13527 1.725039,-3.8603 3.860308,-3.8603 z"
+     id="rect2024"
+     inkscape:connector-curvature="0" />
+  <path
+     style="font-size:12px;fill:#ffffff;fill-opacity:1;stroke:none"
+     d="m 113.81005,257.23327 c -1.20686,0 -2.17604,0.49074 -2.17604,1.09417 l 0,0.209 -5.27411,0 c -1.20667,0 -2.17603,0.96936 -2.17603,2.17603 l 0,34.82882 c 0,1.20667 0.96936,2.17603 2.17603,2.17603 l 5.05282,0 -6.97068,5.60605 8.67954,0 3.35626,-5.60605 13.4496,0 3.35626,5.60605 8.69183,0 -6.97068,-5.60605 5.04053,0 c 1.20667,0 2.18833,-0.96936 2.18833,-2.17603 l 0,-34.82882 c 0,-1.20667 -0.98166,-2.17603 -2.18833,-2.17603 l -5.27411,0 0,-0.209 c 0,-0.60343 -0.96918,-1.09417 -2.17604,-1.09417 l -18.78518,0 z m -4.35207,6.45434 27.48932,0 c 0.29772,0 0.54093,0.24321 0.54093,0.54094 l 0,12.19561 c 0,0.29771 -0.24321,0.54093 -0.54093,0.54093 l -27.48932,0 c -0.29772,0 -0.54093,-0.24322 -0.54093,-0.54093 l 0,-12.19561 c 0,-0.29773 0.24321,-0.54094 0.54093,-0.54094 z m 4.11848,19.59659 c 2.12348,0 3.84372,1.71229 3.86031,3.83572 l 0,0.0246 c 0,2.13526 -1.72504,3.87261 -3.86031,3.87261 -2.13527,0 -3.8726,-1.73735 -3.8726,-3.87261 0,-2.13527 1.73733,-3.8603 3.8726,-3.8603 z m 19.25236,0 c 2.12348,0 3.85601,1.71229 3.8726,3.83572 l 0,0.0246 c 0,2.13526 -1.73733,3.87261 -3.8726,3.87261 -2.13527,0 -3.86031,-1.73735 -3.86031,-3.87261 0,-2.13527 1.72504,-3.8603 3.86031,-3.8603 z"
+     id="rect2024-9"
+     inkscape:connector-curvature="0" />
+  <path
+     style="font-size:12px;fill:#ffffff;fill-opacity:1;stroke:none"
+     d="m 393.81006,117.23326 c -1.20686,0 -2.17604,0.49074 -2.17604,1.09417 l 0,0.209 -5.27411,0 c -1.20667,0 -2.17603,0.96936 -2.17603,2.17603 l 0,34.82882 c 0,1.20667 0.96936,2.17603 2.17603,2.17603 l 5.05282,0 -6.97068,5.60605 8.67954,0 3.35626,-5.60605 13.4496,0 3.35626,5.60605 8.69183,0 -6.97068,-5.60605 5.04053,0 c 1.20667,0 2.18833,-0.96936 2.18833,-2.17603 l 0,-34.82882 c 0,-1.20667 -0.98166,-2.17603 -2.18833,-2.17603 l -5.27411,0 0,-0.209 c 0,-0.60343 -0.96918,-1.09417 -2.17604,-1.09417 l -18.78518,0 z m -4.35207,6.45434 27.48932,0 c 0.29772,0 0.54093,0.24321 0.54093,0.54094 l 0,12.19561 c 0,0.29771 -0.24321,0.54093 -0.54093,0.54093 l -27.48932,0 c -0.29772,0 -0.54093,-0.24322 -0.54093,-0.54093 l 0,-12.19561 c 0,-0.29773 0.24321,-0.54094 0.54093,-0.54094 z m 4.11848,19.59659 c 2.12348,0 3.84372,1.71229 3.86031,3.83572 l 0,0.0246 c 0,2.13526 -1.72504,3.87261 -3.86031,3.87261 -2.13527,0 -3.8726,-1.73735 -3.8726,-3.87261 0,-2.13527 1.73733,-3.8603 3.8726,-3.8603 z m 19.25236,0 c 2.12348,0 3.85601,1.71229 3.8726,3.83572 l 0,0.0246 c 0,2.13526 -1.73733,3.87261 -3.8726,3.87261 -2.13527,0 -3.86031,-1.73735 -3.86031,-3.87261 0,-2.13527 1.72504,-3.8603 3.86031,-3.8603 z"
+     id="rect2024-9-9"
+     inkscape:connector-curvature="0" />
+  <path
+     style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5.5999999;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+     d="m 209.6441,46.78695 c -1.2569,-1.256906 -2.59387,0.08215 -4.59962,2.087883 l -6.45201,6.452032 -2.43326,-2.433254 c -7.53521,7.535213 -15.07042,15.07042 -12.55868,22.605633 l 1.17737,1.177383 c -0.95477,0.843518 -1.73875,1.928926 -2.49602,3.061167 -1.38182,2.06599 -2.55837,4.448308 -3.42225,6.373538 -0.51172,1.140434 -1.69767,2.820255 -3.06118,3.626317 -1.36351,0.806082 -2.73606,1.107745 -5.07057,-0.392457 l -2.15068,3.343744 c 3.3598,2.159073 6.85084,1.871414 9.24633,0.455252 2.39549,-1.416147 3.87928,-3.619968 4.67812,-5.400225 0.81065,-1.806592 1.90725,-4.028253 3.07688,-5.777005 0.74583,-1.115098 1.55141,-1.899257 2.11928,-2.370437 l 0.9262,0.926199 c 7.5352,2.511734 15.07041,-5.023476 22.60562,-12.558689 l -2.41753,-2.417535 6.45201,-6.452032 c 2.00574,-2.005744 3.34489,-3.342605 2.08788,-4.599626 -1.25691,-1.256909 -2.59387,0.08214 -4.59962,2.087882 l -6.45202,6.452028 -5.19615,-5.196147 6.45201,-6.452023 c 2.00575,-2.005751 3.3449,-3.34261 2.08789,-4.599628 z"
+     id="path4801"
+     inkscape:connector-curvature="0" />
+  <path
+     style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5.5999999;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+     d="m 419.64411,256.78696 c -1.2569,-1.25691 -2.59387,0.0821 -4.59962,2.08788 l -6.45201,6.45204 -2.43326,-2.43326 c -7.53521,7.53522 -15.07042,15.07042 -12.55868,22.60564 l 1.17737,1.17738 c -0.95477,0.84352 -1.73875,1.92892 -2.49602,3.06117 -1.38182,2.06599 -2.55837,4.4483 -3.42225,6.37353 -0.51172,1.14044 -1.69767,2.82026 -3.06118,3.62632 -1.36351,0.80608 -2.73606,1.10775 -5.07057,-0.39246 l -2.15068,3.34375 c 3.3598,2.15907 6.85084,1.87141 9.24633,0.45525 2.39549,-1.41615 3.87928,-3.61997 4.67812,-5.40023 0.81065,-1.80659 1.90725,-4.02825 3.07688,-5.777 0.74583,-1.1151 1.55141,-1.89926 2.11928,-2.37044 l 0.9262,0.9262 c 7.5352,2.51174 15.07041,-5.02347 22.60562,-12.55869 l -2.41753,-2.41753 6.45201,-6.45203 c 2.00574,-2.00575 3.34489,-3.34261 2.08788,-4.59963 -1.25691,-1.25691 -2.59387,0.0821 -4.59962,2.08788 l -6.45202,6.45203 -5.19615,-5.19615 6.45201,-6.45202 c 2.00575,-2.00575 3.3449,-3.34261 2.08789,-4.59963 z"
+     id="path4801-0"
+     inkscape:connector-curvature="0"
+     inkscape:transform-center-x="60.480582"
+     inkscape:transform-center-y="-186.63452" />
+  <path
+     style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5.5999999;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+     d="m 209.6441,256.78695 c -1.2569,-1.25691 -2.59387,0.0822 -4.59962,2.08788 l -6.45201,6.45203 -2.43326,-2.43325 c -7.53521,7.53521 -15.07042,15.07042 -12.55868,22.60563 l 1.17737,1.17739 c -0.95477,0.84351 -1.73875,1.92892 -2.49602,3.06116 -1.38182,2.06599 -2.55837,4.44831 -3.42225,6.37354 -0.51172,1.14043 -1.69767,2.82026 -3.06118,3.62632 -1.36351,0.80608 -2.73606,1.10774 -5.07057,-0.39246 l -2.15068,3.34374 c 3.3598,2.15908 6.85084,1.87142 9.24633,0.45526 2.39549,-1.41615 3.87928,-3.61997 4.67812,-5.40023 0.81065,-1.80659 1.90725,-4.02825 3.07688,-5.777 0.74583,-1.1151 1.55141,-1.89926 2.11928,-2.37044 l 0.9262,0.9262 c 7.5352,2.51173 15.07041,-5.02348 22.60562,-12.55869 l -2.41753,-2.41754 6.45201,-6.45203 c 2.00574,-2.00574 3.34489,-3.3426 2.08788,-4.59962 -1.25691,-1.25691 -2.59387,0.0821 -4.59962,2.08788 l -6.45202,6.45203 -5.19615,-5.19615 6.45201,-6.45202 c 2.00575,-2.00576 3.3449,-3.34261 2.08789,-4.59963 z"
+     id="path4801-2"
+     inkscape:connector-curvature="0" />
+  <path
+     style="fill:#ffffff;fill-opacity:1;stroke:none"
+     d="m 38.226706,296.88159 c 0.166338,0.16634 0.43793,0.16428 0.600023,-0.007 l 2.097004,-2.20834 6.68072,6.68072 c 1.509736,-2.32284 0.278163,-6.61573 -2.956849,-10.41698 0.0076,-0.007 0.01768,-0.006 0.02475,-0.0124 l 1.670185,-1.67018 3.272305,3.2723 c 0.548322,0.54833 1.431157,0.54834 1.97947,3e-5 l 3.068185,-3.06818 1.212424,1.21241 -3.272305,3.27231 9.37774,9.37775 14.264584,-14.26457 -9.377755,-9.37775 -2.245459,2.24547 -1.212431,-1.21243 2.041322,-2.04132 c 0.548322,-0.54832 0.548327,-1.43117 5e-6,-1.97947 l -2.004216,-2.00424 0.915506,-0.91549 1.144388,1.14439 c 0.271963,0.27196 0.705396,0.27195 0.977358,-10e-6 l 6.872488,-6.87247 c 0.271953,-0.27198 0.278154,-0.71159 0.0061,-0.98356 l -1.237171,-1.23718 c 0.447603,-1.38148 0.17905,-2.87674 -0.828907,-3.8847 -1.007951,-1.00797 -2.497021,-1.27034 -3.878524,-0.82273 l -1.243357,-1.24335 c -0.271963,-0.27197 -0.711592,-0.26578 -0.983555,0.007 l -6.872475,6.87247 c -0.271958,0.27196 -0.271972,0.70541 -9e-6,0.97737 l 1.144387,1.14438 -0.915509,0.91551 -2.004214,-2.00421 c -0.548318,-0.54832 -1.431158,-0.54832 -1.979471,-10e-6 l -2.041329,2.04133 -0.952625,-0.95262 2.24547,-2.24546 -9.377751,-9.37776 -14.264578,14.26458 9.377751,9.37774 3.27232,-3.27229 0.952615,0.95261 -3.068176,3.06818 c -0.548317,0.54831 -0.548322,1.43116 0,1.97948 l 3.27232,3.2723 -1.670189,1.67019 c -0.007,0.007 -0.0062,0.0173 -0.01235,0.0246 -3.801255,-3.235 -8.094141,-4.46658 -10.416979,-2.95683 l 6.680725,6.68073 -2.097008,2.20832 c -0.162088,0.17048 -0.160146,0.44607 0.0061,0.61241 l 1.756778,1.75679 z m 19.374084,-7.94263 -1.212428,-1.21243 5.4188,-5.41881 1.212428,1.21244 -5.4188,5.4188 z m -12.099531,-12.09952 -0.952619,-0.95263 5.418794,-5.4188 0.952625,0.95263 -5.4188,5.4188 z"
+     id="rect4833"
+     inkscape:connector-curvature="0" />
+  <path
+     style="fill:#ffffff;fill-opacity:1;stroke:none"
+     d="m 318.22682,86.881578 c 0.16634,0.16634 0.43793,0.16428 0.60003,-0.007 l 2.097,-2.20834 6.68072,6.68072 c 1.50974,-2.32284 0.27816,-6.61573 -2.95685,-10.41698 0.008,-0.007 0.0177,-0.006 0.0247,-0.0124 l 1.67019,-1.67018 3.2723,3.2723 c 0.54832,0.54833 1.43116,0.54834 1.97947,3e-5 l 3.06819,-3.06818 1.21242,1.21241 -3.27231,3.27231 9.37774,9.37775 14.26459,-14.26457 -9.37776,-9.37775 -2.24546,2.24547 -1.21243,-1.21243 2.04133,-2.04132 c 0.54832,-0.54832 0.54832,-1.43117 0,-1.97947 l -2.00422,-2.00424 0.91551,-0.91549 1.14439,1.14439 c 0.27196,0.27196 0.70539,0.27195 0.97736,-1e-5 l 6.87249,-6.87247 c 0.27195,-0.27198 0.27815,-0.71159 0.006,-0.98356 l -1.23717,-1.23718 c 0.4476,-1.38148 0.17905,-2.87674 -0.82891,-3.8847 -1.00795,-1.00797 -2.49702,-1.27034 -3.87853,-0.82273 l -1.24335,-1.24335 c -0.27197,-0.27197 -0.7116,-0.26578 -0.98356,0.007 l -6.87247,6.87247 c -0.27196,0.27196 -0.27198,0.70541 -1e-5,0.97737 l 1.14438,1.14438 -0.91551,0.91551 -2.00421,-2.00421 c -0.54832,-0.54832 -1.43116,-0.54832 -1.97947,-10e-6 l -2.04133,2.04133 -0.95262,-0.95262 2.24547,-2.24546 -9.37776,-9.37776 -14.26457,14.26458 9.37775,9.37774 3.27232,-3.27229 0.95261,0.95261 -3.06817,3.06818 c -0.54832,0.54831 -0.54833,1.43116 0,1.97948 l 3.27232,3.2723 -1.67019,1.67019 c -0.007,0.007 -0.006,0.0173 -0.0124,0.0246 -3.80126,-3.235 -8.09414,-4.46658 -10.41698,-2.95683 l 6.68072,6.68073 -2.097,2.20832 c -0.16209,0.17048 -0.16015,0.44607 0.006,0.61241 l 1.75677,1.75679 z m 19.37409,-7.94263 -1.21243,-1.21243 5.4188,-5.41881 1.21243,1.21244 -5.4188,5.4188 z m -12.09953,-12.09952 -0.95262,-0.95263 5.41879,-5.4188 0.95263,0.95263 -5.4188,5.4188 z"
+     id="rect4833-0"
+     inkscape:connector-curvature="0" />
+</svg>
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/plugin.properties b/releng/org.eclipse.papyrus.sysml16.rcp/plugin.properties
new file mode 100644
index 0000000..ffd40ab
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/plugin.properties
@@ -0,0 +1,15 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus Sysml 1.6 RCP
+Bundle-Vendor=Eclipse Modeling Project
+Bundle-Description=This plug-in contains the information to build the SysML 1.6 Rcp
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/plugin.xml b/releng/org.eclipse.papyrus.sysml16.rcp/plugin.xml
new file mode 100644
index 0000000..818a889
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/plugin.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.3"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/ 
+
+  SPDX-License-Identifier: EPL-2.0
+ 
+ Contributors:
+   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ 
+-->
+
+<plugin>
+   <extension
+         id="product"
+         point="org.eclipse.core.runtime.products">
+      <product
+            application="org.eclipse.ui.ide.workbench"
+            description="Papyrus&#x0D;&#x0A;&#x0D;&#x0A;Version: 1.0.0&#x0D;&#x0A;&#x0D;&#x0A;(c) Copyright Eclipse contributors and others 2000, 2019.  All rights reserved.&#x0D;&#x0A;Visit http://www.eclipse.org/platform&#x0D;&#x0A;&#x0D;&#x0A;This product includes software developed by the&#x0D;&#x0A;Apache Software Foundation http://www.apache.org/"
+            name="Papyrus">
+         <property name="windowImages" value="icons/papyrus16.png,icons/papyrus32.png,icons/papyrus48.png,icons/papyrus64.png,icons/papyrus128.png"/> 
+         <property name="aboutImage" value="icons/papyrus_lg.png"/>
+         <property
+               name="appName"
+               value="Papyrus">
+         </property>
+         <property
+              name="introBrandingImage"
+              value="product:icons/intro-papyrus.png"/>
+         <property
+               name="introTitle"
+               value="Welcome to Papyrus">
+         </property>
+         <property
+               name="introBrandingImageText"
+               value="Papyrus">
+         </property>
+         <property
+               name="startupForegroundColor"
+               value="9C9E9F">
+         </property>
+         <property
+               name="startupMessageRect"
+               value="7,4,445,16">
+         </property>
+         <property
+               name="startupProgressRect"
+               value="0,330,460,20">
+         </property>
+         <property
+               name="preferenceCustomization"
+               value="plugin_customization.ini">
+         </property>
+         <property
+				name="cssTheme"
+				value="org.eclipse.e4.ui.css.theme.e4_default">
+		  </property>
+		  <property
+				name="applicationCSSResources"
+          value="platform:/plugin/org.eclipse.platform/images/">
+		  </property>
+    <property
+          name="aboutText"
+          value="Papyrus&#x0A;&#x0A;Version: 1.0.0&#x0A;&#x0A;(c) Copyright Eclipse contributors and others 2000, 2019.  All rights reserved.&#x0A;Visit http://www.eclipse.org/platform&#x0A;&#x0A;This product includes software developed by the&#x0A;Apache Software Foundation http://www.apache.org/">
+    </property>
+      </product>
+   </extension>
+</plugin>
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/plugin_customization.ini b/releng/org.eclipse.papyrus.sysml16.rcp/plugin_customization.ini
new file mode 100644
index 0000000..731b27b
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/plugin_customization.ini
@@ -0,0 +1,20 @@
+# customization.ini 
+# sets default values for plug-in-specific preferences
+# keys are qualified by plug-in id
+# e.g., com.example.acmeplugin/myproperty=myvalue
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in plugin_customization.properties
+# This file does not need to be translated.
+
+# Property "org.eclipse.ui/defaultPerspectiveId" controls the 
+# perspective that the workbench opens initially
+org.eclipse.ui/defaultPerspectiveId=org.eclipse.papyrus.infra.core.perspective
+
+# new-style tabs by default
+org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=false
+
+# put the perspective switcher on the top right
+org.eclipse.ui/DOCK_PERSPECTIVE_BAR=topRight
+
+# show progress on startup
+org.eclipse.ui/SHOW_PROGRESS_ON_STARTUP=true
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/pom.xml b/releng/org.eclipse.papyrus.sysml16.rcp/pom.xml
new file mode 100644
index 0000000..d9305aa
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/pom.xml
@@ -0,0 +1,14 @@
+<?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/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.releng</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.rcp</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.rcp</name>
+	<description>This plugins defines the Rich Client Platform for SysML 1.6 application.</description>
+</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.sysml16.rcp/splash.bmp b/releng/org.eclipse.papyrus.sysml16.rcp/splash.bmp
new file mode 100644
index 0000000..21d73ab
--- /dev/null
+++ b/releng/org.eclipse.papyrus.sysml16.rcp/splash.bmp
Binary files differ
diff --git a/releng/pom.xml b/releng/pom.xml
new file mode 100644
index 0000000..132af09
--- /dev/null
+++ b/releng/pom.xml
@@ -0,0 +1,40 @@
+<?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.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.parent</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.releng</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML Releng</name>
+	<description>This plug-in contains the different modules relatives to the releng of SysML 1.6 from update site, to feature , product and rcp.</description>
+	<modules>
+		<module>targetplatform</module>
+	</modules>
+
+	<profiles>
+        <profile>
+            <id>p2</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <modules>
+                <module>org.eclipse.papyrus.sysml16.p2</module>
+            </modules>
+        </profile>
+		<profile>
+			<id>product</id>
+			<activation>
+				<activeByDefault>false</activeByDefault>
+			</activation>
+			<modules>
+				<module>org.eclipse.papyrus.sysml16.p2</module>
+				<module>org.eclipse.papyrus.sysml16.rcp</module>
+				<module>org.eclipse.papyrus.sysml16.product</module>
+			</modules>
+		</profile>
+	</profiles>
+</project>
\ No newline at end of file
diff --git a/releng/src/changes/changes.xml b/releng/src/changes/changes.xml
new file mode 100644
index 0000000..4daf4fb
--- /dev/null
+++ b/releng/src/changes/changes.xml
@@ -0,0 +1,10 @@
+<document xmlns="http://maven.apache.org/changes/1.0.0"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd">
+  <properties>
+    <title>Sample Changes Report: Papyrus SysML 1.6</title>
+  </properties>
+  <body>
+    
+  </body>
+</document>
\ No newline at end of file
diff --git a/releng/src/etc/header.epl.txt b/releng/src/etc/header.epl.txt
new file mode 100644
index 0000000..d9a34d1
--- /dev/null
+++ b/releng/src/etc/header.epl.txt
@@ -0,0 +1,6 @@
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+which accompanies this distribution, and is available at
+https://www.eclipse.org/legal/epl-2.0/ 
+
+SPDX-License-Identifier: EPL-2.0
\ No newline at end of file
diff --git a/releng/src/site/fml/faq-dev.fml b/releng/src/site/fml/faq-dev.fml
new file mode 100644
index 0000000..bde5608
--- /dev/null
+++ b/releng/src/site/fml/faq-dev.fml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faqs xmlns="http://maven.apache.org/FML/1.0.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/FML/1.0.1 http://maven.apache.org/xsd/fml-1.0.1.xsd"
+  title="Frequently Asked Questions"
+  toplink="false">
+
+  <part id="general">
+    <title>General</title>
+
+    <faq id="get-code">
+      <question>
+        Where to retrieve the code?
+      </question>
+      <answer>
+        <p>You have to clone the git repository</p>
+        <source>git clone https://git.eclipse.org/r/papyrus/org.eclipse.papyrus-sysml</source>
+      </answer>
+    </faq>
+    
+    <faq id="get-website">
+      <question>
+        Where is the website of the project?
+      </question>
+      <answer>
+        <p>You have to go <a href="https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-website/ws/site-staging/index.html">https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-website/ws/site-staging/index.html</a></p>
+      </answer>
+    </faq>
+    
+        <faq id="get-javadoc">
+      <question>
+        Where is the javadoc of the project?
+      </question>
+      <answer>
+        <p>You have to go <a href="https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-website/ws/site-staging/apidocs/index.html">https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-website/ws/site-staging/apidocs/index.html</a></p>
+      </answer>
+    </faq>
+    
+            <faq id="get-hudson">
+      <question>
+        Where are the continuous integration jobs?
+      </question>
+      <answer>
+        <p>You have to go <a href="https://hudson.eclipse.org/papyrus/view/Sysml/">https://hudson.eclipse.org/papyrus/view/Sysml/</a></p>
+      </answer>
+    </faq>
+    
+                <faq id="get-gerrit">
+      <question>
+        Where is the review server?
+      </question>
+      <answer>
+        <p>You have to go to gerrit: <a href=" https://git.eclipse.org/r/#/q/status:open+project:papyrus/org.eclipse.papyrus-sysml"> https://git.eclipse.org/r/#/q/status:open+project:papyrus/org.eclipse.papyrus-sysml</a></p>
+      </answer>
+    </faq>
+
+  </part>
+
+  <part id="install">
+
+    <title>Installation</title>
+
+    <faq id="how-install">
+      <question>
+        How do I install SysML?
+      </question>
+      <answer>
+        <p>SysMl 1.6 is an eclipse project and follow the standard recommendation of the Eclipse Foundation for installation.</p>
+      </answer>
+    </faq>
+
+  </part>
+
+</faqs>
\ No newline at end of file
diff --git a/releng/src/site/fml/faq-user.fml b/releng/src/site/fml/faq-user.fml
new file mode 100644
index 0000000..72e3bbe
--- /dev/null
+++ b/releng/src/site/fml/faq-user.fml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faqs xmlns="http://maven.apache.org/FML/1.0.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/FML/1.0.1 http://maven.apache.org/xsd/fml-1.0.1.xsd"
+  title="Frequently Asked Questions"
+  toplink="false">
+
+  <part id="faq-user-general">
+    <title>General</title>
+
+    <faq id="faq-user-requirement-table">
+      <question>
+        How to customize my SysML 1.6 Requirement tables?
+      </question>
+      <answer>
+        <p>Please have a look to the official papyrus Nattable documentation <a href="https://wiki.eclipse.org/Papyrus_User_Guide/Table_Documentation">https://wiki.eclipse.org/Papyrus_User_Guide/Table_Documentation</a></p>
+        <p>For instance, you can display or hide colums or rows elements, or customize them.</p>
+      </answer>
+    </faq>
+ 
+   </part>
+
+</faqs>
\ No newline at end of file
diff --git a/releng/src/site/markdown/contribute.md b/releng/src/site/markdown/contribute.md
new file mode 100644
index 0000000..2a13924
--- /dev/null
+++ b/releng/src/site/markdown/contribute.md
@@ -0,0 +1,42 @@
+Contributing to Papyrus SysML 1.6
+--------------------
+
+Thanks for your interest in this project.
+
+Project description:
+--------------------
+
+A DSML for the [SysML 1.6 OMG](http://www.omg.org/spec/SysML/1.6/) norm based upon the [Eclipse Papyrus project](https://projects.eclipse.org/projects/modeling.mdt.papyrus).
+
+Create a new [bug][ebug]:
+-----------------
+
+Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!
+
+[ebug]: https://bugs.eclipse.org/bugs/enter_bug.cgi?
+
+Search for [bugs][ebug]:
+----------------
+
+This project uses Bugzilla to track ongoing development and issues.
+
+[ebug]: https://bugs.eclipse.org/bugs/enter_bug.cgi
+
+Contributor License Agreement:
+------------------------------
+
+Before your contribution can be accepted by the project, you need to create and electronically 
+sign the Eclipse Foundation Contributor License Agreement [(CLA)](http://www.eclipse.org/legal/CLA.php).
+
+Contact:
+--------
+
+Contact the project developers and users via the project's ["user" list](https://dev.eclipse.org/mailman/listinfo/papyrus-sysml-users/).
+
+Developer resources:
+--------------------
+
+ * Check the README.md file for developing information
+ * Continuous integration with [Hudson](https://hudson.eclipse.org/papyrus/)
+ * Contribution review with [Gerrit](https://git.eclipse.org/)
+ * Code quality with [SonarQube](https://dev.eclipse.org/sonar/dashboard/index/113161)
diff --git a/releng/src/site/markdown/index.md b/releng/src/site/markdown/index.md
new file mode 100644
index 0000000..ea42aed
--- /dev/null
+++ b/releng/src/site/markdown/index.md
@@ -0,0 +1,72 @@
+#### [Papyrus][epapyrus]
+
+[![Modeling environment with Papyrus](images/carousel/carousel-papyrus.png)][epapyrus]
+
+Our application is a component of [Papyrus][epapyrus], an integrated and user-consumable environment for editing any kind of EMF model and particularly supporting UML2 and related modeling languages .
+
+#### [QUDV][equdv]
+
+[![Quantities, Units, Dimensions, Values QUDV](images/carousel/carousel-qudv.png)][equdv]
+
+Use [QUDV][equdv] to define systems of units and quantities for use in system models.
+
+
+#### [Element-types][eelementtypes]
+
+[![Element-types](images/carousel/carousel-elementtypes.png)][eelementtypes]
+
+Papyrus SysML 1.6 uses the Element types framework to manage the whole life cycle of objects.
+
+
+#### [SysML profile][eprofile]
+
+[![Profile](images/carousel/carousel-profile.png)][eprofile]
+
+Papyrus SysML 1.6 is based upon the OMG SysML 1.6 standard.
+
+
+#### [SysML Requirements][ereq]
+
+[![Requirements diagram](images/carousel/carousel-requirements.png)][ereq]
+
+You can define your requirements directly with table format.
+
+
+[equdv]: http://www.omgwiki.org/OMGSysML/doku.php?id=sysml-qudv:quantities_units_dimensions_values_qudv
+[eelementtypes]: http://wiki.eclipse.org/Papyrus_User_Guide
+[eprofile]: http://www.omg.org/spec/SysML/1.4/
+[ereq]: http://www.omg.org/spec/SysML/1.4/
+
+
+---
+
+
+## SysML 1.6, an extension of [Papyrus][epapyrus]
+
+
+This site is mainly dedicated for developers, you can find information relative to the SysML's developments, such as [Git][egit], Dependencies, [Javadoc][ejavadoc], procedures, tips etc...
+You can use the download menu to get the official RCP or use the updatesite url.
+
+## Documentation
+
+Have a look at the developer documentation: [site][devhome] or [pdf][developer-guide.pdf].
+
+Have a look at the user documentation: [site][userhome] or [pdf][user-guide.pdf].
+
+[devhome]: ./developer/index.html
+[developer-guide.pdf]: ./pdf/developer-guide.pdf
+[userhome]: ./user/index.html
+[user-guide.pdf]: ./pdf/user-guide.pdf
+[ejavadoc]: ./xref/
+[egit]: ./source-repository.html
+
+
+---
+
+
+### About
+
+SysML16 is a component of the Eclipse [Papyrus][epapyrus]'s galaxy. SysML 1.6 application is a Papyrus DSML implementing the [SysML 1.6 OMG standard][eomg].
+
+[epapyrus]: https://eclipse.org/papyrus/
+[eomg]: http://www.omg.org/spec/SysML/1.4/
diff --git a/releng/src/site/pdf/developer-guide.pdf.xml b/releng/src/site/pdf/developer-guide.pdf.xml
new file mode 100644
index 0000000..9939109
--- /dev/null
+++ b/releng/src/site/pdf/developer-guide.pdf.xml
@@ -0,0 +1,31 @@
+<document xmlns="http://maven.apache.org/DOCUMENT/1.0.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/DOCUMENT/1.0.1 http://maven.apache.org/xsd/document-1.0.1.xsd"
+  outputName="developer-guide">
+
+  <meta>
+    <title>SysML</title>
+    <author>The SysML Guys</author>
+  </meta>
+
+  <toc name="Table of Contents">
+    <item name="Introduction" ref="index.html"/>
+    <item name="Developer" ref="developer/index.html"/>
+    <item name="SOP1 Norm requirement extraction" ref="developer/sop1-normRequirementExtraction.html"/>
+    <item name="SOP2 Generation from Norm to code and configuration files" ref="developer/sop2-toolGeneration.html"/>
+    <item name="SOP3 Adding operations to the norm" ref="developer/sop3-upgradingNorm.html"/>
+    <item name="SOP4 Requirement" ref="developer/sop4-requirement.html"/>
+    <item name="SOP5 Release" ref="developer/sop5-release.html"/>
+    <item name="FAQ Developer" ref="faq-dev.html"/>
+  </toc>
+
+  <cover>
+    <coverTitle>${project.name}</coverTitle>
+    <coverSubTitle>version ${project.version}</coverSubTitle>
+    <coverType>Developer Guide</coverType>
+    <projectName>${project.name}</projectName>
+    <projectLogo>images/logopap.png</projectLogo>
+    <companyName>Eclipse</companyName>
+    <companyLogo>images/eclipse-800x188.png</companyLogo>
+  </cover>
+</document>
\ No newline at end of file
diff --git a/releng/src/site/pdf/user-guide.pdf.xml b/releng/src/site/pdf/user-guide.pdf.xml
new file mode 100644
index 0000000..f8bbe35
--- /dev/null
+++ b/releng/src/site/pdf/user-guide.pdf.xml
@@ -0,0 +1,28 @@
+<document xmlns="http://maven.apache.org/DOCUMENT/1.0.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/DOCUMENT/1.0.1 http://maven.apache.org/xsd/document-1.0.1.xsd"
+  outputName="user-guide">
+
+  <meta>
+    <title>SysML</title>
+    <author>The SysML Guys</author>
+  </meta>
+
+  <toc name="Table of Contents">
+    <item name="Introduction" ref="index.html"/>
+    <item name="User" ref="user/index.html"/>
+    <item name="Libraries" ref="user/libraries.html"/>
+    <item name="Tutorial 1: Project creation" ref="user/tuto1-createsysmlproject.html"/>
+    <item name="User FAQ" ref="faq-user.html"/>
+  </toc>
+
+  <cover>
+    <coverTitle>${project.name}</coverTitle>
+    <coverSubTitle>version ${project.version}</coverSubTitle>
+    <coverType>User Guide</coverType>
+    <projectName>${project.name}</projectName>
+    <projectLogo>images/logopap.png</projectLogo>
+    <companyName>Eclipse</companyName>
+    <companyLogo>images/eclipse-800x188.png</companyLogo>
+  </cover>
+</document>
\ No newline at end of file
diff --git a/releng/src/site/resources/code/RequirementGenerator.java b/releng/src/site/resources/code/RequirementGenerator.java
new file mode 100644
index 0000000..e579a56
--- /dev/null
+++ b/releng/src/site/resources/code/RequirementGenerator.java
@@ -0,0 +1,134 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/ 
+ * 
+ *  SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *  Francois Le Fevre  francois.le-fevre@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.tools.norm;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.Date;
+import java.util.HashMap;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+public class RequirementGenerator {
+
+	public static String OLD_IDS_NORM_FILE="src/main/resources/input/requirements.reqid.reqTextPage.reqXmiID.packageelementXmiID.beta.tsv";
+	public static String WEBSITE_NORM_URL="https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-website/ws/site-staging/org.eclipse.papyrus.sysml.core/norm/formal-15-06-03.pdf";
+	
+	public static void main(String[] args) {
+		HashMap<String,String> reqID2PackageElementXmiID = new HashMap<String,String>();
+		HashMap<String,String> reqID2RequirementXmiID = new HashMap<String,String>();
+
+		Date d = new Date();
+		String outputfolder= new String("src/main/resources/"+d.getTime()+"/");
+		File theFile = new File(outputfolder);
+	    theFile.mkdirs();
+	    
+		try {
+			FileInputStream fisReqOldNorm = new FileInputStream(OLD_IDS_NORM_FILE);
+
+			BufferedReader brReqOldNorm = new BufferedReader(new InputStreamReader(fisReqOldNorm));
+
+			
+			String lineOld = null;
+			String reqId,reqXmiId,packageElementXmiId;
+			while ((lineOld = brReqOldNorm.readLine()) != null) {
+				reqId=lineOld.split("\t")[0];
+				reqXmiId=lineOld.split("\t")[2];
+				packageElementXmiId=lineOld.split("\t")[3];
+				reqID2PackageElementXmiID.put(reqId, packageElementXmiId);
+				reqID2RequirementXmiID.put(reqId, reqXmiId);
+			}
+
+			brReqOldNorm.close();
+		} catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+
+		try {
+			FileInputStream fisReqNewNorm = new FileInputStream("src/main/resources/input/omg.sysml16.req.tsv");
+			BufferedReader brReqNewNorm = new BufferedReader(new InputStreamReader(fisReqNewNorm));
+
+			File autoreq_tsv=new File(outputfolder+"requirements.reqid.reqTextPage.reqXmiID.packageelementXmiID.tsv");
+			BufferedWriter writerReqFullTsv = new BufferedWriter(new FileWriter(autoreq_tsv));
+			
+			File autoreq_packageElement=new File(outputfolder+"autoreq_packageElement.new.properties");
+			File autoreq_req=new File(outputfolder+"autoreq_requirement.new.properties");
+			BufferedWriter writerPac = new BufferedWriter(new FileWriter(autoreq_packageElement));
+			BufferedWriter writerReq = new BufferedWriter(new FileWriter(autoreq_req));
+
+
+			String line = null;
+			String packageElementXmiID,requirementXmiID;
+			String reqId, reqText;
+			String page;
+			String packageElementName;
+			while ((line = brReqNewNorm.readLine()) != null) {
+				System.out.println(line);
+				reqId = line.split("\t")[0];
+				reqText = line.split("\t")[1].split("\\[")[0];
+				page = line.split("\\[")[1].replace("]", "");
+				packageElementName=line.split("\\[")[0];
+				
+				packageElementXmiID = reqID2PackageElementXmiID.get(reqId);
+				if(packageElementXmiID==null){
+					packageElementXmiID = EcoreUtil.generateUUID();
+				}
+				
+				
+				requirementXmiID = reqID2RequirementXmiID.get(reqId);
+				if(requirementXmiID==null){
+					requirementXmiID = EcoreUtil.generateUUID();
+				}
+				
+				//Backup the full ids: reqId text[page] packageElementXmiID requirementXmiID
+				writerReqFullTsv.write(line+"\t"+requirementXmiID+"\t"+packageElementXmiID+"\n");
+				
+				//Generate the PackageElement Part
+				writerPac.write ("<packagedElement xmi:type=\"uml:Class\" xmi:id=\""+packageElementXmiID+"\" name=\""+packageElementName+"\"/>\n");
+				
+				//Generate the Requirement Part
+				writerReq.write ("<Requirements:Requirement xmi:id=\""+requirementXmiID+"\" text=\""+reqText+" details here "+WEBSITE_NORM_URL+"#page="+page+"\" id=\""+reqId+"\" base_Class=\""+packageElementXmiID+"\"/>\n");
+			}
+
+			//Close writer
+			writerReqFullTsv.close();
+			writerPac.close();
+			writerReq.close();
+
+
+			brReqNewNorm.close();
+		} catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+
+
+	}
+
+}
\ No newline at end of file
diff --git a/releng/src/site/resources/css/bootstrap-responsive.css b/releng/src/site/resources/css/bootstrap-responsive.css
new file mode 100644
index 0000000..c0bba15
--- /dev/null
+++ b/releng/src/site/resources/css/bootstrap-responsive.css
@@ -0,0 +1,1109 @@
+/*!
+ * Bootstrap Responsive v2.3.2
+ *
+ * Copyright 2013 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world by @mdo and @fat.
+ */
+
+.clearfix {
+  *zoom: 1;
+}
+
+.clearfix:before,
+.clearfix:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.clearfix:after {
+  clear: both;
+}
+
+.hide-text {
+  font: 0/0 a;
+  color: transparent;
+  text-shadow: none;
+  background-color: transparent;
+  border: 0;
+}
+
+.input-block-level {
+  display: block;
+  width: 100%;
+  min-height: 30px;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+@-ms-viewport {
+  width: device-width;
+}
+
+.hidden {
+  display: none;
+  visibility: hidden;
+}
+
+.visible-phone {
+  display: none !important;
+}
+
+.visible-tablet {
+  display: none !important;
+}
+
+.hidden-desktop {
+  display: none !important;
+}
+
+.visible-desktop {
+  display: inherit !important;
+}
+
+@media (min-width: 768px) and (max-width: 979px) {
+  .hidden-desktop {
+    display: inherit !important;
+  }
+  .visible-desktop {
+    display: none !important ;
+  }
+  .visible-tablet {
+    display: inherit !important;
+  }
+  .hidden-tablet {
+    display: none !important;
+  }
+}
+
+@media (max-width: 767px) {
+  .hidden-desktop {
+    display: inherit !important;
+  }
+  .visible-desktop {
+    display: none !important;
+  }
+  .visible-phone {
+    display: inherit !important;
+  }
+  .hidden-phone {
+    display: none !important;
+  }
+}
+
+.visible-print {
+  display: none !important;
+}
+
+@media print {
+  .visible-print {
+    display: inherit !important;
+  }
+  .hidden-print {
+    display: none !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .row {
+    margin-left: -30px;
+    *zoom: 1;
+  }
+  .row:before,
+  .row:after {
+    display: table;
+    line-height: 0;
+    content: "";
+  }
+  .row:after {
+    clear: both;
+  }
+  [class*="span"] {
+    float: left;
+    min-height: 1px;
+    margin-left: 30px;
+  }
+  .container,
+  .navbar-static-top .container,
+  .navbar-fixed-top .container,
+  .navbar-fixed-bottom .container {
+    width: 1170px;
+  }
+  .span12 {
+    width: 1170px;
+  }
+  .span11 {
+    width: 1070px;
+  }
+  .span10 {
+    width: 970px;
+  }
+  .span9 {
+    width: 870px;
+  }
+  .span8 {
+    width: 770px;
+  }
+  .span7 {
+    width: 670px;
+  }
+  .span6 {
+    width: 570px;
+  }
+  .span5 {
+    width: 470px;
+  }
+  .span4 {
+    width: 370px;
+  }
+  .span3 {
+    width: 270px;
+  }
+  .span2 {
+    width: 170px;
+  }
+  .span1 {
+    width: 70px;
+  }
+  .offset12 {
+    margin-left: 1230px;
+  }
+  .offset11 {
+    margin-left: 1130px;
+  }
+  .offset10 {
+    margin-left: 1030px;
+  }
+  .offset9 {
+    margin-left: 930px;
+  }
+  .offset8 {
+    margin-left: 830px;
+  }
+  .offset7 {
+    margin-left: 730px;
+  }
+  .offset6 {
+    margin-left: 630px;
+  }
+  .offset5 {
+    margin-left: 530px;
+  }
+  .offset4 {
+    margin-left: 430px;
+  }
+  .offset3 {
+    margin-left: 330px;
+  }
+  .offset2 {
+    margin-left: 230px;
+  }
+  .offset1 {
+    margin-left: 130px;
+  }
+  .row-fluid {
+    width: 100%;
+    *zoom: 1;
+  }
+  .row-fluid:before,
+  .row-fluid:after {
+    display: table;
+    line-height: 0;
+    content: "";
+  }
+  .row-fluid:after {
+    clear: both;
+  }
+  .row-fluid [class*="span"] {
+    display: block;
+    float: left;
+    width: 100%;
+    min-height: 30px;
+    margin-left: 2.564102564102564%;
+    *margin-left: 2.5109110747408616%;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+  }
+  .row-fluid [class*="span"]:first-child {
+    margin-left: 0;
+  }
+  .row-fluid .controls-row [class*="span"] + [class*="span"] {
+    margin-left: 2.564102564102564%;
+  }
+  .row-fluid .span12 {
+    width: 100%;
+    *width: 99.94680851063829%;
+  }
+  .row-fluid .span11 {
+    width: 91.45299145299145%;
+    *width: 91.39979996362975%;
+  }
+  .row-fluid .span10 {
+    width: 82.90598290598291%;
+    *width: 82.8527914166212%;
+  }
+  .row-fluid .span9 {
+    width: 74.35897435897436%;
+    *width: 74.30578286961266%;
+  }
+  .row-fluid .span8 {
+    width: 65.81196581196582%;
+    *width: 65.75877432260411%;
+  }
+  .row-fluid .span7 {
+    width: 57.26495726495726%;
+    *width: 57.21176577559556%;
+  }
+  .row-fluid .span6 {
+    width: 48.717948717948715%;
+    *width: 48.664757228587014%;
+  }
+  .row-fluid .span5 {
+    width: 40.17094017094017%;
+    *width: 40.11774868157847%;
+  }
+  .row-fluid .span4 {
+    width: 31.623931623931625%;
+    *width: 31.570740134569924%;
+  }
+  .row-fluid .span3 {
+    width: 23.076923076923077%;
+    *width: 23.023731587561375%;
+  }
+  .row-fluid .span2 {
+    width: 14.52991452991453%;
+    *width: 14.476723040552828%;
+  }
+  .row-fluid .span1 {
+    width: 5.982905982905983%;
+    *width: 5.929714493544281%;
+  }
+  .row-fluid .offset12 {
+    margin-left: 105.12820512820512%;
+    *margin-left: 105.02182214948171%;
+  }
+  .row-fluid .offset12:first-child {
+    margin-left: 102.56410256410257%;
+    *margin-left: 102.45771958537915%;
+  }
+  .row-fluid .offset11 {
+    margin-left: 96.58119658119658%;
+    *margin-left: 96.47481360247316%;
+  }
+  .row-fluid .offset11:first-child {
+    margin-left: 94.01709401709402%;
+    *margin-left: 93.91071103837061%;
+  }
+  .row-fluid .offset10 {
+    margin-left: 88.03418803418803%;
+    *margin-left: 87.92780505546462%;
+  }
+  .row-fluid .offset10:first-child {
+    margin-left: 85.47008547008548%;
+    *margin-left: 85.36370249136206%;
+  }
+  .row-fluid .offset9 {
+    margin-left: 79.48717948717949%;
+    *margin-left: 79.38079650845607%;
+  }
+  .row-fluid .offset9:first-child {
+    margin-left: 76.92307692307693%;
+    *margin-left: 76.81669394435352%;
+  }
+  .row-fluid .offset8 {
+    margin-left: 70.94017094017094%;
+    *margin-left: 70.83378796144753%;
+  }
+  .row-fluid .offset8:first-child {
+    margin-left: 68.37606837606839%;
+    *margin-left: 68.26968539734497%;
+  }
+  .row-fluid .offset7 {
+    margin-left: 62.393162393162385%;
+    *margin-left: 62.28677941443899%;
+  }
+  .row-fluid .offset7:first-child {
+    margin-left: 59.82905982905982%;
+    *margin-left: 59.72267685033642%;
+  }
+  .row-fluid .offset6 {
+    margin-left: 53.84615384615384%;
+    *margin-left: 53.739770867430444%;
+  }
+  .row-fluid .offset6:first-child {
+    margin-left: 51.28205128205128%;
+    *margin-left: 51.175668303327875%;
+  }
+  .row-fluid .offset5 {
+    margin-left: 45.299145299145295%;
+    *margin-left: 45.1927623204219%;
+  }
+  .row-fluid .offset5:first-child {
+    margin-left: 42.73504273504273%;
+    *margin-left: 42.62865975631933%;
+  }
+  .row-fluid .offset4 {
+    margin-left: 36.75213675213675%;
+    *margin-left: 36.645753773413354%;
+  }
+  .row-fluid .offset4:first-child {
+    margin-left: 34.18803418803419%;
+    *margin-left: 34.081651209310785%;
+  }
+  .row-fluid .offset3 {
+    margin-left: 28.205128205128204%;
+    *margin-left: 28.0987452264048%;
+  }
+  .row-fluid .offset3:first-child {
+    margin-left: 25.641025641025642%;
+    *margin-left: 25.53464266230224%;
+  }
+  .row-fluid .offset2 {
+    margin-left: 19.65811965811966%;
+    *margin-left: 19.551736679396257%;
+  }
+  .row-fluid .offset2:first-child {
+    margin-left: 17.094017094017094%;
+    *margin-left: 16.98763411529369%;
+  }
+  .row-fluid .offset1 {
+    margin-left: 11.11111111111111%;
+    *margin-left: 11.004728132387708%;
+  }
+  .row-fluid .offset1:first-child {
+    margin-left: 8.547008547008547%;
+    *margin-left: 8.440625568285142%;
+  }
+  input,
+  textarea,
+  .uneditable-input {
+    margin-left: 0;
+  }
+  .controls-row [class*="span"] + [class*="span"] {
+    margin-left: 30px;
+  }
+  input.span12,
+  textarea.span12,
+  .uneditable-input.span12 {
+    width: 1156px;
+  }
+  input.span11,
+  textarea.span11,
+  .uneditable-input.span11 {
+    width: 1056px;
+  }
+  input.span10,
+  textarea.span10,
+  .uneditable-input.span10 {
+    width: 956px;
+  }
+  input.span9,
+  textarea.span9,
+  .uneditable-input.span9 {
+    width: 856px;
+  }
+  input.span8,
+  textarea.span8,
+  .uneditable-input.span8 {
+    width: 756px;
+  }
+  input.span7,
+  textarea.span7,
+  .uneditable-input.span7 {
+    width: 656px;
+  }
+  input.span6,
+  textarea.span6,
+  .uneditable-input.span6 {
+    width: 556px;
+  }
+  input.span5,
+  textarea.span5,
+  .uneditable-input.span5 {
+    width: 456px;
+  }
+  input.span4,
+  textarea.span4,
+  .uneditable-input.span4 {
+    width: 356px;
+  }
+  input.span3,
+  textarea.span3,
+  .uneditable-input.span3 {
+    width: 256px;
+  }
+  input.span2,
+  textarea.span2,
+  .uneditable-input.span2 {
+    width: 156px;
+  }
+  input.span1,
+  textarea.span1,
+  .uneditable-input.span1 {
+    width: 56px;
+  }
+  .thumbnails {
+    margin-left: -30px;
+  }
+  .thumbnails > li {
+    margin-left: 30px;
+  }
+  .row-fluid .thumbnails {
+    margin-left: 0;
+  }
+}
+
+@media (min-width: 768px) and (max-width: 979px) {
+  .row {
+    margin-left: -20px;
+    *zoom: 1;
+  }
+  .row:before,
+  .row:after {
+    display: table;
+    line-height: 0;
+    content: "";
+  }
+  .row:after {
+    clear: both;
+  }
+  [class*="span"] {
+    float: left;
+    min-height: 1px;
+    margin-left: 20px;
+  }
+  .container,
+  .navbar-static-top .container,
+  .navbar-fixed-top .container,
+  .navbar-fixed-bottom .container {
+    width: 724px;
+  }
+  .span12 {
+    width: 724px;
+  }
+  .span11 {
+    width: 662px;
+  }
+  .span10 {
+    width: 600px;
+  }
+  .span9 {
+    width: 538px;
+  }
+  .span8 {
+    width: 476px;
+  }
+  .span7 {
+    width: 414px;
+  }
+  .span6 {
+    width: 352px;
+  }
+  .span5 {
+    width: 290px;
+  }
+  .span4 {
+    width: 228px;
+  }
+  .span3 {
+    width: 166px;
+  }
+  .span2 {
+    width: 104px;
+  }
+  .span1 {
+    width: 42px;
+  }
+  .offset12 {
+    margin-left: 764px;
+  }
+  .offset11 {
+    margin-left: 702px;
+  }
+  .offset10 {
+    margin-left: 640px;
+  }
+  .offset9 {
+    margin-left: 578px;
+  }
+  .offset8 {
+    margin-left: 516px;
+  }
+  .offset7 {
+    margin-left: 454px;
+  }
+  .offset6 {
+    margin-left: 392px;
+  }
+  .offset5 {
+    margin-left: 330px;
+  }
+  .offset4 {
+    margin-left: 268px;
+  }
+  .offset3 {
+    margin-left: 206px;
+  }
+  .offset2 {
+    margin-left: 144px;
+  }
+  .offset1 {
+    margin-left: 82px;
+  }
+  .row-fluid {
+    width: 100%;
+    *zoom: 1;
+  }
+  .row-fluid:before,
+  .row-fluid:after {
+    display: table;
+    line-height: 0;
+    content: "";
+  }
+  .row-fluid:after {
+    clear: both;
+  }
+  .row-fluid [class*="span"] {
+    display: block;
+    float: left;
+    width: 100%;
+    min-height: 30px;
+    margin-left: 2.7624309392265194%;
+    *margin-left: 2.709239449864817%;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+  }
+  .row-fluid [class*="span"]:first-child {
+    margin-left: 0;
+  }
+  .row-fluid .controls-row [class*="span"] + [class*="span"] {
+    margin-left: 2.7624309392265194%;
+  }
+  .row-fluid .span12 {
+    width: 100%;
+    *width: 99.94680851063829%;
+  }
+  .row-fluid .span11 {
+    width: 91.43646408839778%;
+    *width: 91.38327259903608%;
+  }
+  .row-fluid .span10 {
+    width: 82.87292817679558%;
+    *width: 82.81973668743387%;
+  }
+  .row-fluid .span9 {
+    width: 74.30939226519337%;
+    *width: 74.25620077583166%;
+  }
+  .row-fluid .span8 {
+    width: 65.74585635359117%;
+    *width: 65.69266486422946%;
+  }
+  .row-fluid .span7 {
+    width: 57.18232044198895%;
+    *width: 57.12912895262725%;
+  }
+  .row-fluid .span6 {
+    width: 48.61878453038674%;
+    *width: 48.56559304102504%;
+  }
+  .row-fluid .span5 {
+    width: 40.05524861878453%;
+    *width: 40.00205712942283%;
+  }
+  .row-fluid .span4 {
+    width: 31.491712707182323%;
+    *width: 31.43852121782062%;
+  }
+  .row-fluid .span3 {
+    width: 22.92817679558011%;
+    *width: 22.87498530621841%;
+  }
+  .row-fluid .span2 {
+    width: 14.3646408839779%;
+    *width: 14.311449394616199%;
+  }
+  .row-fluid .span1 {
+    width: 5.801104972375691%;
+    *width: 5.747913483013988%;
+  }
+  .row-fluid .offset12 {
+    margin-left: 105.52486187845304%;
+    *margin-left: 105.41847889972962%;
+  }
+  .row-fluid .offset12:first-child {
+    margin-left: 102.76243093922652%;
+    *margin-left: 102.6560479605031%;
+  }
+  .row-fluid .offset11 {
+    margin-left: 96.96132596685082%;
+    *margin-left: 96.8549429881274%;
+  }
+  .row-fluid .offset11:first-child {
+    margin-left: 94.1988950276243%;
+    *margin-left: 94.09251204890089%;
+  }
+  .row-fluid .offset10 {
+    margin-left: 88.39779005524862%;
+    *margin-left: 88.2914070765252%;
+  }
+  .row-fluid .offset10:first-child {
+    margin-left: 85.6353591160221%;
+    *margin-left: 85.52897613729868%;
+  }
+  .row-fluid .offset9 {
+    margin-left: 79.8342541436464%;
+    *margin-left: 79.72787116492299%;
+  }
+  .row-fluid .offset9:first-child {
+    margin-left: 77.07182320441989%;
+    *margin-left: 76.96544022569647%;
+  }
+  .row-fluid .offset8 {
+    margin-left: 71.2707182320442%;
+    *margin-left: 71.16433525332079%;
+  }
+  .row-fluid .offset8:first-child {
+    margin-left: 68.50828729281768%;
+    *margin-left: 68.40190431409427%;
+  }
+  .row-fluid .offset7 {
+    margin-left: 62.70718232044199%;
+    *margin-left: 62.600799341718584%;
+  }
+  .row-fluid .offset7:first-child {
+    margin-left: 59.94475138121547%;
+    *margin-left: 59.838368402492065%;
+  }
+  .row-fluid .offset6 {
+    margin-left: 54.14364640883978%;
+    *margin-left: 54.037263430116376%;
+  }
+  .row-fluid .offset6:first-child {
+    margin-left: 51.38121546961326%;
+    *margin-left: 51.27483249088986%;
+  }
+  .row-fluid .offset5 {
+    margin-left: 45.58011049723757%;
+    *margin-left: 45.47372751851417%;
+  }
+  .row-fluid .offset5:first-child {
+    margin-left: 42.81767955801105%;
+    *margin-left: 42.71129657928765%;
+  }
+  .row-fluid .offset4 {
+    margin-left: 37.01657458563536%;
+    *margin-left: 36.91019160691196%;
+  }
+  .row-fluid .offset4:first-child {
+    margin-left: 34.25414364640884%;
+    *margin-left: 34.14776066768544%;
+  }
+  .row-fluid .offset3 {
+    margin-left: 28.45303867403315%;
+    *margin-left: 28.346655695309746%;
+  }
+  .row-fluid .offset3:first-child {
+    margin-left: 25.69060773480663%;
+    *margin-left: 25.584224756083227%;
+  }
+  .row-fluid .offset2 {
+    margin-left: 19.88950276243094%;
+    *margin-left: 19.783119783707537%;
+  }
+  .row-fluid .offset2:first-child {
+    margin-left: 17.12707182320442%;
+    *margin-left: 17.02068884448102%;
+  }
+  .row-fluid .offset1 {
+    margin-left: 11.32596685082873%;
+    *margin-left: 11.219583872105325%;
+  }
+  .row-fluid .offset1:first-child {
+    margin-left: 8.56353591160221%;
+    *margin-left: 8.457152932878806%;
+  }
+  input,
+  textarea,
+  .uneditable-input {
+    margin-left: 0;
+  }
+  .controls-row [class*="span"] + [class*="span"] {
+    margin-left: 20px;
+  }
+  input.span12,
+  textarea.span12,
+  .uneditable-input.span12 {
+    width: 710px;
+  }
+  input.span11,
+  textarea.span11,
+  .uneditable-input.span11 {
+    width: 648px;
+  }
+  input.span10,
+  textarea.span10,
+  .uneditable-input.span10 {
+    width: 586px;
+  }
+  input.span9,
+  textarea.span9,
+  .uneditable-input.span9 {
+    width: 524px;
+  }
+  input.span8,
+  textarea.span8,
+  .uneditable-input.span8 {
+    width: 462px;
+  }
+  input.span7,
+  textarea.span7,
+  .uneditable-input.span7 {
+    width: 400px;
+  }
+  input.span6,
+  textarea.span6,
+  .uneditable-input.span6 {
+    width: 338px;
+  }
+  input.span5,
+  textarea.span5,
+  .uneditable-input.span5 {
+    width: 276px;
+  }
+  input.span4,
+  textarea.span4,
+  .uneditable-input.span4 {
+    width: 214px;
+  }
+  input.span3,
+  textarea.span3,
+  .uneditable-input.span3 {
+    width: 152px;
+  }
+  input.span2,
+  textarea.span2,
+  .uneditable-input.span2 {
+    width: 90px;
+  }
+  input.span1,
+  textarea.span1,
+  .uneditable-input.span1 {
+    width: 28px;
+  }
+}
+
+@media (max-width: 767px) {
+  body {
+    padding-right: 20px;
+    padding-left: 20px;
+  }
+  .navbar-fixed-top,
+  .navbar-fixed-bottom,
+  .navbar-static-top {
+    margin-right: -20px;
+    margin-left: -20px;
+  }
+  .container-fluid {
+    padding: 0;
+  }
+  .dl-horizontal dt {
+    float: none;
+    width: auto;
+    clear: none;
+    text-align: left;
+  }
+  .dl-horizontal dd {
+    margin-left: 0;
+  }
+  .container {
+    width: auto;
+  }
+  .row-fluid {
+    width: 100%;
+  }
+  .row,
+  .thumbnails {
+    margin-left: 0;
+  }
+  .thumbnails > li {
+    float: none;
+    margin-left: 0;
+  }
+  [class*="span"],
+  .uneditable-input[class*="span"],
+  .row-fluid [class*="span"] {
+    display: block;
+    float: none;
+    width: 100%;
+    margin-left: 0;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+  }
+  .span12,
+  .row-fluid .span12 {
+    width: 100%;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+  }
+  .row-fluid [class*="offset"]:first-child {
+    margin-left: 0;
+  }
+  .input-large,
+  .input-xlarge,
+  .input-xxlarge,
+  input[class*="span"],
+  select[class*="span"],
+  textarea[class*="span"],
+  .uneditable-input {
+    display: block;
+    width: 100%;
+    min-height: 30px;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+  }
+  .input-prepend input,
+  .input-append input,
+  .input-prepend input[class*="span"],
+  .input-append input[class*="span"] {
+    display: inline-block;
+    width: auto;
+  }
+  .controls-row [class*="span"] + [class*="span"] {
+    margin-left: 0;
+  }
+  .modal {
+    position: fixed;
+    top: 20px;
+    right: 20px;
+    left: 20px;
+    width: auto;
+    margin: 0;
+  }
+  .modal.fade {
+    top: -100px;
+  }
+  .modal.fade.in {
+    top: 20px;
+  }
+}
+
+@media (max-width: 480px) {
+  .nav-collapse {
+    -webkit-transform: translate3d(0, 0, 0);
+  }
+  .page-header h1 small {
+    display: block;
+    line-height: 20px;
+  }
+  input[type="checkbox"],
+  input[type="radio"] {
+    border: 1px solid #ccc;
+  }
+  .form-horizontal .control-label {
+    float: none;
+    width: auto;
+    padding-top: 0;
+    text-align: left;
+  }
+  .form-horizontal .controls {
+    margin-left: 0;
+  }
+  .form-horizontal .control-list {
+    padding-top: 0;
+  }
+  .form-horizontal .form-actions {
+    padding-right: 10px;
+    padding-left: 10px;
+  }
+  .media .pull-left,
+  .media .pull-right {
+    display: block;
+    float: none;
+    margin-bottom: 10px;
+  }
+  .media-object {
+    margin-right: 0;
+    margin-left: 0;
+  }
+  .modal {
+    top: 10px;
+    right: 10px;
+    left: 10px;
+  }
+  .modal-header .close {
+    padding: 10px;
+    margin: -10px;
+  }
+  .carousel-caption {
+    position: static;
+  }
+}
+
+@media (max-width: 979px) {
+  body {
+    padding-top: 0;
+  }
+  .navbar-fixed-top,
+  .navbar-fixed-bottom {
+    position: static;
+  }
+  .navbar-fixed-top {
+    margin-bottom: 20px;
+  }
+  .navbar-fixed-bottom {
+    margin-top: 20px;
+  }
+  .navbar-fixed-top .navbar-inner,
+  .navbar-fixed-bottom .navbar-inner {
+    padding: 5px;
+  }
+  .navbar .container {
+    width: auto;
+    padding: 0;
+  }
+  .navbar .brand {
+    padding-right: 10px;
+    padding-left: 10px;
+    margin: 0 0 0 -5px;
+  }
+  .nav-collapse {
+    clear: both;
+  }
+  .nav-collapse .nav {
+    float: none;
+    margin: 0 0 10px;
+  }
+  .nav-collapse .nav > li {
+    float: none;
+  }
+  .nav-collapse .nav > li > a {
+    margin-bottom: 2px;
+  }
+  .nav-collapse .nav > .divider-vertical {
+    display: none;
+  }
+  .nav-collapse .nav .nav-header {
+    color: #777777;
+    text-shadow: none;
+  }
+  .nav-collapse .nav > li > a,
+  .nav-collapse .dropdown-menu a {
+    padding: 9px 15px;
+    font-weight: bold;
+    color: #777777;
+    -webkit-border-radius: 3px;
+       -moz-border-radius: 3px;
+            border-radius: 3px;
+  }
+  .nav-collapse .btn {
+    padding: 4px 10px 4px;
+    font-weight: normal;
+    -webkit-border-radius: 4px;
+       -moz-border-radius: 4px;
+            border-radius: 4px;
+  }
+  .nav-collapse .dropdown-menu li + li a {
+    margin-bottom: 2px;
+  }
+  .nav-collapse .nav > li > a:hover,
+  .nav-collapse .nav > li > a:focus,
+  .nav-collapse .dropdown-menu a:hover,
+  .nav-collapse .dropdown-menu a:focus {
+    background-color: #f2f2f2;
+  }
+  .navbar-inverse .nav-collapse .nav > li > a,
+  .navbar-inverse .nav-collapse .dropdown-menu a {
+    color: #999999;
+  }
+  .navbar-inverse .nav-collapse .nav > li > a:hover,
+  .navbar-inverse .nav-collapse .nav > li > a:focus,
+  .navbar-inverse .nav-collapse .dropdown-menu a:hover,
+  .navbar-inverse .nav-collapse .dropdown-menu a:focus {
+    background-color: #111111;
+  }
+  .nav-collapse.in .btn-group {
+    padding: 0;
+    margin-top: 5px;
+  }
+  .nav-collapse .dropdown-menu {
+    position: static;
+    top: auto;
+    left: auto;
+    display: none;
+    float: none;
+    max-width: none;
+    padding: 0;
+    margin: 0 15px;
+    background-color: transparent;
+    border: none;
+    -webkit-border-radius: 0;
+       -moz-border-radius: 0;
+            border-radius: 0;
+    -webkit-box-shadow: none;
+       -moz-box-shadow: none;
+            box-shadow: none;
+  }
+  .nav-collapse .open > .dropdown-menu {
+    display: block;
+  }
+  .nav-collapse .dropdown-menu:before,
+  .nav-collapse .dropdown-menu:after {
+    display: none;
+  }
+  .nav-collapse .dropdown-menu .divider {
+    display: none;
+  }
+  .nav-collapse .nav > li > .dropdown-menu:before,
+  .nav-collapse .nav > li > .dropdown-menu:after {
+    display: none;
+  }
+  .nav-collapse .navbar-form,
+  .nav-collapse .navbar-search {
+    float: none;
+    padding: 10px 15px;
+    margin: 10px 0;
+    border-top: 1px solid #f2f2f2;
+    border-bottom: 1px solid #f2f2f2;
+    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+       -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+  }
+  .navbar-inverse .nav-collapse .navbar-form,
+  .navbar-inverse .nav-collapse .navbar-search {
+    border-top-color: #111111;
+    border-bottom-color: #111111;
+  }
+  .navbar .nav-collapse .nav.pull-right {
+    float: none;
+    margin-left: 0;
+  }
+  .nav-collapse,
+  .nav-collapse.collapse {
+    height: 0;
+    overflow: hidden;
+  }
+  .navbar .btn-navbar {
+    display: block;
+  }
+  .navbar-static .navbar-inner {
+    padding-right: 10px;
+    padding-left: 10px;
+  }
+}
+
+@media (min-width: 980px) {
+  .nav-collapse.collapse {
+    height: auto !important;
+    overflow: visible !important;
+  }
+}
diff --git a/releng/src/site/resources/css/bootstrap-responsive.min.css b/releng/src/site/resources/css/bootstrap-responsive.min.css
new file mode 100644
index 0000000..96a435b
--- /dev/null
+++ b/releng/src/site/resources/css/bootstrap-responsive.min.css
@@ -0,0 +1,9 @@
+/*!
+ * Bootstrap Responsive v2.3.2
+ *
+ * Copyright 2013 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world by @mdo and @fat.
+ */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:inherit!important}.hidden-print{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}
diff --git a/releng/src/site/resources/css/bootstrap.css b/releng/src/site/resources/css/bootstrap.css
new file mode 100644
index 0000000..d1dad52
--- /dev/null
+++ b/releng/src/site/resources/css/bootstrap.css
@@ -0,0 +1,6827 @@
+@import url('//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700');
+
+/*!
+ * Bootstrap v2.3.2
+ *
+ * Copyright 2013 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world by @mdo and @fat.
+ */
+
+.clearfix {
+  *zoom: 1;
+}
+
+.clearfix:before,
+.clearfix:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.clearfix:after {
+  clear: both;
+}
+
+.hide-text {
+  font: 0/0 a;
+  color: transparent;
+  text-shadow: none;
+  background-color: transparent;
+  border: 0;
+}
+
+.input-block-level {
+  display: block;
+  width: 100%;
+  min-height: 30px;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section {
+  display: block;
+}
+
+audio,
+canvas,
+video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+audio:not([controls]) {
+  display: none;
+}
+
+html {
+  font-size: 100%;
+  -webkit-text-size-adjust: 100%;
+      -ms-text-size-adjust: 100%;
+}
+
+a:focus {
+  outline: thin dotted #333;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+
+a:hover,
+a:active {
+  outline: 0;
+}
+
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+
+sup {
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+img {
+  width: auto\9;
+  height: auto;
+  max-width: 100%;
+  vertical-align: middle;
+  border: 0;
+  -ms-interpolation-mode: bicubic;
+}
+
+#map_canvas img,
+.google-maps img {
+  max-width: none;
+}
+
+button,
+input,
+select,
+textarea {
+  margin: 0;
+  font-size: 100%;
+  vertical-align: middle;
+}
+
+button,
+input {
+  *overflow: visible;
+  line-height: normal;
+}
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  padding: 0;
+  border: 0;
+}
+
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  cursor: pointer;
+  -webkit-appearance: button;
+}
+
+label,
+select,
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"],
+input[type="radio"],
+input[type="checkbox"] {
+  cursor: pointer;
+}
+
+input[type="search"] {
+  -webkit-box-sizing: content-box;
+     -moz-box-sizing: content-box;
+          box-sizing: content-box;
+  -webkit-appearance: textfield;
+}
+
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button {
+  -webkit-appearance: none;
+}
+
+textarea {
+  overflow: auto;
+  vertical-align: top;
+}
+
+@media print {
+  * {
+    color: #000 !important;
+    text-shadow: none !important;
+    background: transparent !important;
+    box-shadow: none !important;
+  }
+  a,
+  a:visited {
+    text-decoration: underline;
+  }
+  a[href]:after {
+    content: " (" attr(href) ")";
+  }
+  abbr[title]:after {
+    content: " (" attr(title) ")";
+  }
+  .ir a:after,
+  a[href^="javascript:"]:after,
+  a[href^="#"]:after {
+    content: "";
+  }
+  pre,
+  blockquote {
+    border: 1px solid #999;
+    page-break-inside: avoid;
+  }
+  thead {
+    display: table-header-group;
+  }
+  tr,
+  img {
+    page-break-inside: avoid;
+  }
+  img {
+    max-width: 100% !important;
+  }
+  @page  {
+    margin: 0.5cm;
+  }
+  p,
+  h2,
+  h3 {
+    orphans: 3;
+    widows: 3;
+  }
+  h2,
+  h3 {
+    page-break-after: avoid;
+  }
+}
+
+body {
+  margin: 0;
+  font-family: "Open Sans", Calibri, Candara, Arial, sans-serif;
+  font-size: 14px;
+  line-height: 20px;
+  color: #555555;
+  background-color: #ffffff;
+}
+
+a {
+  color: #007fff;
+  text-decoration: none;
+}
+
+a:hover,
+a:focus {
+  color: #0066cc;
+  text-decoration: underline;
+}
+
+.img-rounded {
+  -webkit-border-radius: 6px;
+     -moz-border-radius: 6px;
+          border-radius: 6px;
+}
+
+.img-polaroid {
+  padding: 4px;
+  background-color: #fff;
+  border: 1px solid #ccc;
+  border: 1px solid rgba(0, 0, 0, 0.2);
+  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+     -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+}
+
+.img-circle {
+  -webkit-border-radius: 500px;
+     -moz-border-radius: 500px;
+          border-radius: 500px;
+}
+
+.row {
+  margin-left: -20px;
+  *zoom: 1;
+}
+
+.row:before,
+.row:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.row:after {
+  clear: both;
+}
+
+[class*="span"] {
+  float: left;
+  min-height: 1px;
+  margin-left: 20px;
+}
+
+.container,
+.navbar-static-top .container,
+.navbar-fixed-top .container,
+.navbar-fixed-bottom .container {
+  width: 940px;
+}
+
+.span12 {
+  width: 940px;
+}
+
+.span11 {
+  width: 860px;
+}
+
+.span10 {
+  width: 780px;
+}
+
+.span9 {
+  width: 700px;
+}
+
+.span8 {
+  width: 620px;
+}
+
+.span7 {
+  width: 540px;
+}
+
+.span6 {
+  width: 460px;
+}
+
+.span5 {
+  width: 380px;
+}
+
+.span4 {
+  width: 300px;
+}
+
+.span3 {
+  width: 220px;
+}
+
+.span2 {
+  width: 140px;
+}
+
+.span1 {
+  width: 60px;
+}
+
+.offset12 {
+  margin-left: 980px;
+}
+
+.offset11 {
+  margin-left: 900px;
+}
+
+.offset10 {
+  margin-left: 820px;
+}
+
+.offset9 {
+  margin-left: 740px;
+}
+
+.offset8 {
+  margin-left: 660px;
+}
+
+.offset7 {
+  margin-left: 580px;
+}
+
+.offset6 {
+  margin-left: 500px;
+}
+
+.offset5 {
+  margin-left: 420px;
+}
+
+.offset4 {
+  margin-left: 340px;
+}
+
+.offset3 {
+  margin-left: 260px;
+}
+
+.offset2 {
+  margin-left: 180px;
+}
+
+.offset1 {
+  margin-left: 100px;
+}
+
+.row-fluid {
+  width: 100%;
+  *zoom: 1;
+}
+
+.row-fluid:before,
+.row-fluid:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.row-fluid:after {
+  clear: both;
+}
+
+.row-fluid [class*="span"] {
+  display: block;
+  float: left;
+  width: 100%;
+  min-height: 30px;
+  margin-left: 2.127659574468085%;
+  *margin-left: 2.074468085106383%;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+.row-fluid [class*="span"]:first-child {
+  margin-left: 0;
+}
+
+.row-fluid .controls-row [class*="span"] + [class*="span"] {
+  margin-left: 2.127659574468085%;
+}
+
+.row-fluid .span12 {
+  width: 100%;
+  *width: 99.94680851063829%;
+}
+
+.row-fluid .span11 {
+  width: 91.48936170212765%;
+  *width: 91.43617021276594%;
+}
+
+.row-fluid .span10 {
+  width: 82.97872340425532%;
+  *width: 82.92553191489361%;
+}
+
+.row-fluid .span9 {
+  width: 74.46808510638297%;
+  *width: 74.41489361702126%;
+}
+
+.row-fluid .span8 {
+  width: 65.95744680851064%;
+  *width: 65.90425531914893%;
+}
+
+.row-fluid .span7 {
+  width: 57.44680851063829%;
+  *width: 57.39361702127659%;
+}
+
+.row-fluid .span6 {
+  width: 48.93617021276595%;
+  *width: 48.88297872340425%;
+}
+
+.row-fluid .span5 {
+  width: 40.42553191489362%;
+  *width: 40.37234042553192%;
+}
+
+.row-fluid .span4 {
+  width: 31.914893617021278%;
+  *width: 31.861702127659576%;
+}
+
+.row-fluid .span3 {
+  width: 23.404255319148934%;
+  *width: 23.351063829787233%;
+}
+
+.row-fluid .span2 {
+  width: 14.893617021276595%;
+  *width: 14.840425531914894%;
+}
+
+.row-fluid .span1 {
+  width: 6.382978723404255%;
+  *width: 6.329787234042553%;
+}
+
+.row-fluid .offset12 {
+  margin-left: 104.25531914893617%;
+  *margin-left: 104.14893617021275%;
+}
+
+.row-fluid .offset12:first-child {
+  margin-left: 102.12765957446808%;
+  *margin-left: 102.02127659574467%;
+}
+
+.row-fluid .offset11 {
+  margin-left: 95.74468085106382%;
+  *margin-left: 95.6382978723404%;
+}
+
+.row-fluid .offset11:first-child {
+  margin-left: 93.61702127659574%;
+  *margin-left: 93.51063829787232%;
+}
+
+.row-fluid .offset10 {
+  margin-left: 87.23404255319149%;
+  *margin-left: 87.12765957446807%;
+}
+
+.row-fluid .offset10:first-child {
+  margin-left: 85.1063829787234%;
+  *margin-left: 84.99999999999999%;
+}
+
+.row-fluid .offset9 {
+  margin-left: 78.72340425531914%;
+  *margin-left: 78.61702127659572%;
+}
+
+.row-fluid .offset9:first-child {
+  margin-left: 76.59574468085106%;
+  *margin-left: 76.48936170212764%;
+}
+
+.row-fluid .offset8 {
+  margin-left: 70.2127659574468%;
+  *margin-left: 70.10638297872339%;
+}
+
+.row-fluid .offset8:first-child {
+  margin-left: 68.08510638297872%;
+  *margin-left: 67.9787234042553%;
+}
+
+.row-fluid .offset7 {
+  margin-left: 61.70212765957446%;
+  *margin-left: 61.59574468085106%;
+}
+
+.row-fluid .offset7:first-child {
+  margin-left: 59.574468085106375%;
+  *margin-left: 59.46808510638297%;
+}
+
+.row-fluid .offset6 {
+  margin-left: 53.191489361702125%;
+  *margin-left: 53.085106382978715%;
+}
+
+.row-fluid .offset6:first-child {
+  margin-left: 51.063829787234035%;
+  *margin-left: 50.95744680851063%;
+}
+
+.row-fluid .offset5 {
+  margin-left: 44.68085106382979%;
+  *margin-left: 44.57446808510638%;
+}
+
+.row-fluid .offset5:first-child {
+  margin-left: 42.5531914893617%;
+  *margin-left: 42.4468085106383%;
+}
+
+.row-fluid .offset4 {
+  margin-left: 36.170212765957444%;
+  *margin-left: 36.06382978723405%;
+}
+
+.row-fluid .offset4:first-child {
+  margin-left: 34.04255319148936%;
+  *margin-left: 33.93617021276596%;
+}
+
+.row-fluid .offset3 {
+  margin-left: 27.659574468085104%;
+  *margin-left: 27.5531914893617%;
+}
+
+.row-fluid .offset3:first-child {
+  margin-left: 25.53191489361702%;
+  *margin-left: 25.425531914893618%;
+}
+
+.row-fluid .offset2 {
+  margin-left: 19.148936170212764%;
+  *margin-left: 19.04255319148936%;
+}
+
+.row-fluid .offset2:first-child {
+  margin-left: 17.02127659574468%;
+  *margin-left: 16.914893617021278%;
+}
+
+.row-fluid .offset1 {
+  margin-left: 10.638297872340425%;
+  *margin-left: 10.53191489361702%;
+}
+
+.row-fluid .offset1:first-child {
+  margin-left: 8.51063829787234%;
+  *margin-left: 8.404255319148938%;
+}
+
+[class*="span"].hide,
+.row-fluid [class*="span"].hide {
+  display: none;
+}
+
+[class*="span"].pull-right,
+.row-fluid [class*="span"].pull-right {
+  float: right;
+}
+
+.container {
+  margin-right: auto;
+  margin-left: auto;
+  *zoom: 1;
+}
+
+.container:before,
+.container:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.container:after {
+  clear: both;
+}
+
+.container-fluid {
+  padding-right: 20px;
+  padding-left: 20px;
+  *zoom: 1;
+}
+
+.container-fluid:before,
+.container-fluid:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.container-fluid:after {
+  clear: both;
+}
+
+p {
+  margin: 0 0 10px;
+}
+
+.lead {
+  margin-bottom: 20px;
+  font-size: 21px;
+  font-weight: 200;
+  line-height: 30px;
+}
+
+small {
+  font-size: 85%;
+}
+
+strong {
+  font-weight: bold;
+}
+
+em {
+  font-style: italic;
+}
+
+cite {
+  font-style: normal;
+}
+
+.muted {
+  color: #dfdfdf;
+}
+
+a.muted:hover,
+a.muted:focus {
+  color: #c6c6c6;
+}
+
+.text-warning {
+  color: #ffffff;
+}
+
+a.text-warning:hover,
+a.text-warning:focus {
+  color: #e6e6e6;
+}
+
+.text-error {
+  color: #ffffff;
+}
+
+a.text-error:hover,
+a.text-error:focus {
+  color: #e6e6e6;
+}
+
+.text-info {
+  color: #ffffff;
+}
+
+a.text-info:hover,
+a.text-info:focus {
+  color: #e6e6e6;
+}
+
+.text-success {
+  color: #ffffff;
+}
+
+a.text-success:hover,
+a.text-success:focus {
+  color: #e6e6e6;
+}
+
+.text-left {
+  text-align: left;
+}
+
+.text-right {
+  text-align: right;
+}
+
+.text-center {
+  text-align: center;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  margin: 10px 0;
+  font-family: inherit;
+  font-weight: 300;
+  line-height: 20px;
+  color: #080808;
+  text-rendering: optimizelegibility;
+}
+
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small {
+  font-weight: normal;
+  line-height: 1;
+  color: #dfdfdf;
+}
+
+h1,
+h2,
+h3 {
+  line-height: 40px;
+}
+
+h1 {
+  font-size: 38.5px;
+}
+
+h2 {
+  font-size: 31.5px;
+}
+
+h3 {
+  font-size: 24.5px;
+}
+
+h4 {
+  font-size: 17.5px;
+}
+
+h5 {
+  font-size: 14px;
+}
+
+h6 {
+  font-size: 11.9px;
+}
+
+h1 small {
+  font-size: 24.5px;
+}
+
+h2 small {
+  font-size: 17.5px;
+}
+
+h3 small {
+  font-size: 14px;
+}
+
+h4 small {
+  font-size: 14px;
+}
+
+.page-header {
+  padding-bottom: 9px;
+  margin: 20px 0 30px;
+  border-bottom: 1px solid #eeeeee;
+}
+
+ul,
+ol {
+  padding: 0;
+  margin: 0 0 10px 25px;
+}
+
+ul ul,
+ul ol,
+ol ol,
+ol ul {
+  margin-bottom: 0;
+}
+
+li {
+  line-height: 20px;
+}
+
+ul.unstyled,
+ol.unstyled {
+  margin-left: 0;
+  list-style: none;
+}
+
+ul.inline,
+ol.inline {
+  margin-left: 0;
+  list-style: none;
+}
+
+ul.inline > li,
+ol.inline > li {
+  display: inline-block;
+  *display: inline;
+  padding-right: 5px;
+  padding-left: 5px;
+  *zoom: 1;
+}
+
+dl {
+  margin-bottom: 20px;
+}
+
+dt,
+dd {
+  line-height: 20px;
+}
+
+dt {
+  font-weight: bold;
+}
+
+dd {
+  margin-left: 10px;
+}
+
+.dl-horizontal {
+  *zoom: 1;
+}
+
+.dl-horizontal:before,
+.dl-horizontal:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.dl-horizontal:after {
+  clear: both;
+}
+
+.dl-horizontal dt {
+  float: left;
+  width: 160px;
+  overflow: hidden;
+  clear: left;
+  text-align: right;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+
+.dl-horizontal dd {
+  margin-left: 180px;
+}
+
+hr {
+  margin: 20px 0;
+  border: 0;
+  border-top: 1px solid #eeeeee;
+  border-bottom: 1px solid #ffffff;
+}
+
+abbr[title],
+abbr[data-original-title] {
+  cursor: help;
+  border-bottom: 1px dotted #dfdfdf;
+}
+
+abbr.initialism {
+  font-size: 90%;
+  text-transform: uppercase;
+}
+
+blockquote {
+  padding: 0 0 0 15px;
+  margin: 0 0 20px;
+  border-left: 5px solid #eeeeee;
+}
+
+blockquote p {
+  margin-bottom: 0;
+  font-size: 17.5px;
+  font-weight: 300;
+  line-height: 1.25;
+}
+
+blockquote small {
+  display: block;
+  line-height: 20px;
+  color: #dfdfdf;
+}
+
+blockquote small:before {
+  content: '\2014 \00A0';
+}
+
+blockquote.pull-right {
+  float: right;
+  padding-right: 15px;
+  padding-left: 0;
+  border-right: 5px solid #eeeeee;
+  border-left: 0;
+}
+
+blockquote.pull-right p,
+blockquote.pull-right small {
+  text-align: right;
+}
+
+blockquote.pull-right small:before {
+  content: '';
+}
+
+blockquote.pull-right small:after {
+  content: '\00A0 \2014';
+}
+
+q:before,
+q:after,
+blockquote:before,
+blockquote:after {
+  content: "";
+}
+
+address {
+  display: block;
+  margin-bottom: 20px;
+  font-style: normal;
+  line-height: 20px;
+}
+
+code,
+pre {
+  padding: 0 3px 2px;
+  font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
+  font-size: 12px;
+  color: #999999;
+  -webkit-border-radius: 3px;
+     -moz-border-radius: 3px;
+          border-radius: 3px;
+}
+
+code {
+  padding: 2px 4px;
+  color: #d14;
+  white-space: nowrap;
+  background-color: #f7f7f9;
+  border: 1px solid #e1e1e8;
+}
+
+pre {
+  display: block;
+  padding: 9.5px;
+  margin: 0 0 10px;
+  font-size: 13px;
+  line-height: 20px;
+  word-break: break-all;
+  word-wrap: break-word;
+  white-space: pre;
+  white-space: pre-wrap;
+  background-color: #f5f5f5;
+  border: 1px solid #ccc;
+  border: 1px solid rgba(0, 0, 0, 0.15);
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+pre.prettyprint {
+  margin-bottom: 20px;
+}
+
+pre code {
+  padding: 0;
+  color: inherit;
+  white-space: pre;
+  white-space: pre-wrap;
+  background-color: transparent;
+  border: 0;
+}
+
+.pre-scrollable {
+  max-height: 340px;
+  overflow-y: scroll;
+}
+
+form {
+  margin: 0 0 20px;
+}
+
+fieldset {
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+
+legend {
+  display: block;
+  width: 100%;
+  padding: 0;
+  margin-bottom: 20px;
+  font-size: 21px;
+  line-height: 40px;
+  color: #999999;
+  border: 0;
+  border-bottom: 1px solid #e5e5e5;
+}
+
+legend small {
+  font-size: 15px;
+  color: #dfdfdf;
+}
+
+label,
+input,
+button,
+select,
+textarea {
+  font-size: 14px;
+  font-weight: normal;
+  line-height: 20px;
+}
+
+input,
+button,
+select,
+textarea {
+  font-family: "Open Sans", Calibri, Candara, Arial, sans-serif;
+}
+
+label {
+  display: block;
+  margin-bottom: 5px;
+}
+
+select,
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="date"],
+input[type="month"],
+input[type="time"],
+input[type="week"],
+input[type="number"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="tel"],
+input[type="color"],
+.uneditable-input {
+  display: inline-block;
+  height: 20px;
+  padding: 4px 6px;
+  margin-bottom: 10px;
+  font-size: 14px;
+  line-height: 20px;
+  color: #bbbbbb;
+  vertical-align: middle;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+input,
+textarea,
+.uneditable-input {
+  width: 206px;
+}
+
+textarea {
+  height: auto;
+}
+
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="date"],
+input[type="month"],
+input[type="time"],
+input[type="week"],
+input[type="number"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="tel"],
+input[type="color"],
+.uneditable-input {
+  background-color: #ffffff;
+  border: 1px solid #bbbbbb;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
+     -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
+       -o-transition: border linear 0.2s, box-shadow linear 0.2s;
+          transition: border linear 0.2s, box-shadow linear 0.2s;
+}
+
+textarea:focus,
+input[type="text"]:focus,
+input[type="password"]:focus,
+input[type="datetime"]:focus,
+input[type="datetime-local"]:focus,
+input[type="date"]:focus,
+input[type="month"]:focus,
+input[type="time"]:focus,
+input[type="week"]:focus,
+input[type="number"]:focus,
+input[type="email"]:focus,
+input[type="url"]:focus,
+input[type="search"]:focus,
+input[type="tel"]:focus,
+input[type="color"]:focus,
+.uneditable-input:focus {
+  border-color: rgba(82, 168, 236, 0.8);
+  outline: 0;
+  outline: thin dotted \9;
+  /* IE6-9 */
+
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+  margin: 4px 0 0;
+  margin-top: 1px \9;
+  *margin-top: 0;
+  line-height: normal;
+}
+
+input[type="file"],
+input[type="image"],
+input[type="submit"],
+input[type="reset"],
+input[type="button"],
+input[type="radio"],
+input[type="checkbox"] {
+  width: auto;
+}
+
+select,
+input[type="file"] {
+  height: 30px;
+  /* In IE7, the height of the select element cannot be changed by height, only font-size */
+
+  *margin-top: 4px;
+  /* For IE7, add top margin to align select with labels */
+
+  line-height: 30px;
+}
+
+select {
+  width: 220px;
+  background-color: #ffffff;
+  border: 1px solid #bbbbbb;
+}
+
+select[multiple],
+select[size] {
+  height: auto;
+}
+
+select:focus,
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+  outline: thin dotted #333;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+
+.uneditable-input,
+.uneditable-textarea {
+  color: #dfdfdf;
+  cursor: not-allowed;
+  background-color: #fcfcfc;
+  border-color: #bbbbbb;
+  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+}
+
+.uneditable-input {
+  overflow: hidden;
+  white-space: nowrap;
+}
+
+.uneditable-textarea {
+  width: auto;
+  height: auto;
+}
+
+input:-moz-placeholder,
+textarea:-moz-placeholder {
+  color: #bbbbbb;
+}
+
+input:-ms-input-placeholder,
+textarea:-ms-input-placeholder {
+  color: #bbbbbb;
+}
+
+input::-webkit-input-placeholder,
+textarea::-webkit-input-placeholder {
+  color: #bbbbbb;
+}
+
+.radio,
+.checkbox {
+  min-height: 20px;
+  padding-left: 20px;
+}
+
+.radio input[type="radio"],
+.checkbox input[type="checkbox"] {
+  float: left;
+  margin-left: -20px;
+}
+
+.controls > .radio:first-child,
+.controls > .checkbox:first-child {
+  padding-top: 5px;
+}
+
+.radio.inline,
+.checkbox.inline {
+  display: inline-block;
+  padding-top: 5px;
+  margin-bottom: 0;
+  vertical-align: middle;
+}
+
+.radio.inline + .radio.inline,
+.checkbox.inline + .checkbox.inline {
+  margin-left: 10px;
+}
+
+.input-mini {
+  width: 60px;
+}
+
+.input-small {
+  width: 90px;
+}
+
+.input-medium {
+  width: 150px;
+}
+
+.input-large {
+  width: 210px;
+}
+
+.input-xlarge {
+  width: 270px;
+}
+
+.input-xxlarge {
+  width: 530px;
+}
+
+input[class*="span"],
+select[class*="span"],
+textarea[class*="span"],
+.uneditable-input[class*="span"],
+.row-fluid input[class*="span"],
+.row-fluid select[class*="span"],
+.row-fluid textarea[class*="span"],
+.row-fluid .uneditable-input[class*="span"] {
+  float: none;
+  margin-left: 0;
+}
+
+.input-append input[class*="span"],
+.input-append .uneditable-input[class*="span"],
+.input-prepend input[class*="span"],
+.input-prepend .uneditable-input[class*="span"],
+.row-fluid input[class*="span"],
+.row-fluid select[class*="span"],
+.row-fluid textarea[class*="span"],
+.row-fluid .uneditable-input[class*="span"],
+.row-fluid .input-prepend [class*="span"],
+.row-fluid .input-append [class*="span"] {
+  display: inline-block;
+}
+
+input,
+textarea,
+.uneditable-input {
+  margin-left: 0;
+}
+
+.controls-row [class*="span"] + [class*="span"] {
+  margin-left: 20px;
+}
+
+input.span12,
+textarea.span12,
+.uneditable-input.span12 {
+  width: 926px;
+}
+
+input.span11,
+textarea.span11,
+.uneditable-input.span11 {
+  width: 846px;
+}
+
+input.span10,
+textarea.span10,
+.uneditable-input.span10 {
+  width: 766px;
+}
+
+input.span9,
+textarea.span9,
+.uneditable-input.span9 {
+  width: 686px;
+}
+
+input.span8,
+textarea.span8,
+.uneditable-input.span8 {
+  width: 606px;
+}
+
+input.span7,
+textarea.span7,
+.uneditable-input.span7 {
+  width: 526px;
+}
+
+input.span6,
+textarea.span6,
+.uneditable-input.span6 {
+  width: 446px;
+}
+
+input.span5,
+textarea.span5,
+.uneditable-input.span5 {
+  width: 366px;
+}
+
+input.span4,
+textarea.span4,
+.uneditable-input.span4 {
+  width: 286px;
+}
+
+input.span3,
+textarea.span3,
+.uneditable-input.span3 {
+  width: 206px;
+}
+
+input.span2,
+textarea.span2,
+.uneditable-input.span2 {
+  width: 126px;
+}
+
+input.span1,
+textarea.span1,
+.uneditable-input.span1 {
+  width: 46px;
+}
+
+.controls-row {
+  *zoom: 1;
+}
+
+.controls-row:before,
+.controls-row:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.controls-row:after {
+  clear: both;
+}
+
+.controls-row [class*="span"],
+.row-fluid .controls-row [class*="span"] {
+  float: left;
+}
+
+.controls-row .checkbox[class*="span"],
+.controls-row .radio[class*="span"] {
+  padding-top: 5px;
+}
+
+input[disabled],
+select[disabled],
+textarea[disabled],
+input[readonly],
+select[readonly],
+textarea[readonly] {
+  cursor: not-allowed;
+  background-color: #eeeeee;
+}
+
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"][readonly],
+input[type="checkbox"][readonly] {
+  background-color: transparent;
+}
+
+.control-group.warning .control-label,
+.control-group.warning .help-block,
+.control-group.warning .help-inline {
+  color: #ffffff;
+}
+
+.control-group.warning .checkbox,
+.control-group.warning .radio,
+.control-group.warning input,
+.control-group.warning select,
+.control-group.warning textarea {
+  color: #ffffff;
+}
+
+.control-group.warning input,
+.control-group.warning select,
+.control-group.warning textarea {
+  border-color: #ffffff;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+
+.control-group.warning input:focus,
+.control-group.warning select:focus,
+.control-group.warning textarea:focus {
+  border-color: #e6e6e6;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
+}
+
+.control-group.warning .input-prepend .add-on,
+.control-group.warning .input-append .add-on {
+  color: #ffffff;
+  background-color: #ff7518;
+  border-color: #ffffff;
+}
+
+.control-group.error .control-label,
+.control-group.error .help-block,
+.control-group.error .help-inline {
+  color: #ffffff;
+}
+
+.control-group.error .checkbox,
+.control-group.error .radio,
+.control-group.error input,
+.control-group.error select,
+.control-group.error textarea {
+  color: #ffffff;
+}
+
+.control-group.error input,
+.control-group.error select,
+.control-group.error textarea {
+  border-color: #ffffff;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+
+.control-group.error input:focus,
+.control-group.error select:focus,
+.control-group.error textarea:focus {
+  border-color: #e6e6e6;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
+}
+
+.control-group.error .input-prepend .add-on,
+.control-group.error .input-append .add-on {
+  color: #ffffff;
+  background-color: #ff0039;
+  border-color: #ffffff;
+}
+
+.control-group.success .control-label,
+.control-group.success .help-block,
+.control-group.success .help-inline {
+  color: #ffffff;
+}
+
+.control-group.success .checkbox,
+.control-group.success .radio,
+.control-group.success input,
+.control-group.success select,
+.control-group.success textarea {
+  color: #ffffff;
+}
+
+.control-group.success input,
+.control-group.success select,
+.control-group.success textarea {
+  border-color: #ffffff;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+
+.control-group.success input:focus,
+.control-group.success select:focus,
+.control-group.success textarea:focus {
+  border-color: #e6e6e6;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
+}
+
+.control-group.success .input-prepend .add-on,
+.control-group.success .input-append .add-on {
+  color: #ffffff;
+  background-color: #3fb618;
+  border-color: #ffffff;
+}
+
+.control-group.info .control-label,
+.control-group.info .help-block,
+.control-group.info .help-inline {
+  color: #ffffff;
+}
+
+.control-group.info .checkbox,
+.control-group.info .radio,
+.control-group.info input,
+.control-group.info select,
+.control-group.info textarea {
+  color: #ffffff;
+}
+
+.control-group.info input,
+.control-group.info select,
+.control-group.info textarea {
+  border-color: #ffffff;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+
+.control-group.info input:focus,
+.control-group.info select:focus,
+.control-group.info textarea:focus {
+  border-color: #e6e6e6;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
+}
+
+.control-group.info .input-prepend .add-on,
+.control-group.info .input-append .add-on {
+  color: #ffffff;
+  background-color: #9954bb;
+  border-color: #ffffff;
+}
+
+input:focus:invalid,
+textarea:focus:invalid,
+select:focus:invalid {
+  color: #b94a48;
+  border-color: #ee5f5b;
+}
+
+input:focus:invalid:focus,
+textarea:focus:invalid:focus,
+select:focus:invalid:focus {
+  border-color: #e9322d;
+  -webkit-box-shadow: 0 0 6px #f8b9b7;
+     -moz-box-shadow: 0 0 6px #f8b9b7;
+          box-shadow: 0 0 6px #f8b9b7;
+}
+
+.form-actions {
+  padding: 19px 20px 20px;
+  margin-top: 20px;
+  margin-bottom: 20px;
+  background-color: #f5f5f5;
+  border-top: 1px solid #e5e5e5;
+  *zoom: 1;
+}
+
+.form-actions:before,
+.form-actions:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.form-actions:after {
+  clear: both;
+}
+
+.help-block,
+.help-inline {
+  color: #7b7b7b;
+}
+
+.help-block {
+  display: block;
+  margin-bottom: 10px;
+}
+
+.help-inline {
+  display: inline-block;
+  *display: inline;
+  padding-left: 5px;
+  vertical-align: middle;
+  *zoom: 1;
+}
+
+.input-append,
+.input-prepend {
+  display: inline-block;
+  margin-bottom: 10px;
+  font-size: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+}
+
+.input-append input,
+.input-prepend input,
+.input-append select,
+.input-prepend select,
+.input-append .uneditable-input,
+.input-prepend .uneditable-input,
+.input-append .dropdown-menu,
+.input-prepend .dropdown-menu,
+.input-append .popover,
+.input-prepend .popover {
+  font-size: 14px;
+}
+
+.input-append input,
+.input-prepend input,
+.input-append select,
+.input-prepend select,
+.input-append .uneditable-input,
+.input-prepend .uneditable-input {
+  position: relative;
+  margin-bottom: 0;
+  *margin-left: 0;
+  vertical-align: top;
+  -webkit-border-radius: 0 0 0px 0;
+     -moz-border-radius: 0 0 0px 0;
+          border-radius: 0 0 0px 0;
+}
+
+.input-append input:focus,
+.input-prepend input:focus,
+.input-append select:focus,
+.input-prepend select:focus,
+.input-append .uneditable-input:focus,
+.input-prepend .uneditable-input:focus {
+  z-index: 2;
+}
+
+.input-append .add-on,
+.input-prepend .add-on {
+  display: inline-block;
+  width: auto;
+  height: 20px;
+  min-width: 16px;
+  padding: 4px 5px;
+  font-size: 14px;
+  font-weight: normal;
+  line-height: 20px;
+  text-align: center;
+  text-shadow: 0 1px 0 #ffffff;
+  background-color: #eeeeee;
+  border: 1px solid #ccc;
+}
+
+.input-append .add-on,
+.input-prepend .add-on,
+.input-append .btn,
+.input-prepend .btn,
+.input-append .btn-group > .dropdown-toggle,
+.input-prepend .btn-group > .dropdown-toggle {
+  vertical-align: top;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.input-append .active,
+.input-prepend .active {
+  background-color: #96ed7a;
+  border-color: #3fb618;
+}
+
+.input-prepend .add-on,
+.input-prepend .btn {
+  margin-right: -1px;
+}
+
+.input-prepend .add-on:first-child,
+.input-prepend .btn:first-child {
+  -webkit-border-radius: 0 0 0 0px;
+     -moz-border-radius: 0 0 0 0px;
+          border-radius: 0 0 0 0px;
+}
+
+.input-append input,
+.input-append select,
+.input-append .uneditable-input {
+  -webkit-border-radius: 0 0 0 0px;
+     -moz-border-radius: 0 0 0 0px;
+          border-radius: 0 0 0 0px;
+}
+
+.input-append input + .btn-group .btn:last-child,
+.input-append select + .btn-group .btn:last-child,
+.input-append .uneditable-input + .btn-group .btn:last-child {
+  -webkit-border-radius: 0 0 0px 0;
+     -moz-border-radius: 0 0 0px 0;
+          border-radius: 0 0 0px 0;
+}
+
+.input-append .add-on,
+.input-append .btn,
+.input-append .btn-group {
+  margin-left: -1px;
+}
+
+.input-append .add-on:last-child,
+.input-append .btn:last-child,
+.input-append .btn-group:last-child > .dropdown-toggle {
+  -webkit-border-radius: 0 0 0px 0;
+     -moz-border-radius: 0 0 0px 0;
+          border-radius: 0 0 0px 0;
+}
+
+.input-prepend.input-append input,
+.input-prepend.input-append select,
+.input-prepend.input-append .uneditable-input {
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.input-prepend.input-append input + .btn-group .btn,
+.input-prepend.input-append select + .btn-group .btn,
+.input-prepend.input-append .uneditable-input + .btn-group .btn {
+  -webkit-border-radius: 0 0 0px 0;
+     -moz-border-radius: 0 0 0px 0;
+          border-radius: 0 0 0px 0;
+}
+
+.input-prepend.input-append .add-on:first-child,
+.input-prepend.input-append .btn:first-child {
+  margin-right: -1px;
+  -webkit-border-radius: 0 0 0 0px;
+     -moz-border-radius: 0 0 0 0px;
+          border-radius: 0 0 0 0px;
+}
+
+.input-prepend.input-append .add-on:last-child,
+.input-prepend.input-append .btn:last-child {
+  margin-left: -1px;
+  -webkit-border-radius: 0 0 0px 0;
+     -moz-border-radius: 0 0 0px 0;
+          border-radius: 0 0 0px 0;
+}
+
+.input-prepend.input-append .btn-group:first-child {
+  margin-left: 0;
+}
+
+input.search-query {
+  padding-right: 14px;
+  padding-right: 4px \9;
+  padding-left: 14px;
+  padding-left: 4px \9;
+  /* IE7-8 doesn't have border-radius, so don't indent the padding */
+
+  margin-bottom: 0;
+  -webkit-border-radius: 15px;
+     -moz-border-radius: 15px;
+          border-radius: 15px;
+}
+
+/* Allow for input prepend/append in search forms */
+
+.form-search .input-append .search-query,
+.form-search .input-prepend .search-query {
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.form-search .input-append .search-query {
+  -webkit-border-radius: 14px 0 0 14px;
+     -moz-border-radius: 14px 0 0 14px;
+          border-radius: 14px 0 0 14px;
+}
+
+.form-search .input-append .btn {
+  -webkit-border-radius: 0 14px 14px 0;
+     -moz-border-radius: 0 14px 14px 0;
+          border-radius: 0 14px 14px 0;
+}
+
+.form-search .input-prepend .search-query {
+  -webkit-border-radius: 0 14px 14px 0;
+     -moz-border-radius: 0 14px 14px 0;
+          border-radius: 0 14px 14px 0;
+}
+
+.form-search .input-prepend .btn {
+  -webkit-border-radius: 14px 0 0 14px;
+     -moz-border-radius: 14px 0 0 14px;
+          border-radius: 14px 0 0 14px;
+}
+
+.form-search input,
+.form-inline input,
+.form-horizontal input,
+.form-search textarea,
+.form-inline textarea,
+.form-horizontal textarea,
+.form-search select,
+.form-inline select,
+.form-horizontal select,
+.form-search .help-inline,
+.form-inline .help-inline,
+.form-horizontal .help-inline,
+.form-search .uneditable-input,
+.form-inline .uneditable-input,
+.form-horizontal .uneditable-input,
+.form-search .input-prepend,
+.form-inline .input-prepend,
+.form-horizontal .input-prepend,
+.form-search .input-append,
+.form-inline .input-append,
+.form-horizontal .input-append {
+  display: inline-block;
+  *display: inline;
+  margin-bottom: 0;
+  vertical-align: middle;
+  *zoom: 1;
+}
+
+.form-search .hide,
+.form-inline .hide,
+.form-horizontal .hide {
+  display: none;
+}
+
+.form-search label,
+.form-inline label,
+.form-search .btn-group,
+.form-inline .btn-group {
+  display: inline-block;
+}
+
+.form-search .input-append,
+.form-inline .input-append,
+.form-search .input-prepend,
+.form-inline .input-prepend {
+  margin-bottom: 0;
+}
+
+.form-search .radio,
+.form-search .checkbox,
+.form-inline .radio,
+.form-inline .checkbox {
+  padding-left: 0;
+  margin-bottom: 0;
+  vertical-align: middle;
+}
+
+.form-search .radio input[type="radio"],
+.form-search .checkbox input[type="checkbox"],
+.form-inline .radio input[type="radio"],
+.form-inline .checkbox input[type="checkbox"] {
+  float: left;
+  margin-right: 3px;
+  margin-left: 0;
+}
+
+.control-group {
+  margin-bottom: 10px;
+}
+
+legend + .control-group {
+  margin-top: 20px;
+  -webkit-margin-top-collapse: separate;
+}
+
+.form-horizontal .control-group {
+  margin-bottom: 20px;
+  *zoom: 1;
+}
+
+.form-horizontal .control-group:before,
+.form-horizontal .control-group:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.form-horizontal .control-group:after {
+  clear: both;
+}
+
+.form-horizontal .control-label {
+  float: left;
+  width: 160px;
+  padding-top: 5px;
+  text-align: right;
+}
+
+.form-horizontal .controls {
+  *display: inline-block;
+  *padding-left: 20px;
+  margin-left: 180px;
+  *margin-left: 0;
+}
+
+.form-horizontal .controls:first-child {
+  *padding-left: 180px;
+}
+
+.form-horizontal .help-block {
+  margin-bottom: 0;
+}
+
+.form-horizontal input + .help-block,
+.form-horizontal select + .help-block,
+.form-horizontal textarea + .help-block,
+.form-horizontal .uneditable-input + .help-block,
+.form-horizontal .input-prepend + .help-block,
+.form-horizontal .input-append + .help-block {
+  margin-top: 10px;
+}
+
+.form-horizontal .form-actions {
+  padding-left: 180px;
+}
+
+table {
+  max-width: 100%;
+  background-color: transparent;
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+.table {
+  width: 100%;
+  margin-bottom: 20px;
+}
+
+.table th,
+.table td {
+  padding: 8px;
+  line-height: 20px;
+  text-align: left;
+  vertical-align: top;
+  border-top: 1px solid #dddddd;
+}
+
+.table th {
+  font-weight: bold;
+}
+
+.table thead th {
+  vertical-align: bottom;
+}
+
+.table caption + thead tr:first-child th,
+.table caption + thead tr:first-child td,
+.table colgroup + thead tr:first-child th,
+.table colgroup + thead tr:first-child td,
+.table thead:first-child tr:first-child th,
+.table thead:first-child tr:first-child td {
+  border-top: 0;
+}
+
+.table tbody + tbody {
+  border-top: 2px solid #dddddd;
+}
+
+.table .table {
+  background-color: #ffffff;
+}
+
+.table-condensed th,
+.table-condensed td {
+  padding: 4px 5px;
+}
+
+.table-bordered {
+  border: 1px solid #dddddd;
+  border-collapse: separate;
+  *border-collapse: collapse;
+  border-left: 0;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.table-bordered th,
+.table-bordered td {
+  border-left: 1px solid #dddddd;
+}
+
+.table-bordered caption + thead tr:first-child th,
+.table-bordered caption + tbody tr:first-child th,
+.table-bordered caption + tbody tr:first-child td,
+.table-bordered colgroup + thead tr:first-child th,
+.table-bordered colgroup + tbody tr:first-child th,
+.table-bordered colgroup + tbody tr:first-child td,
+.table-bordered thead:first-child tr:first-child th,
+.table-bordered tbody:first-child tr:first-child th,
+.table-bordered tbody:first-child tr:first-child td {
+  border-top: 0;
+}
+
+.table-bordered thead:first-child tr:first-child > th:first-child,
+.table-bordered tbody:first-child tr:first-child > td:first-child,
+.table-bordered tbody:first-child tr:first-child > th:first-child {
+  -webkit-border-top-left-radius: 0;
+          border-top-left-radius: 0;
+  -moz-border-radius-topleft: 0;
+}
+
+.table-bordered thead:first-child tr:first-child > th:last-child,
+.table-bordered tbody:first-child tr:first-child > td:last-child,
+.table-bordered tbody:first-child tr:first-child > th:last-child {
+  -webkit-border-top-right-radius: 0;
+          border-top-right-radius: 0;
+  -moz-border-radius-topright: 0;
+}
+
+.table-bordered thead:last-child tr:last-child > th:first-child,
+.table-bordered tbody:last-child tr:last-child > td:first-child,
+.table-bordered tbody:last-child tr:last-child > th:first-child,
+.table-bordered tfoot:last-child tr:last-child > td:first-child,
+.table-bordered tfoot:last-child tr:last-child > th:first-child {
+  -webkit-border-bottom-left-radius: 0;
+          border-bottom-left-radius: 0;
+  -moz-border-radius-bottomleft: 0;
+}
+
+.table-bordered thead:last-child tr:last-child > th:last-child,
+.table-bordered tbody:last-child tr:last-child > td:last-child,
+.table-bordered tbody:last-child tr:last-child > th:last-child,
+.table-bordered tfoot:last-child tr:last-child > td:last-child,
+.table-bordered tfoot:last-child tr:last-child > th:last-child {
+  -webkit-border-bottom-right-radius: 0;
+          border-bottom-right-radius: 0;
+  -moz-border-radius-bottomright: 0;
+}
+
+.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
+  -webkit-border-bottom-left-radius: 0;
+          border-bottom-left-radius: 0;
+  -moz-border-radius-bottomleft: 0;
+}
+
+.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
+  -webkit-border-bottom-right-radius: 0;
+          border-bottom-right-radius: 0;
+  -moz-border-radius-bottomright: 0;
+}
+
+.table-bordered caption + thead tr:first-child th:first-child,
+.table-bordered caption + tbody tr:first-child td:first-child,
+.table-bordered colgroup + thead tr:first-child th:first-child,
+.table-bordered colgroup + tbody tr:first-child td:first-child {
+  -webkit-border-top-left-radius: 0;
+          border-top-left-radius: 0;
+  -moz-border-radius-topleft: 0;
+}
+
+.table-bordered caption + thead tr:first-child th:last-child,
+.table-bordered caption + tbody tr:first-child td:last-child,
+.table-bordered colgroup + thead tr:first-child th:last-child,
+.table-bordered colgroup + tbody tr:first-child td:last-child {
+  -webkit-border-top-right-radius: 0;
+          border-top-right-radius: 0;
+  -moz-border-radius-topright: 0;
+}
+
+.table-striped tbody > tr:nth-child(odd) > td,
+.table-striped tbody > tr:nth-child(odd) > th {
+  background-color: #f9f9f9;
+}
+
+.table-hover tbody tr:hover > td,
+.table-hover tbody tr:hover > th {
+  background-color: #e8f8fd;
+}
+
+table td[class*="span"],
+table th[class*="span"],
+.row-fluid table td[class*="span"],
+.row-fluid table th[class*="span"] {
+  display: table-cell;
+  float: none;
+  margin-left: 0;
+}
+
+.table td.span1,
+.table th.span1 {
+  float: none;
+  width: 44px;
+  margin-left: 0;
+}
+
+.table td.span2,
+.table th.span2 {
+  float: none;
+  width: 124px;
+  margin-left: 0;
+}
+
+.table td.span3,
+.table th.span3 {
+  float: none;
+  width: 204px;
+  margin-left: 0;
+}
+
+.table td.span4,
+.table th.span4 {
+  float: none;
+  width: 284px;
+  margin-left: 0;
+}
+
+.table td.span5,
+.table th.span5 {
+  float: none;
+  width: 364px;
+  margin-left: 0;
+}
+
+.table td.span6,
+.table th.span6 {
+  float: none;
+  width: 444px;
+  margin-left: 0;
+}
+
+.table td.span7,
+.table th.span7 {
+  float: none;
+  width: 524px;
+  margin-left: 0;
+}
+
+.table td.span8,
+.table th.span8 {
+  float: none;
+  width: 604px;
+  margin-left: 0;
+}
+
+.table td.span9,
+.table th.span9 {
+  float: none;
+  width: 684px;
+  margin-left: 0;
+}
+
+.table td.span10,
+.table th.span10 {
+  float: none;
+  width: 764px;
+  margin-left: 0;
+}
+
+.table td.span11,
+.table th.span11 {
+  float: none;
+  width: 844px;
+  margin-left: 0;
+}
+
+.table td.span12,
+.table th.span12 {
+  float: none;
+  width: 924px;
+  margin-left: 0;
+}
+
+.table tbody tr.success > td {
+  background-color: #3fb618;
+}
+
+.table tbody tr.error > td {
+  background-color: #ff0039;
+}
+
+.table tbody tr.warning > td {
+  background-color: #ff7518;
+}
+
+.table tbody tr.info > td {
+  background-color: #9954bb;
+}
+
+.table-hover tbody tr.success:hover > td {
+  background-color: #379f15;
+}
+
+.table-hover tbody tr.error:hover > td {
+  background-color: #e60033;
+}
+
+.table-hover tbody tr.warning:hover > td {
+  background-color: #fe6600;
+}
+
+.table-hover tbody tr.info:hover > td {
+  background-color: #8d46b0;
+}
+
+[class^="icon-"],
+[class*=" icon-"] {
+  display: inline-block;
+  width: 14px;
+  height: 14px;
+  margin-top: 1px;
+  *margin-right: .3em;
+  line-height: 14px;
+  vertical-align: text-top;
+  background-image: url("../img/glyphicons-halflings.png");
+  background-position: 14px 14px;
+  background-repeat: no-repeat;
+}
+
+/* White icons with optional class, or on hover/focus/active states of certain elements */
+
+.icon-white,
+.nav-pills > .active > a > [class^="icon-"],
+.nav-pills > .active > a > [class*=" icon-"],
+.nav-list > .active > a > [class^="icon-"],
+.nav-list > .active > a > [class*=" icon-"],
+.navbar-inverse .nav > .active > a > [class^="icon-"],
+.navbar-inverse .nav > .active > a > [class*=" icon-"],
+.dropdown-menu > li > a:hover > [class^="icon-"],
+.dropdown-menu > li > a:focus > [class^="icon-"],
+.dropdown-menu > li > a:hover > [class*=" icon-"],
+.dropdown-menu > li > a:focus > [class*=" icon-"],
+.dropdown-menu > .active > a > [class^="icon-"],
+.dropdown-menu > .active > a > [class*=" icon-"],
+.dropdown-submenu:hover > a > [class^="icon-"],
+.dropdown-submenu:focus > a > [class^="icon-"],
+.dropdown-submenu:hover > a > [class*=" icon-"],
+.dropdown-submenu:focus > a > [class*=" icon-"] {
+  background-image: url("../img/glyphicons-halflings-white.png");
+}
+
+.icon-glass {
+  background-position: 0      0;
+}
+
+.icon-music {
+  background-position: -24px 0;
+}
+
+.icon-search {
+  background-position: -48px 0;
+}
+
+.icon-envelope {
+  background-position: -72px 0;
+}
+
+.icon-heart {
+  background-position: -96px 0;
+}
+
+.icon-star {
+  background-position: -120px 0;
+}
+
+.icon-star-empty {
+  background-position: -144px 0;
+}
+
+.icon-user {
+  background-position: -168px 0;
+}
+
+.icon-film {
+  background-position: -192px 0;
+}
+
+.icon-th-large {
+  background-position: -216px 0;
+}
+
+.icon-th {
+  background-position: -240px 0;
+}
+
+.icon-th-list {
+  background-position: -264px 0;
+}
+
+.icon-ok {
+  background-position: -288px 0;
+}
+
+.icon-remove {
+  background-position: -312px 0;
+}
+
+.icon-zoom-in {
+  background-position: -336px 0;
+}
+
+.icon-zoom-out {
+  background-position: -360px 0;
+}
+
+.icon-off {
+  background-position: -384px 0;
+}
+
+.icon-signal {
+  background-position: -408px 0;
+}
+
+.icon-cog {
+  background-position: -432px 0;
+}
+
+.icon-trash {
+  background-position: -456px 0;
+}
+
+.icon-home {
+  background-position: 0 -24px;
+}
+
+.icon-file {
+  background-position: -24px -24px;
+}
+
+.icon-time {
+  background-position: -48px -24px;
+}
+
+.icon-road {
+  background-position: -72px -24px;
+}
+
+.icon-download-alt {
+  background-position: -96px -24px;
+}
+
+.icon-download {
+  background-position: -120px -24px;
+}
+
+.icon-upload {
+  background-position: -144px -24px;
+}
+
+.icon-inbox {
+  background-position: -168px -24px;
+}
+
+.icon-play-circle {
+  background-position: -192px -24px;
+}
+
+.icon-repeat {
+  background-position: -216px -24px;
+}
+
+.icon-refresh {
+  background-position: -240px -24px;
+}
+
+.icon-list-alt {
+  background-position: -264px -24px;
+}
+
+.icon-lock {
+  background-position: -287px -24px;
+}
+
+.icon-flag {
+  background-position: -312px -24px;
+}
+
+.icon-headphones {
+  background-position: -336px -24px;
+}
+
+.icon-volume-off {
+  background-position: -360px -24px;
+}
+
+.icon-volume-down {
+  background-position: -384px -24px;
+}
+
+.icon-volume-up {
+  background-position: -408px -24px;
+}
+
+.icon-qrcode {
+  background-position: -432px -24px;
+}
+
+.icon-barcode {
+  background-position: -456px -24px;
+}
+
+.icon-tag {
+  background-position: 0 -48px;
+}
+
+.icon-tags {
+  background-position: -25px -48px;
+}
+
+.icon-book {
+  background-position: -48px -48px;
+}
+
+.icon-bookmark {
+  background-position: -72px -48px;
+}
+
+.icon-print {
+  background-position: -96px -48px;
+}
+
+.icon-camera {
+  background-position: -120px -48px;
+}
+
+.icon-font {
+  background-position: -144px -48px;
+}
+
+.icon-bold {
+  background-position: -167px -48px;
+}
+
+.icon-italic {
+  background-position: -192px -48px;
+}
+
+.icon-text-height {
+  background-position: -216px -48px;
+}
+
+.icon-text-width {
+  background-position: -240px -48px;
+}
+
+.icon-align-left {
+  background-position: -264px -48px;
+}
+
+.icon-align-center {
+  background-position: -288px -48px;
+}
+
+.icon-align-right {
+  background-position: -312px -48px;
+}
+
+.icon-align-justify {
+  background-position: -336px -48px;
+}
+
+.icon-list {
+  background-position: -360px -48px;
+}
+
+.icon-indent-left {
+  background-position: -384px -48px;
+}
+
+.icon-indent-right {
+  background-position: -408px -48px;
+}
+
+.icon-facetime-video {
+  background-position: -432px -48px;
+}
+
+.icon-picture {
+  background-position: -456px -48px;
+}
+
+.icon-pencil {
+  background-position: 0 -72px;
+}
+
+.icon-map-marker {
+  background-position: -24px -72px;
+}
+
+.icon-adjust {
+  background-position: -48px -72px;
+}
+
+.icon-tint {
+  background-position: -72px -72px;
+}
+
+.icon-edit {
+  background-position: -96px -72px;
+}
+
+.icon-share {
+  background-position: -120px -72px;
+}
+
+.icon-check {
+  background-position: -144px -72px;
+}
+
+.icon-move {
+  background-position: -168px -72px;
+}
+
+.icon-step-backward {
+  background-position: -192px -72px;
+}
+
+.icon-fast-backward {
+  background-position: -216px -72px;
+}
+
+.icon-backward {
+  background-position: -240px -72px;
+}
+
+.icon-play {
+  background-position: -264px -72px;
+}
+
+.icon-pause {
+  background-position: -288px -72px;
+}
+
+.icon-stop {
+  background-position: -312px -72px;
+}
+
+.icon-forward {
+  background-position: -336px -72px;
+}
+
+.icon-fast-forward {
+  background-position: -360px -72px;
+}
+
+.icon-step-forward {
+  background-position: -384px -72px;
+}
+
+.icon-eject {
+  background-position: -408px -72px;
+}
+
+.icon-chevron-left {
+  background-position: -432px -72px;
+}
+
+.icon-chevron-right {
+  background-position: -456px -72px;
+}
+
+.icon-plus-sign {
+  background-position: 0 -96px;
+}
+
+.icon-minus-sign {
+  background-position: -24px -96px;
+}
+
+.icon-remove-sign {
+  background-position: -48px -96px;
+}
+
+.icon-ok-sign {
+  background-position: -72px -96px;
+}
+
+.icon-question-sign {
+  background-position: -96px -96px;
+}
+
+.icon-info-sign {
+  background-position: -120px -96px;
+}
+
+.icon-screenshot {
+  background-position: -144px -96px;
+}
+
+.icon-remove-circle {
+  background-position: -168px -96px;
+}
+
+.icon-ok-circle {
+  background-position: -192px -96px;
+}
+
+.icon-ban-circle {
+  background-position: -216px -96px;
+}
+
+.icon-arrow-left {
+  background-position: -240px -96px;
+}
+
+.icon-arrow-right {
+  background-position: -264px -96px;
+}
+
+.icon-arrow-up {
+  background-position: -289px -96px;
+}
+
+.icon-arrow-down {
+  background-position: -312px -96px;
+}
+
+.icon-share-alt {
+  background-position: -336px -96px;
+}
+
+.icon-resize-full {
+  background-position: -360px -96px;
+}
+
+.icon-resize-small {
+  background-position: -384px -96px;
+}
+
+.icon-plus {
+  background-position: -408px -96px;
+}
+
+.icon-minus {
+  background-position: -433px -96px;
+}
+
+.icon-asterisk {
+  background-position: -456px -96px;
+}
+
+.icon-exclamation-sign {
+  background-position: 0 -120px;
+}
+
+.icon-gift {
+  background-position: -24px -120px;
+}
+
+.icon-leaf {
+  background-position: -48px -120px;
+}
+
+.icon-fire {
+  background-position: -72px -120px;
+}
+
+.icon-eye-open {
+  background-position: -96px -120px;
+}
+
+.icon-eye-close {
+  background-position: -120px -120px;
+}
+
+.icon-warning-sign {
+  background-position: -144px -120px;
+}
+
+.icon-plane {
+  background-position: -168px -120px;
+}
+
+.icon-calendar {
+  background-position: -192px -120px;
+}
+
+.icon-random {
+  width: 16px;
+  background-position: -216px -120px;
+}
+
+.icon-comment {
+  background-position: -240px -120px;
+}
+
+.icon-magnet {
+  background-position: -264px -120px;
+}
+
+.icon-chevron-up {
+  background-position: -288px -120px;
+}
+
+.icon-chevron-down {
+  background-position: -313px -119px;
+}
+
+.icon-retweet {
+  background-position: -336px -120px;
+}
+
+.icon-shopping-cart {
+  background-position: -360px -120px;
+}
+
+.icon-folder-close {
+  width: 16px;
+  background-position: -384px -120px;
+}
+
+.icon-folder-open {
+  width: 16px;
+  background-position: -408px -120px;
+}
+
+.icon-resize-vertical {
+  background-position: -432px -119px;
+}
+
+.icon-resize-horizontal {
+  background-position: -456px -118px;
+}
+
+.icon-hdd {
+  background-position: 0 -144px;
+}
+
+.icon-bullhorn {
+  background-position: -24px -144px;
+}
+
+.icon-bell {
+  background-position: -48px -144px;
+}
+
+.icon-certificate {
+  background-position: -72px -144px;
+}
+
+.icon-thumbs-up {
+  background-position: -96px -144px;
+}
+
+.icon-thumbs-down {
+  background-position: -120px -144px;
+}
+
+.icon-hand-right {
+  background-position: -144px -144px;
+}
+
+.icon-hand-left {
+  background-position: -168px -144px;
+}
+
+.icon-hand-up {
+  background-position: -192px -144px;
+}
+
+.icon-hand-down {
+  background-position: -216px -144px;
+}
+
+.icon-circle-arrow-right {
+  background-position: -240px -144px;
+}
+
+.icon-circle-arrow-left {
+  background-position: -264px -144px;
+}
+
+.icon-circle-arrow-up {
+  background-position: -288px -144px;
+}
+
+.icon-circle-arrow-down {
+  background-position: -312px -144px;
+}
+
+.icon-globe {
+  background-position: -336px -144px;
+}
+
+.icon-wrench {
+  background-position: -360px -144px;
+}
+
+.icon-tasks {
+  background-position: -384px -144px;
+}
+
+.icon-filter {
+  background-position: -408px -144px;
+}
+
+.icon-briefcase {
+  background-position: -432px -144px;
+}
+
+.icon-fullscreen {
+  background-position: -456px -144px;
+}
+
+.dropup,
+.dropdown {
+  position: relative;
+}
+
+.dropdown-toggle {
+  *margin-bottom: -3px;
+}
+
+.dropdown-toggle:active,
+.open .dropdown-toggle {
+  outline: 0;
+}
+
+.caret {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  vertical-align: top;
+  border-top: 4px solid #000000;
+  border-right: 4px solid transparent;
+  border-left: 4px solid transparent;
+  content: "";
+}
+
+.dropdown .caret {
+  margin-top: 8px;
+  margin-left: 2px;
+}
+
+.dropdown-menu {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: 1000;
+  display: none;
+  float: left;
+  min-width: 160px;
+  padding: 5px 0;
+  margin: 2px 0 0;
+  list-style: none;
+  background-color: #ffffff;
+  border: 1px solid #ccc;
+  border: 1px solid rgba(0, 0, 0, 0.2);
+  *border-right-width: 2px;
+  *border-bottom-width: 2px;
+  -webkit-border-radius: 6px;
+     -moz-border-radius: 6px;
+          border-radius: 6px;
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+  -webkit-background-clip: padding-box;
+     -moz-background-clip: padding;
+          background-clip: padding-box;
+}
+
+.dropdown-menu.pull-right {
+  right: 0;
+  left: auto;
+}
+
+.dropdown-menu .divider {
+  *width: 100%;
+  height: 1px;
+  margin: 9px 1px;
+  *margin: -5px 0 5px;
+  overflow: hidden;
+  background-color: #e5e5e5;
+  border-bottom: 1px solid #ffffff;
+}
+
+.dropdown-menu > li > a {
+  display: block;
+  padding: 3px 20px;
+  clear: both;
+  font-weight: normal;
+  line-height: 20px;
+  color: #999999;
+  white-space: nowrap;
+}
+
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus,
+.dropdown-submenu:hover > a,
+.dropdown-submenu:focus > a {
+  color: #ffffff;
+  text-decoration: none;
+  background-color: #007af5;
+  background-image: -moz-linear-gradient(top, #007fff, #0072e6);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#007fff), to(#0072e6));
+  background-image: -webkit-linear-gradient(top, #007fff, #0072e6);
+  background-image: -o-linear-gradient(top, #007fff, #0072e6);
+  background-image: linear-gradient(to bottom, #007fff, #0072e6);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff007fff', endColorstr='#ff0072e6', GradientType=0);
+}
+
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+  color: #ffffff;
+  text-decoration: none;
+  background-color: #007af5;
+  background-image: -moz-linear-gradient(top, #007fff, #0072e6);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#007fff), to(#0072e6));
+  background-image: -webkit-linear-gradient(top, #007fff, #0072e6);
+  background-image: -o-linear-gradient(top, #007fff, #0072e6);
+  background-image: linear-gradient(to bottom, #007fff, #0072e6);
+  background-repeat: repeat-x;
+  outline: 0;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff007fff', endColorstr='#ff0072e6', GradientType=0);
+}
+
+.dropdown-menu > .disabled > a,
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+  color: #dfdfdf;
+}
+
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+  text-decoration: none;
+  cursor: default;
+  background-color: transparent;
+  background-image: none;
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.open {
+  *z-index: 1000;
+}
+
+.open > .dropdown-menu {
+  display: block;
+}
+
+.dropdown-backdrop {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 990;
+}
+
+.pull-right > .dropdown-menu {
+  right: 0;
+  left: auto;
+}
+
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+  border-top: 0;
+  border-bottom: 4px solid #000000;
+  content: "";
+}
+
+.dropup .dropdown-menu,
+.navbar-fixed-bottom .dropdown .dropdown-menu {
+  top: auto;
+  bottom: 100%;
+  margin-bottom: 1px;
+}
+
+.dropdown-submenu {
+  position: relative;
+}
+
+.dropdown-submenu > .dropdown-menu {
+  top: 0;
+  left: 100%;
+  margin-top: -6px;
+  margin-left: -1px;
+  -webkit-border-radius: 0 6px 6px 6px;
+     -moz-border-radius: 0 6px 6px 6px;
+          border-radius: 0 6px 6px 6px;
+}
+
+.dropdown-submenu:hover > .dropdown-menu {
+  display: block;
+}
+
+.dropup .dropdown-submenu > .dropdown-menu {
+  top: auto;
+  bottom: 0;
+  margin-top: 0;
+  margin-bottom: -2px;
+  -webkit-border-radius: 5px 5px 5px 0;
+     -moz-border-radius: 5px 5px 5px 0;
+          border-radius: 5px 5px 5px 0;
+}
+
+.dropdown-submenu > a:after {
+  display: block;
+  float: right;
+  width: 0;
+  height: 0;
+  margin-top: 5px;
+  margin-right: -10px;
+  border-color: transparent;
+  border-left-color: #cccccc;
+  border-style: solid;
+  border-width: 5px 0 5px 5px;
+  content: " ";
+}
+
+.dropdown-submenu:hover > a:after {
+  border-left-color: #ffffff;
+}
+
+.dropdown-submenu.pull-left {
+  float: none;
+}
+
+.dropdown-submenu.pull-left > .dropdown-menu {
+  left: -100%;
+  margin-left: 10px;
+  -webkit-border-radius: 6px 0 6px 6px;
+     -moz-border-radius: 6px 0 6px 6px;
+          border-radius: 6px 0 6px 6px;
+}
+
+.dropdown .dropdown-menu .nav-header {
+  padding-right: 20px;
+  padding-left: 20px;
+}
+
+.typeahead {
+  z-index: 1051;
+  margin-top: 2px;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.well {
+  min-height: 20px;
+  padding: 19px;
+  margin-bottom: 20px;
+  background-color: #eeeeee;
+  border: 1px solid #dcdcdc;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+}
+
+.well blockquote {
+  border-color: #ddd;
+  border-color: rgba(0, 0, 0, 0.15);
+}
+
+.well-large {
+  padding: 24px;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.well-small {
+  padding: 9px;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.fade {
+  opacity: 0;
+  -webkit-transition: opacity 0.15s linear;
+     -moz-transition: opacity 0.15s linear;
+       -o-transition: opacity 0.15s linear;
+          transition: opacity 0.15s linear;
+}
+
+.fade.in {
+  opacity: 1;
+}
+
+.collapse {
+  position: relative;
+  height: 0;
+  overflow: hidden;
+  -webkit-transition: height 0.35s ease;
+     -moz-transition: height 0.35s ease;
+       -o-transition: height 0.35s ease;
+          transition: height 0.35s ease;
+}
+
+.collapse.in {
+  height: auto;
+}
+
+.close {
+  float: right;
+  font-size: 20px;
+  font-weight: bold;
+  line-height: 20px;
+  color: #000000;
+  text-shadow: 0 1px 0 #ffffff;
+  opacity: 0.2;
+  filter: alpha(opacity=20);
+}
+
+.close:hover,
+.close:focus {
+  color: #000000;
+  text-decoration: none;
+  cursor: pointer;
+  opacity: 0.4;
+  filter: alpha(opacity=40);
+}
+
+button.close {
+  padding: 0;
+  cursor: pointer;
+  background: transparent;
+  border: 0;
+  -webkit-appearance: none;
+}
+
+.btn {
+  display: inline-block;
+  *display: inline;
+  padding: 4px 12px;
+  margin-bottom: 0;
+  *margin-left: .3em;
+  font-size: 14px;
+  line-height: 20px;
+  color: #999999;
+  text-align: center;
+  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+  vertical-align: middle;
+  cursor: pointer;
+  background-color: #dfdfdf;
+  *background-color: #c8c8c8;
+  background-image: -moz-linear-gradient(top, #eeeeee, #c8c8c8);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#c8c8c8));
+  background-image: -webkit-linear-gradient(top, #eeeeee, #c8c8c8);
+  background-image: -o-linear-gradient(top, #eeeeee, #c8c8c8);
+  background-image: linear-gradient(to bottom, #eeeeee, #c8c8c8);
+  background-repeat: repeat-x;
+  border: 1px solid #bbbbbb;
+  *border: 0;
+  border-color: #c8c8c8 #c8c8c8 #a2a2a2;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  border-bottom-color: #a2a2a2;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffc8c8c8', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+  *zoom: 1;
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.btn:hover,
+.btn:focus,
+.btn:active,
+.btn.active,
+.btn.disabled,
+.btn[disabled] {
+  color: #999999;
+  background-color: #c8c8c8;
+  *background-color: #bbbbbb;
+}
+
+.btn:active,
+.btn.active {
+  background-color: #aeaeae \9;
+}
+
+.btn:first-child {
+  *margin-left: 0;
+}
+
+.btn:hover,
+.btn:focus {
+  color: #999999;
+  text-decoration: none;
+  background-position: 0 -15px;
+  -webkit-transition: background-position 0.1s linear;
+     -moz-transition: background-position 0.1s linear;
+       -o-transition: background-position 0.1s linear;
+          transition: background-position 0.1s linear;
+}
+
+.btn:focus {
+  outline: thin dotted #333;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+
+.btn.active,
+.btn:active {
+  background-image: none;
+  outline: 0;
+  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.btn.disabled,
+.btn[disabled] {
+  cursor: default;
+  background-image: none;
+  opacity: 0.65;
+  filter: alpha(opacity=65);
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+}
+
+.btn-large {
+  padding: 22px 30px;
+  font-size: 17.5px;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.btn-large [class^="icon-"],
+.btn-large [class*=" icon-"] {
+  margin-top: 4px;
+}
+
+.btn-small {
+  padding: 2px 10px;
+  font-size: 11.9px;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.btn-small [class^="icon-"],
+.btn-small [class*=" icon-"] {
+  margin-top: 0;
+}
+
+.btn-mini [class^="icon-"],
+.btn-mini [class*=" icon-"] {
+  margin-top: -1px;
+}
+
+.btn-mini {
+  padding: 2px 6px;
+  font-size: 10.5px;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.btn-block {
+  display: block;
+  width: 100%;
+  padding-right: 0;
+  padding-left: 0;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+.btn-block + .btn-block {
+  margin-top: 5px;
+}
+
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+  width: 100%;
+}
+
+.btn-primary.active,
+.btn-warning.active,
+.btn-danger.active,
+.btn-success.active,
+.btn-info.active,
+.btn-inverse.active {
+  color: rgba(255, 255, 255, 0.75);
+}
+
+.btn-primary {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #0f82f5;
+  *background-color: #0072e6;
+  background-image: -moz-linear-gradient(top, #1a8cff, #0072e6);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#1a8cff), to(#0072e6));
+  background-image: -webkit-linear-gradient(top, #1a8cff, #0072e6);
+  background-image: -o-linear-gradient(top, #1a8cff, #0072e6);
+  background-image: linear-gradient(to bottom, #1a8cff, #0072e6);
+  background-repeat: repeat-x;
+  border-color: #0072e6 #0072e6 #004c99;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1a8cff', endColorstr='#ff0072e6', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.btn-primary:hover,
+.btn-primary:focus,
+.btn-primary:active,
+.btn-primary.active,
+.btn-primary.disabled,
+.btn-primary[disabled] {
+  color: #ffffff;
+  background-color: #0072e6;
+  *background-color: #0066cc;
+}
+
+.btn-primary:active,
+.btn-primary.active {
+  background-color: #0059b3 \9;
+}
+
+.btn-warning {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #fe781e;
+  *background-color: #fe6600;
+  background-image: -moz-linear-gradient(top, #ff8432, #fe6600);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ff8432), to(#fe6600));
+  background-image: -webkit-linear-gradient(top, #ff8432, #fe6600);
+  background-image: -o-linear-gradient(top, #ff8432, #fe6600);
+  background-image: linear-gradient(to bottom, #ff8432, #fe6600);
+  background-repeat: repeat-x;
+  border-color: #fe6600 #fe6600 #b14700;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff8432', endColorstr='#fffe6600', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.btn-warning:hover,
+.btn-warning:focus,
+.btn-warning:active,
+.btn-warning.active,
+.btn-warning.disabled,
+.btn-warning[disabled] {
+  color: #ffffff;
+  background-color: #fe6600;
+  *background-color: #e45c00;
+}
+
+.btn-warning:active,
+.btn-warning.active {
+  background-color: #cb5200 \9;
+}
+
+.btn-danger {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #f50f43;
+  *background-color: #e60033;
+  background-image: -moz-linear-gradient(top, #ff1a4d, #e60033);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ff1a4d), to(#e60033));
+  background-image: -webkit-linear-gradient(top, #ff1a4d, #e60033);
+  background-image: -o-linear-gradient(top, #ff1a4d, #e60033);
+  background-image: linear-gradient(to bottom, #ff1a4d, #e60033);
+  background-repeat: repeat-x;
+  border-color: #e60033 #e60033 #990022;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff1a4d', endColorstr='#ffe60033', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.btn-danger:hover,
+.btn-danger:focus,
+.btn-danger:active,
+.btn-danger.active,
+.btn-danger.disabled,
+.btn-danger[disabled] {
+  color: #ffffff;
+  background-color: #e60033;
+  *background-color: #cc002e;
+}
+
+.btn-danger:active,
+.btn-danger.active {
+  background-color: #b30028 \9;
+}
+
+.btn-success {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #41bb19;
+  *background-color: #379f15;
+  background-image: -moz-linear-gradient(top, #47cd1b, #379f15);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#47cd1b), to(#379f15));
+  background-image: -webkit-linear-gradient(top, #47cd1b, #379f15);
+  background-image: -o-linear-gradient(top, #47cd1b, #379f15);
+  background-image: linear-gradient(to bottom, #47cd1b, #379f15);
+  background-repeat: repeat-x;
+  border-color: #379f15 #379f15 #205c0c;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff47cd1b', endColorstr='#ff379f15', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.btn-success:hover,
+.btn-success:focus,
+.btn-success:active,
+.btn-success.active,
+.btn-success.disabled,
+.btn-success[disabled] {
+  color: #ffffff;
+  background-color: #379f15;
+  *background-color: #2f8912;
+}
+
+.btn-success:active,
+.btn-success.active {
+  background-color: #28720f \9;
+}
+
+.btn-info {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #9b59bb;
+  *background-color: #8d46b0;
+  background-image: -moz-linear-gradient(top, #a466c2, #8d46b0);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#a466c2), to(#8d46b0));
+  background-image: -webkit-linear-gradient(top, #a466c2, #8d46b0);
+  background-image: -o-linear-gradient(top, #a466c2, #8d46b0);
+  background-image: linear-gradient(to bottom, #a466c2, #8d46b0);
+  background-repeat: repeat-x;
+  border-color: #8d46b0 #8d46b0 #613079;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa466c2', endColorstr='#ff8d46b0', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.btn-info:hover,
+.btn-info:focus,
+.btn-info:active,
+.btn-info.active,
+.btn-info.disabled,
+.btn-info[disabled] {
+  color: #ffffff;
+  background-color: #8d46b0;
+  *background-color: #7e3f9d;
+}
+
+.btn-info:active,
+.btn-info.active {
+  background-color: #6f378b \9;
+}
+
+.btn-inverse {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #080808;
+  *background-color: #000000;
+  background-image: -moz-linear-gradient(top, #0d0d0d, #000000);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0d0d0d), to(#000000));
+  background-image: -webkit-linear-gradient(top, #0d0d0d, #000000);
+  background-image: -o-linear-gradient(top, #0d0d0d, #000000);
+  background-image: linear-gradient(to bottom, #0d0d0d, #000000);
+  background-repeat: repeat-x;
+  border-color: #000000 #000000 #000000;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0d0d0d', endColorstr='#ff000000', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.btn-inverse:hover,
+.btn-inverse:focus,
+.btn-inverse:active,
+.btn-inverse.active,
+.btn-inverse.disabled,
+.btn-inverse[disabled] {
+  color: #ffffff;
+  background-color: #000000;
+  *background-color: #000000;
+}
+
+.btn-inverse:active,
+.btn-inverse.active {
+  background-color: #000000 \9;
+}
+
+button.btn,
+input[type="submit"].btn {
+  *padding-top: 3px;
+  *padding-bottom: 3px;
+}
+
+button.btn::-moz-focus-inner,
+input[type="submit"].btn::-moz-focus-inner {
+  padding: 0;
+  border: 0;
+}
+
+button.btn.btn-large,
+input[type="submit"].btn.btn-large {
+  *padding-top: 7px;
+  *padding-bottom: 7px;
+}
+
+button.btn.btn-small,
+input[type="submit"].btn.btn-small {
+  *padding-top: 3px;
+  *padding-bottom: 3px;
+}
+
+button.btn.btn-mini,
+input[type="submit"].btn.btn-mini {
+  *padding-top: 1px;
+  *padding-bottom: 1px;
+}
+
+.btn-link,
+.btn-link:active,
+.btn-link[disabled] {
+  background-color: transparent;
+  background-image: none;
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+}
+
+.btn-link {
+  color: #007fff;
+  cursor: pointer;
+  border-color: transparent;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.btn-link:hover,
+.btn-link:focus {
+  color: #0066cc;
+  text-decoration: underline;
+  background-color: transparent;
+}
+
+.btn-link[disabled]:hover,
+.btn-link[disabled]:focus {
+  color: #999999;
+  text-decoration: none;
+}
+
+.btn-group {
+  position: relative;
+  display: inline-block;
+  *display: inline;
+  *margin-left: .3em;
+  font-size: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  *zoom: 1;
+}
+
+.btn-group:first-child {
+  *margin-left: 0;
+}
+
+.btn-group + .btn-group {
+  margin-left: 5px;
+}
+
+.btn-toolbar {
+  margin-top: 10px;
+  margin-bottom: 10px;
+  font-size: 0;
+}
+
+.btn-toolbar > .btn + .btn,
+.btn-toolbar > .btn-group + .btn,
+.btn-toolbar > .btn + .btn-group {
+  margin-left: 5px;
+}
+
+.btn-group > .btn {
+  position: relative;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.btn-group > .btn + .btn {
+  margin-left: -1px;
+}
+
+.btn-group > .btn,
+.btn-group > .dropdown-menu,
+.btn-group > .popover {
+  font-size: 14px;
+}
+
+.btn-group > .btn-mini {
+  font-size: 10.5px;
+}
+
+.btn-group > .btn-small {
+  font-size: 11.9px;
+}
+
+.btn-group > .btn-large {
+  font-size: 17.5px;
+}
+
+.btn-group > .btn:first-child {
+  margin-left: 0;
+  -webkit-border-bottom-left-radius: 0;
+          border-bottom-left-radius: 0;
+  -webkit-border-top-left-radius: 0;
+          border-top-left-radius: 0;
+  -moz-border-radius-bottomleft: 0;
+  -moz-border-radius-topleft: 0;
+}
+
+.btn-group > .btn:last-child,
+.btn-group > .dropdown-toggle {
+  -webkit-border-top-right-radius: 0;
+          border-top-right-radius: 0;
+  -webkit-border-bottom-right-radius: 0;
+          border-bottom-right-radius: 0;
+  -moz-border-radius-topright: 0;
+  -moz-border-radius-bottomright: 0;
+}
+
+.btn-group > .btn.large:first-child {
+  margin-left: 0;
+  -webkit-border-bottom-left-radius: 0;
+          border-bottom-left-radius: 0;
+  -webkit-border-top-left-radius: 0;
+          border-top-left-radius: 0;
+  -moz-border-radius-bottomleft: 0;
+  -moz-border-radius-topleft: 0;
+}
+
+.btn-group > .btn.large:last-child,
+.btn-group > .large.dropdown-toggle {
+  -webkit-border-top-right-radius: 0;
+          border-top-right-radius: 0;
+  -webkit-border-bottom-right-radius: 0;
+          border-bottom-right-radius: 0;
+  -moz-border-radius-topright: 0;
+  -moz-border-radius-bottomright: 0;
+}
+
+.btn-group > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active {
+  z-index: 2;
+}
+
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+  outline: 0;
+}
+
+.btn-group > .btn + .dropdown-toggle {
+  *padding-top: 5px;
+  padding-right: 8px;
+  *padding-bottom: 5px;
+  padding-left: 8px;
+  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+     -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+          box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.btn-group > .btn-mini + .dropdown-toggle {
+  *padding-top: 2px;
+  padding-right: 5px;
+  *padding-bottom: 2px;
+  padding-left: 5px;
+}
+
+.btn-group > .btn-small + .dropdown-toggle {
+  *padding-top: 5px;
+  *padding-bottom: 4px;
+}
+
+.btn-group > .btn-large + .dropdown-toggle {
+  *padding-top: 7px;
+  padding-right: 12px;
+  *padding-bottom: 7px;
+  padding-left: 12px;
+}
+
+.btn-group.open .dropdown-toggle {
+  background-image: none;
+  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.btn-group.open .btn.dropdown-toggle {
+  background-color: #c8c8c8;
+}
+
+.btn-group.open .btn-primary.dropdown-toggle {
+  background-color: #0072e6;
+}
+
+.btn-group.open .btn-warning.dropdown-toggle {
+  background-color: #fe6600;
+}
+
+.btn-group.open .btn-danger.dropdown-toggle {
+  background-color: #e60033;
+}
+
+.btn-group.open .btn-success.dropdown-toggle {
+  background-color: #379f15;
+}
+
+.btn-group.open .btn-info.dropdown-toggle {
+  background-color: #8d46b0;
+}
+
+.btn-group.open .btn-inverse.dropdown-toggle {
+  background-color: #000000;
+}
+
+.btn .caret {
+  margin-top: 8px;
+  margin-left: 0;
+}
+
+.btn-large .caret {
+  margin-top: 6px;
+}
+
+.btn-large .caret {
+  border-top-width: 5px;
+  border-right-width: 5px;
+  border-left-width: 5px;
+}
+
+.btn-mini .caret,
+.btn-small .caret {
+  margin-top: 8px;
+}
+
+.dropup .btn-large .caret {
+  border-bottom-width: 5px;
+}
+
+.btn-primary .caret,
+.btn-warning .caret,
+.btn-danger .caret,
+.btn-info .caret,
+.btn-success .caret,
+.btn-inverse .caret {
+  border-top-color: #ffffff;
+  border-bottom-color: #ffffff;
+}
+
+.btn-group-vertical {
+  display: inline-block;
+  *display: inline;
+  /* IE7 inline-block hack */
+
+  *zoom: 1;
+}
+
+.btn-group-vertical > .btn {
+  display: block;
+  float: none;
+  max-width: 100%;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.btn-group-vertical > .btn + .btn {
+  margin-top: -1px;
+  margin-left: 0;
+}
+
+.btn-group-vertical > .btn:first-child {
+  -webkit-border-radius: 0 0px 0 0;
+     -moz-border-radius: 0 0px 0 0;
+          border-radius: 0 0px 0 0;
+}
+
+.btn-group-vertical > .btn:last-child {
+  -webkit-border-radius: 0 0 0 0px;
+     -moz-border-radius: 0 0 0 0px;
+          border-radius: 0 0 0 0px;
+}
+
+.btn-group-vertical > .btn-large:first-child {
+  -webkit-border-radius: 0 0px 0 0;
+     -moz-border-radius: 0 0px 0 0;
+          border-radius: 0 0px 0 0;
+}
+
+.btn-group-vertical > .btn-large:last-child {
+  -webkit-border-radius: 0 0 0 0px;
+     -moz-border-radius: 0 0 0 0px;
+          border-radius: 0 0 0 0px;
+}
+
+.alert {
+  padding: 8px 35px 8px 14px;
+  margin-bottom: 20px;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+  background-color: #ff7518;
+  border: 1px solid transparent;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.alert,
+.alert h4 {
+  color: #ffffff;
+}
+
+.alert h4 {
+  margin: 0;
+}
+
+.alert .close {
+  position: relative;
+  top: -2px;
+  right: -21px;
+  line-height: 20px;
+}
+
+.alert-success {
+  color: #ffffff;
+  background-color: #3fb618;
+  border-color: transparent;
+}
+
+.alert-success h4 {
+  color: #ffffff;
+}
+
+.alert-danger,
+.alert-error {
+  color: #ffffff;
+  background-color: #ff0039;
+  border-color: transparent;
+}
+
+.alert-danger h4,
+.alert-error h4 {
+  color: #ffffff;
+}
+
+.alert-info {
+  color: #ffffff;
+  background-color: #9954bb;
+  border-color: transparent;
+}
+
+.alert-info h4 {
+  color: #ffffff;
+}
+
+.alert-block {
+  padding-top: 14px;
+  padding-bottom: 14px;
+}
+
+.alert-block > p,
+.alert-block > ul {
+  margin-bottom: 0;
+}
+
+.alert-block p + p {
+  margin-top: 5px;
+}
+
+.nav {
+  margin-bottom: 20px;
+  margin-left: 0;
+  list-style: none;
+}
+
+.nav > li > a {
+  display: block;
+}
+
+.nav > li > a:hover,
+.nav > li > a:focus {
+  text-decoration: none;
+  background-color: #eeeeee;
+}
+
+.nav > li > a > img {
+  max-width: none;
+}
+
+.nav > .pull-right {
+  float: right;
+}
+
+.nav-header {
+  display: block;
+  padding: 3px 15px;
+  font-size: 11px;
+  font-weight: bold;
+  line-height: 20px;
+  color: #dfdfdf;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+  text-transform: uppercase;
+}
+
+.nav li + .nav-header {
+  margin-top: 9px;
+}
+
+.nav-list {
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-bottom: 0;
+}
+
+.nav-list > li > a,
+.nav-list .nav-header {
+  margin-right: -15px;
+  margin-left: -15px;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+}
+
+.nav-list > li > a {
+  padding: 3px 15px;
+}
+
+.nav-list > .active > a,
+.nav-list > .active > a:hover,
+.nav-list > .active > a:focus {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+  background-color: #007fff;
+}
+
+.nav-list [class^="icon-"],
+.nav-list [class*=" icon-"] {
+  margin-right: 2px;
+}
+
+.nav-list .divider {
+  *width: 100%;
+  height: 1px;
+  margin: 9px 1px;
+  *margin: -5px 0 5px;
+  overflow: hidden;
+  background-color: #e5e5e5;
+  border-bottom: 1px solid #ffffff;
+}
+
+.nav-tabs,
+.nav-pills {
+  *zoom: 1;
+}
+
+.nav-tabs:before,
+.nav-pills:before,
+.nav-tabs:after,
+.nav-pills:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.nav-tabs:after,
+.nav-pills:after {
+  clear: both;
+}
+
+.nav-tabs > li,
+.nav-pills > li {
+  float: left;
+}
+
+.nav-tabs > li > a,
+.nav-pills > li > a {
+  padding-right: 12px;
+  padding-left: 12px;
+  margin-right: 2px;
+  line-height: 14px;
+}
+
+.nav-tabs {
+  border-bottom: 1px solid #ddd;
+}
+
+.nav-tabs > li {
+  margin-bottom: -1px;
+}
+
+.nav-tabs > li > a {
+  padding-top: 8px;
+  padding-bottom: 8px;
+  line-height: 20px;
+  border: 1px solid transparent;
+  -webkit-border-radius: 4px 4px 0 0;
+     -moz-border-radius: 4px 4px 0 0;
+          border-radius: 4px 4px 0 0;
+}
+
+.nav-tabs > li > a:hover,
+.nav-tabs > li > a:focus {
+  border-color: #eeeeee #eeeeee #dddddd;
+}
+
+.nav-tabs > .active > a,
+.nav-tabs > .active > a:hover,
+.nav-tabs > .active > a:focus {
+  color: #bbbbbb;
+  cursor: default;
+  background-color: #ffffff;
+  border: 1px solid #ddd;
+  border-bottom-color: transparent;
+}
+
+.nav-pills > li > a {
+  padding-top: 8px;
+  padding-bottom: 8px;
+  margin-top: 2px;
+  margin-bottom: 2px;
+  -webkit-border-radius: 5px;
+     -moz-border-radius: 5px;
+          border-radius: 5px;
+}
+
+.nav-pills > .active > a,
+.nav-pills > .active > a:hover,
+.nav-pills > .active > a:focus {
+  color: #ffffff;
+  background-color: #007fff;
+}
+
+.nav-stacked > li {
+  float: none;
+}
+
+.nav-stacked > li > a {
+  margin-right: 0;
+}
+
+.nav-tabs.nav-stacked {
+  border-bottom: 0;
+}
+
+.nav-tabs.nav-stacked > li > a {
+  border: 1px solid #ddd;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.nav-tabs.nav-stacked > li:first-child > a {
+  -webkit-border-top-right-radius: 4px;
+          border-top-right-radius: 4px;
+  -webkit-border-top-left-radius: 4px;
+          border-top-left-radius: 4px;
+  -moz-border-radius-topright: 4px;
+  -moz-border-radius-topleft: 4px;
+}
+
+.nav-tabs.nav-stacked > li:last-child > a {
+  -webkit-border-bottom-right-radius: 4px;
+          border-bottom-right-radius: 4px;
+  -webkit-border-bottom-left-radius: 4px;
+          border-bottom-left-radius: 4px;
+  -moz-border-radius-bottomright: 4px;
+  -moz-border-radius-bottomleft: 4px;
+}
+
+.nav-tabs.nav-stacked > li > a:hover,
+.nav-tabs.nav-stacked > li > a:focus {
+  z-index: 2;
+  border-color: #ddd;
+}
+
+.nav-pills.nav-stacked > li > a {
+  margin-bottom: 3px;
+}
+
+.nav-pills.nav-stacked > li:last-child > a {
+  margin-bottom: 1px;
+}
+
+.nav-tabs .dropdown-menu {
+  -webkit-border-radius: 0 0 6px 6px;
+     -moz-border-radius: 0 0 6px 6px;
+          border-radius: 0 0 6px 6px;
+}
+
+.nav-pills .dropdown-menu {
+  -webkit-border-radius: 6px;
+     -moz-border-radius: 6px;
+          border-radius: 6px;
+}
+
+.nav .dropdown-toggle .caret {
+  margin-top: 6px;
+  border-top-color: #007fff;
+  border-bottom-color: #007fff;
+}
+
+.nav .dropdown-toggle:hover .caret,
+.nav .dropdown-toggle:focus .caret {
+  border-top-color: #0066cc;
+  border-bottom-color: #0066cc;
+}
+
+/* move down carets for tabs */
+
+.nav-tabs .dropdown-toggle .caret {
+  margin-top: 8px;
+}
+
+.nav .active .dropdown-toggle .caret {
+  border-top-color: #fff;
+  border-bottom-color: #fff;
+}
+
+.nav-tabs .active .dropdown-toggle .caret {
+  border-top-color: #bbbbbb;
+  border-bottom-color: #bbbbbb;
+}
+
+.nav > .dropdown.active > a:hover,
+.nav > .dropdown.active > a:focus {
+  cursor: pointer;
+}
+
+.nav-tabs .open .dropdown-toggle,
+.nav-pills .open .dropdown-toggle,
+.nav > li.dropdown.open.active > a:hover,
+.nav > li.dropdown.open.active > a:focus {
+  color: #ffffff;
+  background-color: #dfdfdf;
+  border-color: #dfdfdf;
+}
+
+.nav li.dropdown.open .caret,
+.nav li.dropdown.open.active .caret,
+.nav li.dropdown.open a:hover .caret,
+.nav li.dropdown.open a:focus .caret {
+  border-top-color: #ffffff;
+  border-bottom-color: #ffffff;
+  opacity: 1;
+  filter: alpha(opacity=100);
+}
+
+.tabs-stacked .open > a:hover,
+.tabs-stacked .open > a:focus {
+  border-color: #dfdfdf;
+}
+
+.tabbable {
+  *zoom: 1;
+}
+
+.tabbable:before,
+.tabbable:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.tabbable:after {
+  clear: both;
+}
+
+.tab-content {
+  overflow: auto;
+}
+
+.tabs-below > .nav-tabs,
+.tabs-right > .nav-tabs,
+.tabs-left > .nav-tabs {
+  border-bottom: 0;
+}
+
+.tab-content > .tab-pane,
+.pill-content > .pill-pane {
+  display: none;
+}
+
+.tab-content > .active,
+.pill-content > .active {
+  display: block;
+}
+
+.tabs-below > .nav-tabs {
+  border-top: 1px solid #ddd;
+}
+
+.tabs-below > .nav-tabs > li {
+  margin-top: -1px;
+  margin-bottom: 0;
+}
+
+.tabs-below > .nav-tabs > li > a {
+  -webkit-border-radius: 0 0 4px 4px;
+     -moz-border-radius: 0 0 4px 4px;
+          border-radius: 0 0 4px 4px;
+}
+
+.tabs-below > .nav-tabs > li > a:hover,
+.tabs-below > .nav-tabs > li > a:focus {
+  border-top-color: #ddd;
+  border-bottom-color: transparent;
+}
+
+.tabs-below > .nav-tabs > .active > a,
+.tabs-below > .nav-tabs > .active > a:hover,
+.tabs-below > .nav-tabs > .active > a:focus {
+  border-color: transparent #ddd #ddd #ddd;
+}
+
+.tabs-left > .nav-tabs > li,
+.tabs-right > .nav-tabs > li {
+  float: none;
+}
+
+.tabs-left > .nav-tabs > li > a,
+.tabs-right > .nav-tabs > li > a {
+  min-width: 74px;
+  margin-right: 0;
+  margin-bottom: 3px;
+}
+
+.tabs-left > .nav-tabs {
+  float: left;
+  margin-right: 19px;
+  border-right: 1px solid #ddd;
+}
+
+.tabs-left > .nav-tabs > li > a {
+  margin-right: -1px;
+  -webkit-border-radius: 4px 0 0 4px;
+     -moz-border-radius: 4px 0 0 4px;
+          border-radius: 4px 0 0 4px;
+}
+
+.tabs-left > .nav-tabs > li > a:hover,
+.tabs-left > .nav-tabs > li > a:focus {
+  border-color: #eeeeee #dddddd #eeeeee #eeeeee;
+}
+
+.tabs-left > .nav-tabs .active > a,
+.tabs-left > .nav-tabs .active > a:hover,
+.tabs-left > .nav-tabs .active > a:focus {
+  border-color: #ddd transparent #ddd #ddd;
+  *border-right-color: #ffffff;
+}
+
+.tabs-right > .nav-tabs {
+  float: right;
+  margin-left: 19px;
+  border-left: 1px solid #ddd;
+}
+
+.tabs-right > .nav-tabs > li > a {
+  margin-left: -1px;
+  -webkit-border-radius: 0 4px 4px 0;
+     -moz-border-radius: 0 4px 4px 0;
+          border-radius: 0 4px 4px 0;
+}
+
+.tabs-right > .nav-tabs > li > a:hover,
+.tabs-right > .nav-tabs > li > a:focus {
+  border-color: #eeeeee #eeeeee #eeeeee #dddddd;
+}
+
+.tabs-right > .nav-tabs .active > a,
+.tabs-right > .nav-tabs .active > a:hover,
+.tabs-right > .nav-tabs .active > a:focus {
+  border-color: #ddd #ddd #ddd transparent;
+  *border-left-color: #ffffff;
+}
+
+.nav > .disabled > a {
+  color: #dfdfdf;
+}
+
+.nav > .disabled > a:hover,
+.nav > .disabled > a:focus {
+  text-decoration: none;
+  cursor: default;
+  background-color: transparent;
+}
+
+.navbar {
+  *position: relative;
+  *z-index: 2;
+  margin-bottom: 20px;
+  overflow: visible;
+}
+
+.navbar-inner {
+  min-height: 50px;
+  padding-right: 20px;
+  padding-left: 20px;
+  background-color: #080808;
+  background-image: -moz-linear-gradient(top, #080808, #080808);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#080808), to(#080808));
+  background-image: -webkit-linear-gradient(top, #080808, #080808);
+  background-image: -o-linear-gradient(top, #080808, #080808);
+  background-image: linear-gradient(to bottom, #080808, #080808);
+  background-repeat: repeat-x;
+  border: 1px solid transparent;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff080808', GradientType=0);
+  *zoom: 1;
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+     -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+          box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+}
+
+.navbar-inner:before,
+.navbar-inner:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.navbar-inner:after {
+  clear: both;
+}
+
+.navbar .container {
+  width: auto;
+}
+
+.nav-collapse.collapse {
+  height: auto;
+  overflow: visible;
+}
+
+.navbar .brand {
+  display: block;
+  float: left;
+  padding: 15px 20px 15px;
+  margin-left: -20px;
+  font-size: 20px;
+  font-weight: 200;
+  color: #ffffff;
+  text-shadow: 0 1px 0 #080808;
+}
+
+.navbar .brand:hover,
+.navbar .brand:focus {
+  text-decoration: none;
+}
+
+.navbar-text {
+  margin-bottom: 0;
+  line-height: 50px;
+  color: #ffffff;
+}
+
+.navbar-link {
+  color: #ffffff;
+}
+
+.navbar-link:hover,
+.navbar-link:focus {
+  color: #bbbbbb;
+}
+
+.navbar .divider-vertical {
+  height: 50px;
+  margin: 0 9px;
+  border-right: 1px solid #080808;
+  border-left: 1px solid #080808;
+}
+
+.navbar .btn,
+.navbar .btn-group {
+  margin-top: 10px;
+}
+
+.navbar .btn-group .btn,
+.navbar .input-prepend .btn,
+.navbar .input-append .btn,
+.navbar .input-prepend .btn-group,
+.navbar .input-append .btn-group {
+  margin-top: 0;
+}
+
+.navbar-form {
+  margin-bottom: 0;
+  *zoom: 1;
+}
+
+.navbar-form:before,
+.navbar-form:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.navbar-form:after {
+  clear: both;
+}
+
+.navbar-form input,
+.navbar-form select,
+.navbar-form .radio,
+.navbar-form .checkbox {
+  margin-top: 10px;
+}
+
+.navbar-form input,
+.navbar-form select,
+.navbar-form .btn {
+  display: inline-block;
+  margin-bottom: 0;
+}
+
+.navbar-form input[type="image"],
+.navbar-form input[type="checkbox"],
+.navbar-form input[type="radio"] {
+  margin-top: 3px;
+}
+
+.navbar-form .input-append,
+.navbar-form .input-prepend {
+  margin-top: 5px;
+  white-space: nowrap;
+}
+
+.navbar-form .input-append input,
+.navbar-form .input-prepend input {
+  margin-top: 0;
+}
+
+.navbar-search {
+  position: relative;
+  float: left;
+  margin-top: 10px;
+  margin-bottom: 0;
+}
+
+.navbar-search .search-query {
+  padding: 4px 14px;
+  margin-bottom: 0;
+  font-family: "Open Sans", Calibri, Candara, Arial, sans-serif;
+  font-size: 13px;
+  font-weight: normal;
+  line-height: 1;
+  -webkit-border-radius: 15px;
+     -moz-border-radius: 15px;
+          border-radius: 15px;
+}
+
+.navbar-static-top {
+  position: static;
+  margin-bottom: 0;
+}
+
+.navbar-static-top .navbar-inner {
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+  position: fixed;
+  right: 0;
+  left: 0;
+  z-index: 1030;
+  margin-bottom: 0;
+}
+
+.navbar-fixed-top .navbar-inner,
+.navbar-static-top .navbar-inner {
+  border-width: 0 0 1px;
+}
+
+.navbar-fixed-bottom .navbar-inner {
+  border-width: 1px 0 0;
+}
+
+.navbar-fixed-top .navbar-inner,
+.navbar-fixed-bottom .navbar-inner {
+  padding-right: 0;
+  padding-left: 0;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.navbar-static-top .container,
+.navbar-fixed-top .container,
+.navbar-fixed-bottom .container {
+  width: 940px;
+}
+
+.navbar-fixed-top {
+  top: 0;
+}
+
+.navbar-fixed-top .navbar-inner,
+.navbar-static-top .navbar-inner {
+  -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
+     -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
+          box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
+}
+
+.navbar-fixed-bottom {
+  bottom: 0;
+}
+
+.navbar-fixed-bottom .navbar-inner {
+  -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
+     -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
+          box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
+}
+
+.navbar .nav {
+  position: relative;
+  left: 0;
+  display: block;
+  float: left;
+  margin: 0 10px 0 0;
+}
+
+.navbar .nav.pull-right {
+  float: right;
+  margin-right: 0;
+}
+
+.navbar .nav > li {
+  float: left;
+}
+
+.navbar .nav > li > a {
+  float: none;
+  padding: 15px 15px 15px;
+  color: #ffffff;
+  text-decoration: none;
+  text-shadow: 0 1px 0 #080808;
+}
+
+.navbar .nav .dropdown-toggle .caret {
+  margin-top: 8px;
+}
+
+.navbar .nav > li > a:focus,
+.navbar .nav > li > a:hover {
+  color: #bbbbbb;
+  text-decoration: none;
+  background-color: rgba(0, 0, 0, 0.05);
+}
+
+.navbar .nav > .active > a,
+.navbar .nav > .active > a:hover,
+.navbar .nav > .active > a:focus {
+  color: #ffffff;
+  text-decoration: none;
+  background-color: transparent;
+  -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
+     -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
+          box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
+}
+
+.navbar .btn-navbar {
+  display: none;
+  float: right;
+  padding: 7px 10px;
+  margin-right: 5px;
+  margin-left: 5px;
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #000000;
+  *background-color: #000000;
+  background-image: -moz-linear-gradient(top, #000000, #000000);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#000000), to(#000000));
+  background-image: -webkit-linear-gradient(top, #000000, #000000);
+  background-image: -o-linear-gradient(top, #000000, #000000);
+  background-image: linear-gradient(to bottom, #000000, #000000);
+  background-repeat: repeat-x;
+  border-color: #000000 #000000 #000000;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff000000', endColorstr='#ff000000', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+}
+
+.navbar .btn-navbar:hover,
+.navbar .btn-navbar:focus,
+.navbar .btn-navbar:active,
+.navbar .btn-navbar.active,
+.navbar .btn-navbar.disabled,
+.navbar .btn-navbar[disabled] {
+  color: #ffffff;
+  background-color: #000000;
+  *background-color: #000000;
+}
+
+.navbar .btn-navbar:active,
+.navbar .btn-navbar.active {
+  background-color: #000000 \9;
+}
+
+.navbar .btn-navbar .icon-bar {
+  display: block;
+  width: 18px;
+  height: 2px;
+  background-color: #f5f5f5;
+  -webkit-border-radius: 1px;
+     -moz-border-radius: 1px;
+          border-radius: 1px;
+  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+     -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+          box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+}
+
+.btn-navbar .icon-bar + .icon-bar {
+  margin-top: 3px;
+}
+
+.navbar .nav > li > .dropdown-menu:before {
+  position: absolute;
+  top: -7px;
+  left: 9px;
+  display: inline-block;
+  border-right: 7px solid transparent;
+  border-bottom: 7px solid #ccc;
+  border-left: 7px solid transparent;
+  border-bottom-color: rgba(0, 0, 0, 0.2);
+  content: '';
+}
+
+.navbar .nav > li > .dropdown-menu:after {
+  position: absolute;
+  top: -6px;
+  left: 10px;
+  display: inline-block;
+  border-right: 6px solid transparent;
+  border-bottom: 6px solid #ffffff;
+  border-left: 6px solid transparent;
+  content: '';
+}
+
+.navbar-fixed-bottom .nav > li > .dropdown-menu:before {
+  top: auto;
+  bottom: -7px;
+  border-top: 7px solid #ccc;
+  border-bottom: 0;
+  border-top-color: rgba(0, 0, 0, 0.2);
+}
+
+.navbar-fixed-bottom .nav > li > .dropdown-menu:after {
+  top: auto;
+  bottom: -6px;
+  border-top: 6px solid #ffffff;
+  border-bottom: 0;
+}
+
+.navbar .nav li.dropdown > a:hover .caret,
+.navbar .nav li.dropdown > a:focus .caret {
+  border-top-color: #bbbbbb;
+  border-bottom-color: #bbbbbb;
+}
+
+.navbar .nav li.dropdown.open > .dropdown-toggle,
+.navbar .nav li.dropdown.active > .dropdown-toggle,
+.navbar .nav li.dropdown.open.active > .dropdown-toggle {
+  color: #ffffff;
+  background-color: transparent;
+}
+
+.navbar .nav li.dropdown > .dropdown-toggle .caret {
+  border-top-color: #ffffff;
+  border-bottom-color: #ffffff;
+}
+
+.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
+.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
+.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
+  border-top-color: #ffffff;
+  border-bottom-color: #ffffff;
+}
+
+.navbar .pull-right > li > .dropdown-menu,
+.navbar .nav > li > .dropdown-menu.pull-right {
+  right: 0;
+  left: auto;
+}
+
+.navbar .pull-right > li > .dropdown-menu:before,
+.navbar .nav > li > .dropdown-menu.pull-right:before {
+  right: 12px;
+  left: auto;
+}
+
+.navbar .pull-right > li > .dropdown-menu:after,
+.navbar .nav > li > .dropdown-menu.pull-right:after {
+  right: 13px;
+  left: auto;
+}
+
+.navbar .pull-right > li > .dropdown-menu .dropdown-menu,
+.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {
+  right: 100%;
+  left: auto;
+  margin-right: -1px;
+  margin-left: 0;
+  -webkit-border-radius: 6px 0 6px 6px;
+     -moz-border-radius: 6px 0 6px 6px;
+          border-radius: 6px 0 6px 6px;
+}
+
+.navbar-inverse .navbar-inner {
+  background-color: #007fff;
+  background-image: -moz-linear-gradient(top, #007fff, #007fff);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#007fff), to(#007fff));
+  background-image: -webkit-linear-gradient(top, #007fff, #007fff);
+  background-image: -o-linear-gradient(top, #007fff, #007fff);
+  background-image: linear-gradient(to bottom, #007fff, #007fff);
+  background-repeat: repeat-x;
+  border-color: transparent;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff007fff', endColorstr='#ff007fff', GradientType=0);
+}
+
+.navbar-inverse .brand,
+.navbar-inverse .nav > li > a {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+
+.navbar-inverse .brand:hover,
+.navbar-inverse .nav > li > a:hover,
+.navbar-inverse .brand:focus,
+.navbar-inverse .nav > li > a:focus {
+  color: #ffffff;
+}
+
+.navbar-inverse .brand {
+  color: #ffffff;
+}
+
+.navbar-inverse .navbar-text {
+  color: #ffffff;
+}
+
+.navbar-inverse .nav > li > a:focus,
+.navbar-inverse .nav > li > a:hover {
+  color: #ffffff;
+  background-color: rgba(0, 0, 0, 0.05);
+}
+
+.navbar-inverse .nav .active > a,
+.navbar-inverse .nav .active > a:hover,
+.navbar-inverse .nav .active > a:focus {
+  color: #ffffff;
+  background-color: #007fff;
+}
+
+.navbar-inverse .navbar-link {
+  color: #ffffff;
+}
+
+.navbar-inverse .navbar-link:hover,
+.navbar-inverse .navbar-link:focus {
+  color: #ffffff;
+}
+
+.navbar-inverse .divider-vertical {
+  border-right-color: #007fff;
+  border-left-color: #007fff;
+}
+
+.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
+.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
+.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
+  color: #ffffff;
+  background-color: #007fff;
+}
+
+.navbar-inverse .nav li.dropdown > a:hover .caret,
+.navbar-inverse .nav li.dropdown > a:focus .caret {
+  border-top-color: #ffffff;
+  border-bottom-color: #ffffff;
+}
+
+.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
+  border-top-color: #ffffff;
+  border-bottom-color: #ffffff;
+}
+
+.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
+.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
+.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
+  border-top-color: #ffffff;
+  border-bottom-color: #ffffff;
+}
+
+.navbar-inverse .navbar-search .search-query {
+  color: #ffffff;
+  background-color: #80bfff;
+  border-color: #007fff;
+  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
+     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
+          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
+  -webkit-transition: none;
+     -moz-transition: none;
+       -o-transition: none;
+          transition: none;
+}
+
+.navbar-inverse .navbar-search .search-query:-moz-placeholder {
+  color: #999999;
+}
+
+.navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
+  color: #999999;
+}
+
+.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
+  color: #999999;
+}
+
+.navbar-inverse .navbar-search .search-query:focus,
+.navbar-inverse .navbar-search .search-query.focused {
+  padding: 5px 15px;
+  color: #999999;
+  text-shadow: 0 1px 0 #ffffff;
+  background-color: #ffffff;
+  border: 0;
+  outline: 0;
+  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+     -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+          box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+}
+
+.navbar-inverse .btn-navbar {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #0072e6;
+  *background-color: #0072e6;
+  background-image: -moz-linear-gradient(top, #0072e6, #0072e6);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0072e6), to(#0072e6));
+  background-image: -webkit-linear-gradient(top, #0072e6, #0072e6);
+  background-image: -o-linear-gradient(top, #0072e6, #0072e6);
+  background-image: linear-gradient(to bottom, #0072e6, #0072e6);
+  background-repeat: repeat-x;
+  border-color: #0072e6 #0072e6 #004c99;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0072e6', endColorstr='#ff0072e6', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.navbar-inverse .btn-navbar:hover,
+.navbar-inverse .btn-navbar:focus,
+.navbar-inverse .btn-navbar:active,
+.navbar-inverse .btn-navbar.active,
+.navbar-inverse .btn-navbar.disabled,
+.navbar-inverse .btn-navbar[disabled] {
+  color: #ffffff;
+  background-color: #0072e6;
+  *background-color: #0066cc;
+}
+
+.navbar-inverse .btn-navbar:active,
+.navbar-inverse .btn-navbar.active {
+  background-color: #0059b3 \9;
+}
+
+.breadcrumb {
+  padding: 8px 15px;
+  margin: 0 0 20px;
+  list-style: none;
+  background-color: #f5f5f5;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.breadcrumb > li {
+  display: inline-block;
+  *display: inline;
+  text-shadow: 0 1px 0 #ffffff;
+  *zoom: 1;
+}
+
+.breadcrumb > li > .divider {
+  padding: 0 5px;
+  color: #ccc;
+}
+
+.breadcrumb > .active {
+  color: #dfdfdf;
+}
+
+.pagination {
+  margin: 20px 0;
+}
+
+.pagination ul {
+  display: inline-block;
+  *display: inline;
+  margin-bottom: 0;
+  margin-left: 0;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+  *zoom: 1;
+  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+     -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.pagination ul > li {
+  display: inline;
+}
+
+.pagination ul > li > a,
+.pagination ul > li > span {
+  float: left;
+  padding: 4px 12px;
+  line-height: 20px;
+  text-decoration: none;
+  background-color: #dfdfdf;
+  border: 1px solid transparent;
+  border-left-width: 0;
+}
+
+.pagination ul > li > a:hover,
+.pagination ul > li > a:focus,
+.pagination ul > .active > a,
+.pagination ul > .active > span {
+  background-color: #007fff;
+}
+
+.pagination ul > .active > a,
+.pagination ul > .active > span {
+  color: #dfdfdf;
+  cursor: default;
+}
+
+.pagination ul > .disabled > span,
+.pagination ul > .disabled > a,
+.pagination ul > .disabled > a:hover,
+.pagination ul > .disabled > a:focus {
+  color: #dfdfdf;
+  cursor: default;
+  background-color: transparent;
+}
+
+.pagination ul > li:first-child > a,
+.pagination ul > li:first-child > span {
+  border-left-width: 1px;
+  -webkit-border-bottom-left-radius: 0;
+          border-bottom-left-radius: 0;
+  -webkit-border-top-left-radius: 0;
+          border-top-left-radius: 0;
+  -moz-border-radius-bottomleft: 0;
+  -moz-border-radius-topleft: 0;
+}
+
+.pagination ul > li:last-child > a,
+.pagination ul > li:last-child > span {
+  -webkit-border-top-right-radius: 0;
+          border-top-right-radius: 0;
+  -webkit-border-bottom-right-radius: 0;
+          border-bottom-right-radius: 0;
+  -moz-border-radius-topright: 0;
+  -moz-border-radius-bottomright: 0;
+}
+
+.pagination-centered {
+  text-align: center;
+}
+
+.pagination-right {
+  text-align: right;
+}
+
+.pagination-large ul > li > a,
+.pagination-large ul > li > span {
+  padding: 22px 30px;
+  font-size: 17.5px;
+}
+
+.pagination-large ul > li:first-child > a,
+.pagination-large ul > li:first-child > span {
+  -webkit-border-bottom-left-radius: 0;
+          border-bottom-left-radius: 0;
+  -webkit-border-top-left-radius: 0;
+          border-top-left-radius: 0;
+  -moz-border-radius-bottomleft: 0;
+  -moz-border-radius-topleft: 0;
+}
+
+.pagination-large ul > li:last-child > a,
+.pagination-large ul > li:last-child > span {
+  -webkit-border-top-right-radius: 0;
+          border-top-right-radius: 0;
+  -webkit-border-bottom-right-radius: 0;
+          border-bottom-right-radius: 0;
+  -moz-border-radius-topright: 0;
+  -moz-border-radius-bottomright: 0;
+}
+
+.pagination-mini ul > li:first-child > a,
+.pagination-small ul > li:first-child > a,
+.pagination-mini ul > li:first-child > span,
+.pagination-small ul > li:first-child > span {
+  -webkit-border-bottom-left-radius: 0;
+          border-bottom-left-radius: 0;
+  -webkit-border-top-left-radius: 0;
+          border-top-left-radius: 0;
+  -moz-border-radius-bottomleft: 0;
+  -moz-border-radius-topleft: 0;
+}
+
+.pagination-mini ul > li:last-child > a,
+.pagination-small ul > li:last-child > a,
+.pagination-mini ul > li:last-child > span,
+.pagination-small ul > li:last-child > span {
+  -webkit-border-top-right-radius: 0;
+          border-top-right-radius: 0;
+  -webkit-border-bottom-right-radius: 0;
+          border-bottom-right-radius: 0;
+  -moz-border-radius-topright: 0;
+  -moz-border-radius-bottomright: 0;
+}
+
+.pagination-small ul > li > a,
+.pagination-small ul > li > span {
+  padding: 2px 10px;
+  font-size: 11.9px;
+}
+
+.pagination-mini ul > li > a,
+.pagination-mini ul > li > span {
+  padding: 2px 6px;
+  font-size: 10.5px;
+}
+
+.pager {
+  margin: 20px 0;
+  text-align: center;
+  list-style: none;
+  *zoom: 1;
+}
+
+.pager:before,
+.pager:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.pager:after {
+  clear: both;
+}
+
+.pager li {
+  display: inline;
+}
+
+.pager li > a,
+.pager li > span {
+  display: inline-block;
+  padding: 5px 14px;
+  background-color: #fff;
+  border: 1px solid #ddd;
+  -webkit-border-radius: 15px;
+     -moz-border-radius: 15px;
+          border-radius: 15px;
+}
+
+.pager li > a:hover,
+.pager li > a:focus {
+  text-decoration: none;
+  background-color: #f5f5f5;
+}
+
+.pager .next > a,
+.pager .next > span {
+  float: right;
+}
+
+.pager .previous > a,
+.pager .previous > span {
+  float: left;
+}
+
+.pager .disabled > a,
+.pager .disabled > a:hover,
+.pager .disabled > a:focus,
+.pager .disabled > span {
+  color: #dfdfdf;
+  cursor: default;
+  background-color: #fff;
+}
+
+.modal-backdrop {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1040;
+  background-color: #000000;
+}
+
+.modal-backdrop.fade {
+  opacity: 0;
+}
+
+.modal-backdrop,
+.modal-backdrop.fade.in {
+  opacity: 0.8;
+  filter: alpha(opacity=80);
+}
+
+.modal {
+  position: fixed;
+  top: 10%;
+  left: 50%;
+  z-index: 1050;
+  width: 560px;
+  margin-left: -280px;
+  background-color: #ffffff;
+  border: 1px solid #999;
+  border: 1px solid rgba(0, 0, 0, 0.3);
+  *border: 1px solid #999;
+  -webkit-border-radius: 6px;
+     -moz-border-radius: 6px;
+          border-radius: 6px;
+  outline: none;
+  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+     -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+  -webkit-background-clip: padding-box;
+     -moz-background-clip: padding-box;
+          background-clip: padding-box;
+}
+
+.modal.fade {
+  top: -25%;
+  -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;
+     -moz-transition: opacity 0.3s linear, top 0.3s ease-out;
+       -o-transition: opacity 0.3s linear, top 0.3s ease-out;
+          transition: opacity 0.3s linear, top 0.3s ease-out;
+}
+
+.modal.fade.in {
+  top: 10%;
+}
+
+.modal-header {
+  padding: 9px 15px;
+  border-bottom: 1px solid #eee;
+}
+
+.modal-header .close {
+  margin-top: 2px;
+}
+
+.modal-header h3 {
+  margin: 0;
+  line-height: 30px;
+}
+
+.modal-body {
+  position: relative;
+  max-height: 400px;
+  padding: 15px;
+  overflow-y: auto;
+}
+
+.modal-form {
+  margin-bottom: 0;
+}
+
+.modal-footer {
+  padding: 14px 15px 15px;
+  margin-bottom: 0;
+  text-align: right;
+  background-color: #f5f5f5;
+  border-top: 1px solid #ddd;
+  -webkit-border-radius: 0 0 6px 6px;
+     -moz-border-radius: 0 0 6px 6px;
+          border-radius: 0 0 6px 6px;
+  *zoom: 1;
+  -webkit-box-shadow: inset 0 1px 0 #ffffff;
+     -moz-box-shadow: inset 0 1px 0 #ffffff;
+          box-shadow: inset 0 1px 0 #ffffff;
+}
+
+.modal-footer:before,
+.modal-footer:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.modal-footer:after {
+  clear: both;
+}
+
+.modal-footer .btn + .btn {
+  margin-bottom: 0;
+  margin-left: 5px;
+}
+
+.modal-footer .btn-group .btn + .btn {
+  margin-left: -1px;
+}
+
+.modal-footer .btn-block + .btn-block {
+  margin-left: 0;
+}
+
+.tooltip {
+  position: absolute;
+  z-index: 1030;
+  display: block;
+  font-size: 11px;
+  line-height: 1.4;
+  opacity: 0;
+  filter: alpha(opacity=0);
+  visibility: visible;
+}
+
+.tooltip.in {
+  opacity: 0.8;
+  filter: alpha(opacity=80);
+}
+
+.tooltip.top {
+  padding: 5px 0;
+  margin-top: -3px;
+}
+
+.tooltip.right {
+  padding: 0 5px;
+  margin-left: 3px;
+}
+
+.tooltip.bottom {
+  padding: 5px 0;
+  margin-top: 3px;
+}
+
+.tooltip.left {
+  padding: 0 5px;
+  margin-left: -3px;
+}
+
+.tooltip-inner {
+  max-width: 200px;
+  padding: 8px;
+  color: #ffffff;
+  text-align: center;
+  text-decoration: none;
+  background-color: #000000;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.tooltip-arrow {
+  position: absolute;
+  width: 0;
+  height: 0;
+  border-color: transparent;
+  border-style: solid;
+}
+
+.tooltip.top .tooltip-arrow {
+  bottom: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-top-color: #000000;
+  border-width: 5px 5px 0;
+}
+
+.tooltip.right .tooltip-arrow {
+  top: 50%;
+  left: 0;
+  margin-top: -5px;
+  border-right-color: #000000;
+  border-width: 5px 5px 5px 0;
+}
+
+.tooltip.left .tooltip-arrow {
+  top: 50%;
+  right: 0;
+  margin-top: -5px;
+  border-left-color: #000000;
+  border-width: 5px 0 5px 5px;
+}
+
+.tooltip.bottom .tooltip-arrow {
+  top: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-bottom-color: #000000;
+  border-width: 0 5px 5px;
+}
+
+.popover {
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 1010;
+  display: none;
+  max-width: 276px;
+  padding: 1px;
+  text-align: left;
+  white-space: normal;
+  background-color: #ff7518;
+  border: 1px solid #ccc;
+  border: 1px solid rgba(0, 0, 0, 0.2);
+  -webkit-border-radius: 6px;
+     -moz-border-radius: 6px;
+          border-radius: 6px;
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+  -webkit-background-clip: padding-box;
+     -moz-background-clip: padding;
+          background-clip: padding-box;
+}
+
+.popover.top {
+  margin-top: -10px;
+}
+
+.popover.right {
+  margin-left: 10px;
+}
+
+.popover.bottom {
+  margin-top: 10px;
+}
+
+.popover.left {
+  margin-left: -10px;
+}
+
+.popover-title {
+  padding: 8px 14px;
+  margin: 0;
+  font-size: 14px;
+  font-weight: normal;
+  line-height: 18px;
+  background-color: #ff7518;
+  border-bottom: 1px solid #fe6600;
+  -webkit-border-radius: 5px 5px 0 0;
+     -moz-border-radius: 5px 5px 0 0;
+          border-radius: 5px 5px 0 0;
+}
+
+.popover-title:empty {
+  display: none;
+}
+
+.popover-content {
+  padding: 9px 14px;
+}
+
+.popover .arrow,
+.popover .arrow:after {
+  position: absolute;
+  display: block;
+  width: 0;
+  height: 0;
+  border-color: transparent;
+  border-style: solid;
+}
+
+.popover .arrow {
+  border-width: 16px;
+}
+
+.popover .arrow:after {
+  border-width: 15px;
+  content: "";
+}
+
+.popover.top .arrow {
+  bottom: -16px;
+  left: 50%;
+  margin-left: -16px;
+  border-top-color: #999;
+  border-top-color: transparent;
+  border-bottom-width: 0;
+}
+
+.popover.top .arrow:after {
+  bottom: 1px;
+  margin-left: -15px;
+  border-top-color: #ff7518;
+  border-bottom-width: 0;
+}
+
+.popover.right .arrow {
+  top: 50%;
+  left: -16px;
+  margin-top: -16px;
+  border-right-color: #999;
+  border-right-color: transparent;
+  border-left-width: 0;
+}
+
+.popover.right .arrow:after {
+  bottom: -15px;
+  left: 1px;
+  border-right-color: #ff7518;
+  border-left-width: 0;
+}
+
+.popover.bottom .arrow {
+  top: -16px;
+  left: 50%;
+  margin-left: -16px;
+  border-bottom-color: #999;
+  border-bottom-color: transparent;
+  border-top-width: 0;
+}
+
+.popover.bottom .arrow:after {
+  top: 1px;
+  margin-left: -15px;
+  border-bottom-color: #ff7518;
+  border-top-width: 0;
+}
+
+.popover.left .arrow {
+  top: 50%;
+  right: -16px;
+  margin-top: -16px;
+  border-left-color: #999;
+  border-left-color: transparent;
+  border-right-width: 0;
+}
+
+.popover.left .arrow:after {
+  right: 1px;
+  bottom: -15px;
+  border-left-color: #ff7518;
+  border-right-width: 0;
+}
+
+.thumbnails {
+  margin-left: -20px;
+  list-style: none;
+  *zoom: 1;
+}
+
+.thumbnails:before,
+.thumbnails:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.thumbnails:after {
+  clear: both;
+}
+
+.row-fluid .thumbnails {
+  margin-left: 0;
+}
+
+.thumbnails > li {
+  float: left;
+  margin-bottom: 20px;
+  margin-left: 20px;
+}
+
+.thumbnail {
+  display: block;
+  padding: 4px;
+  line-height: 20px;
+  border: 1px solid #ddd;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
+     -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
+          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
+  -webkit-transition: all 0.2s ease-in-out;
+     -moz-transition: all 0.2s ease-in-out;
+       -o-transition: all 0.2s ease-in-out;
+          transition: all 0.2s ease-in-out;
+}
+
+a.thumbnail:hover,
+a.thumbnail:focus {
+  border-color: #007fff;
+  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+     -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+          box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+}
+
+.thumbnail > img {
+  display: block;
+  max-width: 100%;
+  margin-right: auto;
+  margin-left: auto;
+}
+
+.thumbnail .caption {
+  padding: 9px;
+  color: #bbbbbb;
+}
+
+.media,
+.media-body {
+  overflow: hidden;
+  *overflow: visible;
+  zoom: 1;
+}
+
+.media,
+.media .media {
+  margin-top: 15px;
+}
+
+.media:first-child {
+  margin-top: 0;
+}
+
+.media-object {
+  display: block;
+}
+
+.media-heading {
+  margin: 0 0 5px;
+}
+
+.media > .pull-left {
+  margin-right: 10px;
+}
+
+.media > .pull-right {
+  margin-left: 10px;
+}
+
+.media-list {
+  margin-left: 0;
+  list-style: none;
+}
+
+.label,
+.badge {
+  display: inline-block;
+  padding: 2px 4px;
+  font-size: 11.844px;
+  font-weight: bold;
+  line-height: 14px;
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  white-space: nowrap;
+  vertical-align: baseline;
+  background-color: #dfdfdf;
+}
+
+.label {
+  -webkit-border-radius: 3px;
+     -moz-border-radius: 3px;
+          border-radius: 3px;
+}
+
+.badge {
+  padding-right: 9px;
+  padding-left: 9px;
+  -webkit-border-radius: 9px;
+     -moz-border-radius: 9px;
+          border-radius: 9px;
+}
+
+.label:empty,
+.badge:empty {
+  display: none;
+}
+
+a.label:hover,
+a.label:focus,
+a.badge:hover,
+a.badge:focus {
+  color: #ffffff;
+  text-decoration: none;
+  cursor: pointer;
+}
+
+.label-important,
+.badge-important {
+  background-color: #ffffff;
+}
+
+.label-important[href],
+.badge-important[href] {
+  background-color: #e6e6e6;
+}
+
+.label-warning,
+.badge-warning {
+  background-color: #ff7518;
+}
+
+.label-warning[href],
+.badge-warning[href] {
+  background-color: #e45c00;
+}
+
+.label-success,
+.badge-success {
+  background-color: #ffffff;
+}
+
+.label-success[href],
+.badge-success[href] {
+  background-color: #e6e6e6;
+}
+
+.label-info,
+.badge-info {
+  background-color: #ffffff;
+}
+
+.label-info[href],
+.badge-info[href] {
+  background-color: #e6e6e6;
+}
+
+.label-inverse,
+.badge-inverse {
+  background-color: #999999;
+}
+
+.label-inverse[href],
+.badge-inverse[href] {
+  background-color: #808080;
+}
+
+.btn .label,
+.btn .badge {
+  position: relative;
+  top: -1px;
+}
+
+.btn-mini .label,
+.btn-mini .badge {
+  top: 0;
+}
+
+@-webkit-keyframes progress-bar-stripes {
+  from {
+    background-position: 40px 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+
+@-moz-keyframes progress-bar-stripes {
+  from {
+    background-position: 40px 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+
+@-ms-keyframes progress-bar-stripes {
+  from {
+    background-position: 40px 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+
+@-o-keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 40px 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+
+.progress {
+  height: 20px;
+  margin-bottom: 20px;
+  overflow: hidden;
+  background-color: #f7f7f7;
+  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
+  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
+  background-repeat: repeat-x;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
+  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+}
+
+.progress .bar {
+  float: left;
+  width: 0;
+  height: 100%;
+  font-size: 12px;
+  color: #ffffff;
+  text-align: center;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #0e90d2;
+  background-image: -moz-linear-gradient(top, #149bdf, #0480be);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
+  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
+  background-image: -o-linear-gradient(top, #149bdf, #0480be);
+  background-image: linear-gradient(to bottom, #149bdf, #0480be);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
+  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+     -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+  -webkit-transition: width 0.6s ease;
+     -moz-transition: width 0.6s ease;
+       -o-transition: width 0.6s ease;
+          transition: width 0.6s ease;
+}
+
+.progress .bar + .bar {
+  -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+     -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+          box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.progress-striped .bar {
+  background-color: #149bdf;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  -webkit-background-size: 40px 40px;
+     -moz-background-size: 40px 40px;
+       -o-background-size: 40px 40px;
+          background-size: 40px 40px;
+}
+
+.progress.active .bar {
+  -webkit-animation: progress-bar-stripes 2s linear infinite;
+     -moz-animation: progress-bar-stripes 2s linear infinite;
+      -ms-animation: progress-bar-stripes 2s linear infinite;
+       -o-animation: progress-bar-stripes 2s linear infinite;
+          animation: progress-bar-stripes 2s linear infinite;
+}
+
+.progress-danger .bar,
+.progress .bar-danger {
+  background-color: #dd514c;
+  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
+  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
+}
+
+.progress-danger.progress-striped .bar,
+.progress-striped .bar-danger {
+  background-color: #ee5f5b;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+
+.progress-success .bar,
+.progress .bar-success {
+  background-color: #5eb95e;
+  background-image: -moz-linear-gradient(top, #62c462, #57a957);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
+  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+  background-image: -o-linear-gradient(top, #62c462, #57a957);
+  background-image: linear-gradient(to bottom, #62c462, #57a957);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
+}
+
+.progress-success.progress-striped .bar,
+.progress-striped .bar-success {
+  background-color: #62c462;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+
+.progress-info .bar,
+.progress .bar-info {
+  background-color: #4bb1cf;
+  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
+  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
+}
+
+.progress-info.progress-striped .bar,
+.progress-striped .bar-info {
+  background-color: #5bc0de;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+
+.progress-warning .bar,
+.progress .bar-warning {
+  background-color: #ff9046;
+  background-image: -moz-linear-gradient(top, #ffa365, #ff7518);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffa365), to(#ff7518));
+  background-image: -webkit-linear-gradient(top, #ffa365, #ff7518);
+  background-image: -o-linear-gradient(top, #ffa365, #ff7518);
+  background-image: linear-gradient(to bottom, #ffa365, #ff7518);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffa365', endColorstr='#ffff7518', GradientType=0);
+}
+
+.progress-warning.progress-striped .bar,
+.progress-striped .bar-warning {
+  background-color: #ffa365;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+
+.accordion {
+  margin-bottom: 20px;
+}
+
+.accordion-group {
+  margin-bottom: 2px;
+  border: 1px solid #e5e5e5;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.accordion-heading {
+  border-bottom: 0;
+}
+
+.accordion-heading .accordion-toggle {
+  display: block;
+  padding: 8px 15px;
+}
+
+.accordion-toggle {
+  cursor: pointer;
+}
+
+.accordion-inner {
+  padding: 9px 15px;
+  border-top: 1px solid #e5e5e5;
+}
+
+.carousel {
+  position: relative;
+  margin-bottom: 20px;
+  line-height: 1;
+}
+
+.carousel-inner {
+  position: relative;
+  width: 100%;
+  overflow: hidden;
+}
+
+.carousel-inner > .item {
+  position: relative;
+  display: none;
+  -webkit-transition: 0.6s ease-in-out left;
+     -moz-transition: 0.6s ease-in-out left;
+       -o-transition: 0.6s ease-in-out left;
+          transition: 0.6s ease-in-out left;
+}
+
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+  display: block;
+  line-height: 1;
+}
+
+.carousel-inner > .active,
+.carousel-inner > .next,
+.carousel-inner > .prev {
+  display: block;
+}
+
+.carousel-inner > .active {
+  left: 0;
+}
+
+.carousel-inner > .next,
+.carousel-inner > .prev {
+  position: absolute;
+  top: 0;
+  width: 100%;
+}
+
+.carousel-inner > .next {
+  left: 100%;
+}
+
+.carousel-inner > .prev {
+  left: -100%;
+}
+
+.carousel-inner > .next.left,
+.carousel-inner > .prev.right {
+  left: 0;
+}
+
+.carousel-inner > .active.left {
+  left: -100%;
+}
+
+.carousel-inner > .active.right {
+  left: 100%;
+}
+
+.carousel-control {
+  position: absolute;
+  top: 40%;
+  left: 15px;
+  width: 40px;
+  height: 40px;
+  margin-top: -20px;
+  font-size: 60px;
+  font-weight: 100;
+  line-height: 30px;
+  color: #ffffff;
+  text-align: center;
+  background: #080808;
+  border: 3px solid #ffffff;
+  -webkit-border-radius: 23px;
+     -moz-border-radius: 23px;
+          border-radius: 23px;
+  opacity: 0.5;
+  filter: alpha(opacity=50);
+}
+
+.carousel-control.right {
+  right: 15px;
+  left: auto;
+}
+
+.carousel-control:hover,
+.carousel-control:focus {
+  color: #ffffff;
+  text-decoration: none;
+  opacity: 0.9;
+  filter: alpha(opacity=90);
+}
+
+.carousel-indicators {
+  position: absolute;
+  top: 15px;
+  right: 15px;
+  z-index: 5;
+  margin: 0;
+  list-style: none;
+}
+
+.carousel-indicators li {
+  display: block;
+  float: left;
+  width: 10px;
+  height: 10px;
+  margin-left: 5px;
+  text-indent: -999px;
+  background-color: #ccc;
+  background-color: rgba(255, 255, 255, 0.25);
+  border-radius: 5px;
+}
+
+.carousel-indicators .active {
+  background-color: #fff;
+}
+
+.carousel-caption {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  padding: 15px;
+  background: #999999;
+  background: rgba(0, 0, 0, 0.75);
+}
+
+.carousel-caption h4,
+.carousel-caption p {
+  line-height: 20px;
+  color: #ffffff;
+}
+
+.carousel-caption h4 {
+  margin: 0 0 5px;
+}
+
+.carousel-caption p {
+  margin-bottom: 0;
+}
+
+.hero-unit {
+  padding: 60px;
+  margin-bottom: 30px;
+  font-size: 18px;
+  font-weight: 200;
+  line-height: 30px;
+  color: inherit;
+  background-color: #eeeeee;
+  -webkit-border-radius: 6px;
+     -moz-border-radius: 6px;
+          border-radius: 6px;
+}
+
+.hero-unit h1 {
+  margin-bottom: 0;
+  font-size: 60px;
+  line-height: 1;
+  letter-spacing: -1px;
+  color: inherit;
+}
+
+.hero-unit li {
+  line-height: 30px;
+}
+
+.pull-right {
+  float: right;
+}
+
+.pull-left {
+  float: left;
+}
+
+.hide {
+  display: none;
+}
+
+.show {
+  display: block;
+}
+
+.invisible {
+  visibility: hidden;
+}
+
+.affix {
+  position: fixed;
+}
+
+body {
+  font-weight: 300;
+}
+
+h1 {
+  font-size: 50px;
+}
+
+h2,
+h3 {
+  font-size: 26px;
+}
+
+h4 {
+  font-size: 14px;
+}
+
+h5,
+h6 {
+  font-size: 11px;
+}
+
+blockquote {
+  padding: 10px 15px;
+  background-color: #eeeeee;
+  border-left-color: #bbbbbb;
+}
+
+blockquote.pull-right {
+  padding: 10px 15px;
+  border-right-color: #bbbbbb;
+}
+
+blockquote small {
+  color: #bbbbbb;
+}
+
+.muted {
+  color: #bbbbbb;
+}
+
+.text-warning {
+  color: #ff7518;
+}
+
+a.text-warning:hover {
+  color: #e45c00;
+}
+
+.text-error {
+  color: #ff0039;
+}
+
+a.text-error:hover {
+  color: #cc002e;
+}
+
+.text-info {
+  color: #9954bb;
+}
+
+a.text-info:hover {
+  color: #7e3f9d;
+}
+
+.text-success {
+  color: #3fb618;
+}
+
+a.text-success:hover {
+  color: #2f8912;
+}
+
+.navbar .navbar-inner {
+  background-image: none;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+}
+
+.navbar .brand:hover {
+  color: #bbbbbb;
+}
+
+.navbar .nav > .active > a,
+.navbar .nav > .active > a:hover,
+.navbar .nav > .active > a:focus {
+  background-color: rgba(0, 0, 0, 0.05);
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+}
+
+.navbar .nav li.dropdown.open > .dropdown-toggle,
+.navbar .nav li.dropdown.active > .dropdown-toggle,
+.navbar .nav li.dropdown.open.active > .dropdown-toggle {
+  color: #ffffff;
+}
+
+.navbar .nav li.dropdown.open > .dropdown-toggle:hover,
+.navbar .nav li.dropdown.active > .dropdown-toggle:hover,
+.navbar .nav li.dropdown.open.active > .dropdown-toggle:hover {
+  color: #eeeeee;
+}
+
+.navbar .navbar-search .search-query {
+  line-height: normal;
+}
+
+.navbar-inverse .brand,
+.navbar-inverse .nav > li > a {
+  text-shadow: none;
+}
+
+.navbar-inverse .brand:hover,
+.navbar-inverse .nav > .active > a,
+.navbar-inverse .nav > .active > a:hover,
+.navbar-inverse .nav > .active > a:focus {
+  color: #ffffff;
+  background-color: rgba(0, 0, 0, 0.05);
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+}
+
+.navbar-inverse .navbar-search .search-query {
+  color: #080808;
+}
+
+div.subnav {
+  margin: 0 1px;
+  background: #dfdfdf none;
+  border: none;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+}
+
+div.subnav .nav {
+  background-color: transparent;
+}
+
+div.subnav .nav > li > a {
+  border-color: transparent;
+}
+
+div.subnav .nav > .active > a,
+div.subnav .nav > .active > a:hover {
+  color: #ffffff;
+  background-color: #000000;
+  border-color: transparent;
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+}
+
+div.subnav-fixed {
+  top: 51px;
+  margin: 0;
+}
+
+.nav .open .dropdown-toggle,
+.nav > li.dropdown.open.active > a:hover {
+  color: #007fff;
+}
+
+.nav-tabs > li > a {
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.nav-tabs.nav-stacked > li > a:hover {
+  color: #ffffff;
+  background-color: #007fff;
+}
+
+.nav-tabs.nav-stacked > .active > a,
+.nav-tabs.nav-stacked > .active > a:hover {
+  color: #bbbbbb;
+  background-color: #ffffff;
+}
+
+.nav-tabs.nav-stacked > li:first-child > a,
+.nav-tabs.nav-stacked > li:last-child > a {
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.tabs-below > .nav-tabs > li > a,
+.tabs-left > .nav-tabs > li > a,
+.tabs-right > .nav-tabs > li > a {
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.nav-pills > li > a {
+  color: #000000;
+  background-color: #dfdfdf;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.nav-pills > li > a:hover {
+  color: #ffffff;
+  background-color: #000000;
+}
+
+.nav-pills > .disabled > a,
+.nav-pills > .disabled > a:hover {
+  color: #999999;
+  background-color: #eeeeee;
+}
+
+.nav-list > li > a {
+  color: #080808;
+}
+
+.nav-list > li > a:hover {
+  color: #ffffff;
+  text-shadow: none;
+  background-color: #007fff;
+}
+
+.nav-list .nav-header {
+  color: #080808;
+}
+
+.nav-list .divider {
+  background-color: #bbbbbb;
+  border-bottom: none;
+}
+
+.pagination ul {
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+}
+
+.pagination ul > li > a,
+.pagination ul > li > span {
+  margin-right: 6px;
+  color: #080808;
+}
+
+.pagination ul > li > a:hover,
+.pagination ul > li > span:hover {
+  color: #ffffff;
+  background-color: #080808;
+}
+
+.pagination ul > li:last-child > a,
+.pagination ul > li:last-child > span {
+  margin-right: 0;
+}
+
+.pagination ul > .active > a,
+.pagination ul > .active > span {
+  color: #ffffff;
+}
+
+.pagination ul > .disabled > span,
+.pagination ul > .disabled > a,
+.pagination ul > .disabled > a:hover {
+  color: #999999;
+  background-color: #eeeeee;
+}
+
+.pager li > a,
+.pager li > span {
+  color: #080808;
+  background-color: #dfdfdf;
+  border: none;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.pager li > a:hover,
+.pager li > span:hover {
+  color: #ffffff;
+  background-color: #080808;
+}
+
+.pager .disabled > a,
+.pager .disabled > a:hover,
+.pager .disabled > span {
+  color: #999999;
+  background-color: #eeeeee;
+}
+
+.breadcrumb {
+  background-color: #dfdfdf;
+}
+
+.breadcrumb li {
+  text-shadow: none;
+}
+
+.breadcrumb .divider,
+.breadcrumb .active {
+  color: #080808;
+  text-shadow: none;
+}
+
+.btn {
+  padding: 5px 12px;
+  text-shadow: none;
+  background-image: none;
+  border: none;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+}
+
+.btn.disabled {
+  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.btn-large {
+  padding: 22px 30px;
+}
+
+.btn-small {
+  padding: 2px 10px;
+}
+
+.btn-mini {
+  padding: 2px 6px;
+}
+
+.btn-group > .btn:first-child,
+.btn-group > .btn:last-child,
+.btn-group > .dropdown-toggle {
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.btn-group > .btn + .dropdown-toggle {
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+}
+
+.table tbody tr.success td,
+.table tbody tr.error td,
+.table tbody tr.info td,
+.table tbody tr.warning td {
+  color: #ffffff;
+}
+
+.table-bordered {
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.table-bordered thead:first-child tr:first-child th:first-child,
+.table-bordered tbody:first-child tr:first-child td:first-child {
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.table-bordered thead:last-child tr:last-child th:first-child,
+.table-bordered tbody:last-child tr:last-child td:first-child,
+.table-bordered tfoot:last-child tr:last-child td:first-child {
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+select,
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="date"],
+input[type="month"],
+input[type="time"],
+input[type="week"],
+input[type="number"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="tel"],
+input[type="color"] {
+  color: #080808;
+}
+
+.control-group.warning .control-label,
+.control-group.warning .help-block,
+.control-group.warning .help-inline {
+  color: #ff7518;
+}
+
+.control-group.warning input,
+.control-group.warning select,
+.control-group.warning textarea {
+  color: #080808;
+  border-color: #ff7518;
+}
+
+.control-group.error .control-label,
+.control-group.error .help-block,
+.control-group.error .help-inline {
+  color: #ff0039;
+}
+
+.control-group.error input,
+.control-group.error select,
+.control-group.error textarea {
+  color: #080808;
+  border-color: #ff0039;
+}
+
+.control-group.info .control-label,
+.control-group.info .help-block,
+.control-group.info .help-inline {
+  color: #9954bb;
+}
+
+.control-group.info input,
+.control-group.info select,
+.control-group.info textarea {
+  color: #080808;
+  border-color: #9954bb;
+}
+
+.control-group.success .control-label,
+.control-group.success .help-block,
+.control-group.success .help-inline {
+  color: #3fb618;
+}
+
+.control-group.success input,
+.control-group.success select,
+.control-group.success textarea {
+  color: #080808;
+  border-color: #3fb618;
+}
+
+legend {
+  color: #080808;
+  border-bottom: none;
+}
+
+.form-actions {
+  background-color: #eeeeee;
+  border-top: none;
+}
+
+.dropdown-menu {
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.alert {
+  text-shadow: none;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.alert-heading,
+.alert h1,
+.alert h2,
+.alert h3,
+.alert h4,
+.alert h5,
+.alert h6 {
+  color: #ffffff;
+}
+
+.label {
+  min-width: 80px;
+  min-height: 80px;
+  font-weight: 300;
+  text-shadow: none;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.label-success {
+  background-color: #3fb618;
+}
+
+.label-important {
+  background-color: #ff0039;
+}
+
+.label-info {
+  background-color: #9954bb;
+}
+
+.label-inverse {
+  background-color: #000000;
+}
+
+.badge {
+  font-weight: 300;
+  text-shadow: none;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.badge-success {
+  background-color: #3fb618;
+}
+
+.badge-important {
+  background-color: #ff0039;
+}
+
+.badge-info {
+  background-color: #9954bb;
+}
+
+.badge-inverse {
+  background-color: #000000;
+}
+
+.hero-unit {
+  border: none;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+}
+
+.well {
+  border: none;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+}
+
+[class^="icon-"],
+[class*=" icon-"] {
+  margin: 0 2px;
+  vertical-align: -2px;
+}
+
+a.thumbnail {
+  background-color: #dfdfdf;
+}
+
+a.thumbnail:hover {
+  background-color: #bbbbbb;
+  border-color: transparent;
+}
+
+.progress {
+  height: 6px;
+  background-color: #eeeeee;
+  background-image: none;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+}
+
+.progress .bar {
+  background-color: #007fff;
+  background-image: none;
+}
+
+.progress-info {
+  background-color: #9954bb;
+}
+
+.progress-success {
+  background-color: #3fb618;
+}
+
+.progress-warning {
+  background-color: #ff7518;
+}
+
+.progress-danger {
+  background-color: #ff0039;
+}
+
+.modal {
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.modal-header {
+  border-bottom: none;
+}
+
+.modal-footer {
+  background-color: transparent;
+  border-top: none;
+}
+
+.popover {
+  color: #ffffff;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+
+.popover-title {
+  color: #ffffff;
+  border-bottom: none;
+}
+
+.pull-right {
+  float: right;
+}
+
+.pull-left {
+  float: left;
+}
+
+.hide {
+  display: none;
+}
+
+.show {
+  display: block;
+}
+
+.invisible {
+  visibility: hidden;
+}
+
+.affix {
+  position: fixed;
+}
\ No newline at end of file
diff --git a/releng/src/site/resources/css/bootstrap.min.css b/releng/src/site/resources/css/bootstrap.min.css
new file mode 100644
index 0000000..13d9a33
--- /dev/null
+++ b/releng/src/site/resources/css/bootstrap.min.css
@@ -0,0 +1,9 @@
+@import url('//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700');/*!
+ * Bootstrap v2.3.2
+ *
+ * Copyright 2013 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world by @mdo and @fat.
+ */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Open Sans",Calibri,Candara,Arial,sans-serif;font-size:14px;line-height:20px;color:#555;background-color:#fff}a{color:#007fff;text-decoration:none}a:hover,a:focus{color:#06c;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#dfdfdf}a.muted:hover,a.muted:focus{color:#c6c6c6}.text-warning{color:#fff}a.text-warning:hover,a.text-warning:focus{color:#e6e6e6}.text-error{color:#fff}a.text-error:hover,a.text-error:focus{color:#e6e6e6}.text-info{color:#fff}a.text-info:hover,a.text-info:focus{color:#e6e6e6}.text-success{color:#fff}a.text-success:hover,a.text-success:focus{color:#e6e6e6}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:300;line-height:20px;color:#080808;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#dfdfdf}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #dfdfdf}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#dfdfdf}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#999;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#dfdfdf}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Open Sans",Calibri,Candara,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#bbb;vertical-align:middle;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #bbb;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #bbb}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#dfdfdf;cursor:not-allowed;background-color:#fcfcfc;border-color:#bbb;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#bbb}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#bbb}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#bbb}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#fff}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#fff}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#fff;background-color:#ff7518;border-color:#fff}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#fff}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#fff}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#fff;background-color:#ff0039;border-color:#fff}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#fff}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#fff}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#fff;background-color:#3fb618;border-color:#fff}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#fff}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#fff}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#fff;background-color:#9954bb;border-color:#fff}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#7b7b7b}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#96ed7a;border-color:#3fb618}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topleft:0}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-topright:0}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topleft:0}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-topright:0}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#e8f8fd}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#3fb618}.table tbody tr.error>td{background-color:#ff0039}.table tbody tr.warning>td{background-color:#ff7518}.table tbody tr.info>td{background-color:#9954bb}.table-hover tbody tr.success:hover>td{background-color:#379f15}.table-hover tbody tr.error:hover>td{background-color:#e60033}.table-hover tbody tr.warning:hover>td{background-color:#fe6600}.table-hover tbody tr.info:hover>td{background-color:#8d46b0}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#999;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#007af5;background-image:-moz-linear-gradient(top,#007fff,#0072e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#007fff),to(#0072e6));background-image:-webkit-linear-gradient(top,#007fff,#0072e6);background-image:-o-linear-gradient(top,#007fff,#0072e6);background-image:linear-gradient(to bottom,#007fff,#0072e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff007fff',endColorstr='#ff0072e6',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#007af5;background-image:-moz-linear-gradient(top,#007fff,#0072e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#007fff),to(#0072e6));background-image:-webkit-linear-gradient(top,#007fff,#0072e6);background-image:-o-linear-gradient(top,#007fff,#0072e6);background-image:linear-gradient(to bottom,#007fff,#0072e6);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff007fff',endColorstr='#ff0072e6',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#dfdfdf}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#eee;border:1px solid #dcdcdc;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.well-small{padding:9px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#999;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#dfdfdf;*background-color:#c8c8c8;background-image:-moz-linear-gradient(top,#eee,#c8c8c8);background-image:-webkit-gradient(linear,0 0,0 100%,from(#eee),to(#c8c8c8));background-image:-webkit-linear-gradient(top,#eee,#c8c8c8);background-image:-o-linear-gradient(top,#eee,#c8c8c8);background-image:linear-gradient(to bottom,#eee,#c8c8c8);background-repeat:repeat-x;border:1px solid #bbb;*border:0;border-color:#c8c8c8 #c8c8c8 #a2a2a2;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#a2a2a2;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee',endColorstr='#ffc8c8c8',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#999;background-color:#c8c8c8;*background-color:#bbb}.btn:active,.btn.active{background-color:#aeaeae \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#999;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:22px 30px;font-size:17.5px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:2px 6px;font-size:10.5px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0f82f5;*background-color:#0072e6;background-image:-moz-linear-gradient(top,#1a8cff,#0072e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1a8cff),to(#0072e6));background-image:-webkit-linear-gradient(top,#1a8cff,#0072e6);background-image:-o-linear-gradient(top,#1a8cff,#0072e6);background-image:linear-gradient(to bottom,#1a8cff,#0072e6);background-repeat:repeat-x;border-color:#0072e6 #0072e6 #004c99;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1a8cff',endColorstr='#ff0072e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#0072e6;*background-color:#06c}.btn-primary:active,.btn-primary.active{background-color:#0059b3 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#fe781e;*background-color:#fe6600;background-image:-moz-linear-gradient(top,#ff8432,#fe6600);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ff8432),to(#fe6600));background-image:-webkit-linear-gradient(top,#ff8432,#fe6600);background-image:-o-linear-gradient(top,#ff8432,#fe6600);background-image:linear-gradient(to bottom,#ff8432,#fe6600);background-repeat:repeat-x;border-color:#fe6600 #fe6600 #b14700;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff8432',endColorstr='#fffe6600',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#fe6600;*background-color:#e45c00}.btn-warning:active,.btn-warning.active{background-color:#cb5200 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#f50f43;*background-color:#e60033;background-image:-moz-linear-gradient(top,#ff1a4d,#e60033);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ff1a4d),to(#e60033));background-image:-webkit-linear-gradient(top,#ff1a4d,#e60033);background-image:-o-linear-gradient(top,#ff1a4d,#e60033);background-image:linear-gradient(to bottom,#ff1a4d,#e60033);background-repeat:repeat-x;border-color:#e60033 #e60033 #902;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff1a4d',endColorstr='#ffe60033',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#e60033;*background-color:#cc002e}.btn-danger:active,.btn-danger.active{background-color:#b30028 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#41bb19;*background-color:#379f15;background-image:-moz-linear-gradient(top,#47cd1b,#379f15);background-image:-webkit-gradient(linear,0 0,0 100%,from(#47cd1b),to(#379f15));background-image:-webkit-linear-gradient(top,#47cd1b,#379f15);background-image:-o-linear-gradient(top,#47cd1b,#379f15);background-image:linear-gradient(to bottom,#47cd1b,#379f15);background-repeat:repeat-x;border-color:#379f15 #379f15 #205c0c;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff47cd1b',endColorstr='#ff379f15',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#379f15;*background-color:#2f8912}.btn-success:active,.btn-success.active{background-color:#28720f \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#9b59bb;*background-color:#8d46b0;background-image:-moz-linear-gradient(top,#a466c2,#8d46b0);background-image:-webkit-gradient(linear,0 0,0 100%,from(#a466c2),to(#8d46b0));background-image:-webkit-linear-gradient(top,#a466c2,#8d46b0);background-image:-o-linear-gradient(top,#a466c2,#8d46b0);background-image:linear-gradient(to bottom,#a466c2,#8d46b0);background-repeat:repeat-x;border-color:#8d46b0 #8d46b0 #613079;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa466c2',endColorstr='#ff8d46b0',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#8d46b0;*background-color:#7e3f9d}.btn-info:active,.btn-info.active{background-color:#6f378b \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#080808;*background-color:#000;background-image:-moz-linear-gradient(top,#0d0d0d,#000);background-image:-webkit-gradient(linear,0 0,0 100%,from(#0d0d0d),to(#000));background-image:-webkit-linear-gradient(top,#0d0d0d,#000);background-image:-o-linear-gradient(top,#0d0d0d,#000);background-image:linear-gradient(to bottom,#0d0d0d,#000);background-repeat:repeat-x;border-color:#000 #000 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0d0d0d',endColorstr='#ff000000',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#000;*background-color:#000}.btn-inverse:active,.btn-inverse.active{background-color:#000 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#007fff;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#06c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#999;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#c8c8c8}.btn-group.open .btn-primary.dropdown-toggle{background-color:#0072e6}.btn-group.open .btn-warning.dropdown-toggle{background-color:#fe6600}.btn-group.open .btn-danger.dropdown-toggle{background-color:#e60033}.btn-group.open .btn-success.dropdown-toggle{background-color:#379f15}.btn-group.open .btn-info.dropdown-toggle{background-color:#8d46b0}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#000}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#ff7518;border:1px solid transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.alert,.alert h4{color:#fff}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#fff;background-color:#3fb618;border-color:transparent}.alert-success h4{color:#fff}.alert-danger,.alert-error{color:#fff;background-color:#ff0039;border-color:transparent}.alert-danger h4,.alert-error h4{color:#fff}.alert-info{color:#fff;background-color:#9954bb;border-color:transparent}.alert-info h4{color:#fff}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#dfdfdf;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#007fff}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#bbb;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#007fff}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#007fff;border-bottom-color:#007fff}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#06c;border-bottom-color:#06c}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#bbb;border-bottom-color:#bbb}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#dfdfdf;border-color:#dfdfdf}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#dfdfdf}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#dfdfdf}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:50px;padding-right:20px;padding-left:20px;background-color:#080808;background-image:-moz-linear-gradient(top,#080808,#080808);background-image:-webkit-gradient(linear,0 0,0 100%,from(#080808),to(#080808));background-image:-webkit-linear-gradient(top,#080808,#080808);background-image:-o-linear-gradient(top,#080808,#080808);background-image:linear-gradient(to bottom,#080808,#080808);background-repeat:repeat-x;border:1px solid transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808',endColorstr='#ff080808',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:15px 20px 15px;margin-left:-20px;font-size:20px;font-weight:200;color:#fff;text-shadow:0 1px 0 #080808}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:50px;color:#fff}.navbar-link{color:#fff}.navbar-link:hover,.navbar-link:focus{color:#bbb}.navbar .divider-vertical{height:50px;margin:0 9px;border-right:1px solid #080808;border-left:1px solid #080808}.navbar .btn,.navbar .btn-group{margin-top:10px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:10px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:10px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Open Sans",Calibri,Candara,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:15px 15px 15px;color:#fff;text-decoration:none;text-shadow:0 1px 0 #080808}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#bbb;text-decoration:none;background-color:rgba(0,0,0,0.05)}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#fff;text-decoration:none;background-color:transparent;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#000;*background-color:#000;background-image:-moz-linear-gradient(top,#000,#000);background-image:-webkit-gradient(linear,0 0,0 100%,from(#000),to(#000));background-image:-webkit-linear-gradient(top,#000,#000);background-image:-o-linear-gradient(top,#000,#000);background-image:linear-gradient(to bottom,#000,#000);background-repeat:repeat-x;border-color:#000 #000 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff000000',endColorstr='#ff000000',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#000;*background-color:#000}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#000 \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#bbb;border-bottom-color:#bbb}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:transparent}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#007fff;background-image:-moz-linear-gradient(top,#007fff,#007fff);background-image:-webkit-gradient(linear,0 0,0 100%,from(#007fff),to(#007fff));background-image:-webkit-linear-gradient(top,#007fff,#007fff);background-image:-o-linear-gradient(top,#007fff,#007fff);background-image:linear-gradient(to bottom,#007fff,#007fff);background-repeat:repeat-x;border-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff007fff',endColorstr='#ff007fff',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#fff}.navbar-inverse .navbar-text{color:#fff}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:rgba(0,0,0,0.05)}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#007fff}.navbar-inverse .navbar-link{color:#fff}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#007fff;border-left-color:#007fff}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#007fff}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#80bfff;border-color:#007fff;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#999}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#999}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#999}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#999;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0072e6;*background-color:#0072e6;background-image:-moz-linear-gradient(top,#0072e6,#0072e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#0072e6),to(#0072e6));background-image:-webkit-linear-gradient(top,#0072e6,#0072e6);background-image:-o-linear-gradient(top,#0072e6,#0072e6);background-image:linear-gradient(to bottom,#0072e6,#0072e6);background-repeat:repeat-x;border-color:#0072e6 #0072e6 #004c99;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0072e6',endColorstr='#ff0072e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#0072e6;*background-color:#06c}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#0059b3 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#dfdfdf}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#dfdfdf;border:1px solid transparent;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#007fff}.pagination ul>.active>a,.pagination ul>.active>span{color:#dfdfdf;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#dfdfdf;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:22px 30px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:2px 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#dfdfdf;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#ff7518;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#ff7518;border-bottom:1px solid #fe6600;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:16px}.popover .arrow:after{border-width:15px;content:""}.popover.top .arrow{bottom:-16px;left:50%;margin-left:-16px;border-top-color:#999;border-top-color:transparent;border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-15px;border-top-color:#ff7518;border-bottom-width:0}.popover.right .arrow{top:50%;left:-16px;margin-top:-16px;border-right-color:#999;border-right-color:transparent;border-left-width:0}.popover.right .arrow:after{bottom:-15px;left:1px;border-right-color:#ff7518;border-left-width:0}.popover.bottom .arrow{top:-16px;left:50%;margin-left:-16px;border-bottom-color:#999;border-bottom-color:transparent;border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-15px;border-bottom-color:#ff7518;border-top-width:0}.popover.left .arrow{top:50%;right:-16px;margin-top:-16px;border-left-color:#999;border-left-color:transparent;border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-15px;border-left-color:#ff7518;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#007fff;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#bbb}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#dfdfdf}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#fff}.label-important[href],.badge-important[href]{background-color:#e6e6e6}.label-warning,.badge-warning{background-color:#ff7518}.label-warning[href],.badge-warning[href]{background-color:#e45c00}.label-success,.badge-success{background-color:#fff}.label-success[href],.badge-success[href]{background-color:#e6e6e6}.label-info,.badge-info{background-color:#fff}.label-info[href],.badge-info[href]{background-color:#e6e6e6}.label-inverse,.badge-inverse{background-color:#999}.label-inverse[href],.badge-inverse[href]{background-color:#808080}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#ff9046;background-image:-moz-linear-gradient(top,#ffa365,#ff7518);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ffa365),to(#ff7518));background-image:-webkit-linear-gradient(top,#ffa365,#ff7518);background-image:-o-linear-gradient(top,#ffa365,#ff7518);background-image:linear-gradient(to bottom,#ffa365,#ff7518);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffa365',endColorstr='#ffff7518',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#ffa365;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#080808;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#999;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}body{font-weight:300}h1{font-size:50px}h2,h3{font-size:26px}h4{font-size:14px}h5,h6{font-size:11px}blockquote{padding:10px 15px;background-color:#eee;border-left-color:#bbb}blockquote.pull-right{padding:10px 15px;border-right-color:#bbb}blockquote small{color:#bbb}.muted{color:#bbb}.text-warning{color:#ff7518}a.text-warning:hover{color:#e45c00}.text-error{color:#ff0039}a.text-error:hover{color:#cc002e}.text-info{color:#9954bb}a.text-info:hover{color:#7e3f9d}.text-success{color:#3fb618}a.text-success:hover{color:#2f8912}.navbar .navbar-inner{background-image:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.navbar .brand:hover{color:#bbb}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{background-color:rgba(0,0,0,0.05);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#fff}.navbar .nav li.dropdown.open>.dropdown-toggle:hover,.navbar .nav li.dropdown.active>.dropdown-toggle:hover,.navbar .nav li.dropdown.open.active>.dropdown-toggle:hover{color:#eee}.navbar .navbar-search .search-query{line-height:normal}.navbar-inverse .brand,.navbar-inverse .nav>li>a{text-shadow:none}.navbar-inverse .brand:hover,.navbar-inverse .nav>.active>a,.navbar-inverse .nav>.active>a:hover,.navbar-inverse .nav>.active>a:focus{color:#fff;background-color:rgba(0,0,0,0.05);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.navbar-inverse .navbar-search .search-query{color:#080808}div.subnav{margin:0 1px;background:#dfdfdf none;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}div.subnav .nav{background-color:transparent}div.subnav .nav>li>a{border-color:transparent}div.subnav .nav>.active>a,div.subnav .nav>.active>a:hover{color:#fff;background-color:#000;border-color:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}div.subnav-fixed{top:51px;margin:0}.nav .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#007fff}.nav-tabs>li>a{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li>a:hover{color:#fff;background-color:#007fff}.nav-tabs.nav-stacked>.active>a,.nav-tabs.nav-stacked>.active>a:hover{color:#bbb;background-color:#fff}.nav-tabs.nav-stacked>li:first-child>a,.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.tabs-below>.nav-tabs>li>a,.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-pills>li>a{color:#000;background-color:#dfdfdf;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-pills>li>a:hover{color:#fff;background-color:#000}.nav-pills>.disabled>a,.nav-pills>.disabled>a:hover{color:#999;background-color:#eee}.nav-list>li>a{color:#080808}.nav-list>li>a:hover{color:#fff;text-shadow:none;background-color:#007fff}.nav-list .nav-header{color:#080808}.nav-list .divider{background-color:#bbb;border-bottom:0}.pagination ul{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.pagination ul>li>a,.pagination ul>li>span{margin-right:6px;color:#080808}.pagination ul>li>a:hover,.pagination ul>li>span:hover{color:#fff;background-color:#080808}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{margin-right:0}.pagination ul>.active>a,.pagination ul>.active>span{color:#fff}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999;background-color:#eee}.pager li>a,.pager li>span{color:#080808;background-color:#dfdfdf;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.pager li>a:hover,.pager li>span:hover{color:#fff;background-color:#080808}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999;background-color:#eee}.breadcrumb{background-color:#dfdfdf}.breadcrumb li{text-shadow:none}.breadcrumb .divider,.breadcrumb .active{color:#080808;text-shadow:none}.btn{padding:5px 12px;text-shadow:none;background-image:none;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn.disabled{box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-large{padding:22px 30px}.btn-small{padding:2px 10px}.btn-mini{padding:2px 6px}.btn-group>.btn:first-child,.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.dropdown-toggle{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.table tbody tr.success td,.table tbody tr.error td,.table tbody tr.info td,.table tbody tr.warning td{color:#fff}.table-bordered{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child,.table-bordered tfoot:last-child tr:last-child td:first-child{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"]{color:#080808}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#ff7518}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#080808;border-color:#ff7518}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#ff0039}.control-group.error input,.control-group.error select,.control-group.error textarea{color:#080808;border-color:#ff0039}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#9954bb}.control-group.info input,.control-group.info select,.control-group.info textarea{color:#080808;border-color:#9954bb}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#3fb618}.control-group.success input,.control-group.success select,.control-group.success textarea{color:#080808;border-color:#3fb618}legend{color:#080808;border-bottom:0}.form-actions{background-color:#eee;border-top:0}.dropdown-menu{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.alert{text-shadow:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.alert-heading,.alert h1,.alert h2,.alert h3,.alert h4,.alert h5,.alert h6{color:#fff}.label{min-width:80px;min-height:80px;font-weight:300;text-shadow:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.label-success{background-color:#3fb618}.label-important{background-color:#ff0039}.label-info{background-color:#9954bb}.label-inverse{background-color:#000}.badge{font-weight:300;text-shadow:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.badge-success{background-color:#3fb618}.badge-important{background-color:#ff0039}.badge-info{background-color:#9954bb}.badge-inverse{background-color:#000}.hero-unit{border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.well{border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}[class^="icon-"],[class*=" icon-"]{margin:0 2px;vertical-align:-2px}a.thumbnail{background-color:#dfdfdf}a.thumbnail:hover{background-color:#bbb;border-color:transparent}.progress{height:6px;background-color:#eee;background-image:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.progress .bar{background-color:#007fff;background-image:none}.progress-info{background-color:#9954bb}.progress-success{background-color:#3fb618}.progress-warning{background-color:#ff7518}.progress-danger{background-color:#ff0039}.modal{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.modal-header{border-bottom:0}.modal-footer{background-color:transparent;border-top:0}.popover{color:#fff;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.popover-title{color:#fff;border-bottom:0}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}
\ No newline at end of file
diff --git a/releng/src/site/resources/css/github.min.css b/releng/src/site/resources/css/github.min.css
new file mode 100644
index 0000000..ebf0ec2
--- /dev/null
+++ b/releng/src/site/resources/css/github.min.css
@@ -0,0 +1 @@
+pre code{display:block;padding:.5em;color:#333;background:#f8f8ff}pre .comment,pre .template_comment,pre .diff .header,pre .javadoc{color:#998;font-style:italic}pre .keyword,pre .css .rule .keyword,pre .winutils,pre .javascript .title,pre .nginx .title,pre .subst,pre .request,pre .status{color:#333;font-weight:bold}pre .number,pre .hexcolor,pre .ruby .constant{color:#099}pre .string,pre .tag .value,pre .phpdoc,pre .tex .formula{color:#d14}pre .title,pre .id,pre .coffeescript .params,pre .scss .preprocessor{color:#900;font-weight:bold}pre .javascript .title,pre .lisp .title,pre .clojure .title,pre .subst{font-weight:normal}pre .class .title,pre .haskell .type,pre .vhdl .literal,pre .tex .command{color:#458;font-weight:bold}pre .tag,pre .tag .title,pre .rules .property,pre .django .tag .keyword{color:#000080;font-weight:normal}pre .attribute,pre .variable,pre .lisp .body{color:#008080}pre .regexp{color:#009926}pre .class{color:#458;font-weight:bold}pre .symbol,pre .ruby .symbol .string,pre .lisp .keyword,pre .tex .special,pre .prompt{color:#990073}pre .built_in,pre .lisp .title,pre .clojure .built_in{color:#0086b3}pre .preprocessor,pre .pragma,pre .pi,pre .doctype,pre .shebang,pre .cdata{color:#999;font-weight:bold}pre .deletion{background:#fdd}pre .addition{background:#dfd}pre .diff .change{background:#0086b3}pre .chunk{color:#aaa}
\ No newline at end of file
diff --git a/releng/src/site/resources/css/highlightjs/default.min.css b/releng/src/site/resources/css/highlightjs/default.min.css
new file mode 100644
index 0000000..c6975d8
--- /dev/null
+++ b/releng/src/site/resources/css/highlightjs/default.min.css
@@ -0,0 +1 @@
+pre code{display:block;padding:.5em;background:#f0f0f0}pre code,pre .subst,pre .tag .title,pre .lisp .title,pre .clojure .built_in,pre .nginx .title{color:black}pre .string,pre .title,pre .constant,pre .parent,pre .tag .value,pre .rules .value,pre .rules .value .number,pre .preprocessor,pre .pragma,pre .haml .symbol,pre .ruby .symbol,pre .ruby .symbol .string,pre .aggregate,pre .template_tag,pre .django .variable,pre .smalltalk .class,pre .addition,pre .flow,pre .stream,pre .bash .variable,pre .apache .tag,pre .apache .cbracket,pre .tex .command,pre .tex .special,pre .erlang_repl .function_or_atom,pre .asciidoc .header,pre .markdown .header,pre .coffeescript .attribute{color:#800}pre .smartquote,pre .comment,pre .annotation,pre .template_comment,pre .diff .header,pre .chunk,pre .asciidoc .blockquote,pre .markdown .blockquote{color:#888}pre .number,pre .date,pre .regexp,pre .literal,pre .hexcolor,pre .smalltalk .symbol,pre .smalltalk .char,pre .go .constant,pre .change,pre .lasso .variable,pre .makefile .variable,pre .asciidoc .bullet,pre .markdown .bullet,pre .asciidoc .link_url,pre .markdown .link_url{color:#080}pre .label,pre .javadoc,pre .ruby .string,pre .decorator,pre .filter .argument,pre .localvars,pre .array,pre .attr_selector,pre .important,pre .pseudo,pre .pi,pre .haml .bullet,pre .doctype,pre .deletion,pre .envvar,pre .shebang,pre .apache .sqbracket,pre .nginx .built_in,pre .tex .formula,pre .erlang_repl .reserved,pre .prompt,pre .asciidoc .link_label,pre .markdown .link_label,pre .vhdl .attribute,pre .clojure .attribute,pre .asciidoc .attribute,pre .lasso .attribute,pre .coffeescript .property,pre .makefile .phony{color:#88F}pre .keyword,pre .id,pre .title,pre .built_in,pre .aggregate,pre .css .tag,pre .javadoctag,pre .phpdoc,pre .yardoctag,pre .smalltalk .class,pre .winutils,pre .bash .variable,pre .apache .tag,pre .go .typename,pre .tex .command,pre .asciidoc .strong,pre .markdown .strong,pre .request,pre .status{font-weight:bold}pre .asciidoc .emphasis,pre .markdown .emphasis{font-style:italic}pre .nginx .built_in{font-weight:normal}pre .coffeescript .javascript,pre .javascript .xml,pre .lasso .markup,pre .tex .formula,pre .xml .javascript,pre .xml .vbscript,pre .xml .css,pre .xml .cdata{opacity:.5}
\ No newline at end of file
diff --git a/releng/src/site/resources/css/site.css b/releng/src/site/resources/css/site.css
new file mode 100644
index 0000000..b644917
--- /dev/null
+++ b/releng/src/site/resources/css/site.css
@@ -0,0 +1,65 @@
+.color-highlight {
+	color: #225E9B;
+}
+
+body {
+	background-image:url(../images/bg.png);
+}
+
+body[class*="page-themes-bootswatch"] {
+	background-image: none;
+}
+
+body[class*="page-themes-bootswatch"] .color-highlight {
+	color: inherit;
+}
+
+.thumbnail-row {
+	margin-top: 10px;
+}
+
+/*h1, */h2 {
+  margin-top: 30px;
+}
+
+h3, h4, h5, h6 {
+  margin-top: 20px;
+}
+
+.carousel-caption a {
+  color: white;
+}
+
+/* A bit of workaround for links being not clickable due to :before element in headings */
+.project-reflow-parent.page-index h2[id]:before {
+  height: 30px;
+  margin-top: -30px;
+}
+
+.project-reflow-parent.page-index .sidebar {
+  margin-top: 10px;
+}
+
+.project-reflow-parent.page-index .sidebar {
+  margin-top: 10px;
+}
+
+.project-reflow-parent.page-index .sidebar h3 {
+  margin-top: 10px;
+}
+
+
+@media (min-width: 980px) {
+  .page-themes-bootswatch-readable .navbar.affix {
+    top: 60px;
+  }
+
+  .page-themes-bootswatch-cerulean .navbar.affix {
+    top: 50px;
+  }
+
+  .page-themes-bootswatch-spruce .navbar.affix {
+    top: 55px;
+  }
+}
+
diff --git a/releng/src/site/resources/images/bg.png b/releng/src/site/resources/images/bg.png
new file mode 100644
index 0000000..dc6adc7
--- /dev/null
+++ b/releng/src/site/resources/images/bg.png
Binary files differ
diff --git a/releng/src/site/resources/images/carousel/carousel-elementtypes.png b/releng/src/site/resources/images/carousel/carousel-elementtypes.png
new file mode 100644
index 0000000..779368f
--- /dev/null
+++ b/releng/src/site/resources/images/carousel/carousel-elementtypes.png
Binary files differ
diff --git a/releng/src/site/resources/images/carousel/carousel-papyrus.png b/releng/src/site/resources/images/carousel/carousel-papyrus.png
new file mode 100644
index 0000000..7411e6e
--- /dev/null
+++ b/releng/src/site/resources/images/carousel/carousel-papyrus.png
Binary files differ
diff --git a/releng/src/site/resources/images/carousel/carousel-papyrus.svg b/releng/src/site/resources/images/carousel/carousel-papyrus.svg
new file mode 100644
index 0000000..92470ee
--- /dev/null
+++ b/releng/src/site/resources/images/carousel/carousel-papyrus.svg
@@ -0,0 +1,1111 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1170"
+   height="331"
+   id="svg3788"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="dessin.svg">
+  <defs
+     id="defs3790">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective3796" />
+    <inkscape:perspective
+       id="perspective3806"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7"
+       id="linearGradient5057"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(257.17276,700.21301)" />
+    <linearGradient
+       id="linearGradient6078-7">
+      <stop
+         id="stop6080-1"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17"
+       id="linearGradient5041"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(257.17276,700.21301)" />
+    <linearGradient
+       id="linearGradient4487-2-17">
+      <stop
+         id="stop4489-8-40"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-52-5"
+       id="linearGradient3336"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(4.1204272e-6,0)"
+       x1="306.31415"
+       y1="189.24405"
+       x2="282.51758"
+       y2="2.6277814" />
+    <linearGradient
+       id="linearGradient6078-7-52-5">
+      <stop
+         id="stop6080-1-3-6"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-24-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-7-1"
+       id="linearGradient3338"
+       gradientUnits="userSpaceOnUse"
+       x1="336.48462"
+       y1="203.12489"
+       x2="335.16684"
+       y2="73.530258" />
+    <linearGradient
+       id="linearGradient4487-2-17-7-1">
+      <stop
+         id="stop4489-8-40-2-1"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-1-9"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5467"
+       id="linearGradient3340"
+       gradientUnits="userSpaceOnUse"
+       x1="238.62624"
+       y1="155.18745"
+       x2="243.81149"
+       y2="91.254097" />
+    <linearGradient
+       id="linearGradient5467">
+      <stop
+         style="stop-color:#1f211c;stop-opacity:1;"
+         offset="0"
+         id="stop5469" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop5471" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(537.17278,700.21301)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-9"
+       id="linearGradient5057-8"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient6078-7-9">
+      <stop
+         id="stop6080-1-8"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-3"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(537.17278,700.21301)"
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5079-5"
+       xlink:href="#linearGradient4487-2-17-6"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4487-2-17-6">
+      <stop
+         id="stop4489-8-40-4"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-6"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(397.17275,703.19218)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-5"
+       id="linearGradient5057-2"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient6078-7-5">
+      <stop
+         id="stop6080-1-5"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-2"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(397.17275,700.21301)"
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5079"
+       xlink:href="#linearGradient4487-2-17-0"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4487-2-17-0">
+      <stop
+         id="stop4489-8-40-0"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-7"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(708.78947,700.21314)"
+       y2="-37.236683"
+       x2="63.488171"
+       y1="97.311302"
+       x1="146.35838"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5150"
+       xlink:href="#linearGradient6078-7-58"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient6078-7-58">
+      <stop
+         id="stop6080-1-4"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(848.78946,700.21314)"
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5184"
+       xlink:href="#linearGradient4487-2-17-7"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4487-2-17-7">
+      <stop
+         id="stop4489-8-40-2"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-1"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(694.50374,700.21312)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-9"
+       id="linearGradient5041-9"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4487-2-17-9">
+      <stop
+         id="stop4489-8-40-03"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="-37.236683"
+       x2="63.488171"
+       y1="97.311302"
+       x1="146.35838"
+       gradientTransform="translate(571.64661,451.64169)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5223"
+       xlink:href="#linearGradient6078-7-58-5"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient6078-7-58-5">
+      <stop
+         id="stop6080-1-4-0"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-0-7"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(997.06106,700.21313)"
+       y2="-37.236683"
+       x2="63.488171"
+       y1="97.311302"
+       x1="146.35838"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5318-6"
+       xlink:href="#linearGradient6078-7-52"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient6078-7-52">
+      <stop
+         id="stop6080-1-3"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-24"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(857.06106,700.21313)"
+       y2="-37.236683"
+       x2="63.488171"
+       y1="97.311302"
+       x1="146.35838"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5318"
+       xlink:href="#linearGradient6078-7-4"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient6078-7-4">
+      <stop
+         id="stop6080-1-0"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-8"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientTransform="translate(997.06104,700.21313)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5267-7"
+       xlink:href="#linearGradient4487-2-17-7-9"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4487-2-17-7-9">
+      <stop
+         id="stop4489-8-40-2-5"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-1-5"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4487-2-17-7-3">
+      <stop
+         id="stop4489-8-40-2-6"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-1-4"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="-37.236683"
+       x2="63.488171"
+       y1="97.311302"
+       x1="146.35838"
+       gradientTransform="translate(1002.7754,847.36623)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5420"
+       xlink:href="#linearGradient6078-7-52-5"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3879">
+      <stop
+         id="stop3881"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3883"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientTransform="translate(1072.7754,917.36623)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5369-9"
+       xlink:href="#linearGradient4487-2-17-7-1"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3886">
+      <stop
+         id="stop3888"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3890"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="-0.58782423"
+       x2="25.171864"
+       y1="67.22374"
+       x1="55.58728"
+       gradientTransform="translate(1072.7754,777.36623)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5369"
+       xlink:href="#linearGradient4487-2-17-7-2"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4487-2-17-7-2">
+      <stop
+         id="stop4489-8-40-2-9"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-1-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter4174">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.0421996"
+         id="feGaussianBlur4176" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-5"
+       id="linearGradient4280"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(397.17275,703.19218)"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17"
+       id="linearGradient4287"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(257.17276,700.21301)"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-6"
+       id="linearGradient4358"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(537.17278,700.21301)"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-4"
+       id="linearGradient4360"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(857.06106,700.21313)"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-0"
+       id="linearGradient4362"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(397.17275,700.21301)"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-58"
+       id="linearGradient4364"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(708.78947,700.21314)"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-9"
+       id="linearGradient4366"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(694.50374,700.21312)"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7"
+       id="linearGradient4368"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(257.17276,700.21301)"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-52"
+       id="linearGradient4370"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(997.06106,700.21313)"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-9"
+       id="linearGradient4372"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(537.17278,700.21301)"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-7"
+       id="linearGradient4374"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(848.78946,700.21314)"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-7-9"
+       id="linearGradient4376"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(997.06104,700.21313)"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-7-1"
+       id="linearGradient4378"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1072.7754,917.36623)"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-7-2"
+       id="linearGradient4380"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1072.7754,777.36623)"
+       x1="55.58728"
+       y1="67.22374"
+       x2="25.171864"
+       y2="-0.58782423" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-52-5"
+       id="linearGradient4382"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1002.7754,847.36623)"
+       x1="146.35838"
+       y1="97.311302"
+       x2="63.488171"
+       y2="-37.236683" />
+    <inkscape:perspective
+       id="perspective4392"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-52-5-8"
+       id="linearGradient3336-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(4.1204272e-6,0)"
+       x1="306.31415"
+       y1="189.24405"
+       x2="282.51758"
+       y2="2.6277814" />
+    <linearGradient
+       id="linearGradient6078-7-52-5-8">
+      <stop
+         id="stop6080-1-3-6-3"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-24-0-0"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-7-1-2"
+       id="linearGradient3338-5"
+       gradientUnits="userSpaceOnUse"
+       x1="336.48462"
+       y1="203.12489"
+       x2="335.16684"
+       y2="73.530258" />
+    <linearGradient
+       id="linearGradient4487-2-17-7-1-2">
+      <stop
+         id="stop4489-8-40-2-1-1"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-1-9-1"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5467-1"
+       id="linearGradient3340-6"
+       gradientUnits="userSpaceOnUse"
+       x1="238.62624"
+       y1="155.18745"
+       x2="243.81149"
+       y2="91.254097" />
+    <linearGradient
+       id="linearGradient5467-1">
+      <stop
+         style="stop-color:#1f211c;stop-opacity:1;"
+         offset="0"
+         id="stop5469-1" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop5471-9" />
+    </linearGradient>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.7"
+     inkscape:cx="181.84169"
+     inkscape:cy="96.611984"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1003"
+     inkscape:window-x="0"
+     inkscape:window-y="838"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata3793">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Calque 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-721.36218)">
+    <text
+       xml:space="preserve"
+       style="font-size:51.25284576px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#9a9d9e;fill-opacity:1;stroke:none;filter:url(#filter4174);font-family:Lucida Sans;-inkscape-font-specification:Sans Oblique"
+       x="358.14044"
+       y="916.05396"
+       id="text3289-8"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3291-2"
+         x="358.14044"
+         y="916.05396"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#9a9d9e;fill-opacity:1;font-family:Arial Narrow;-inkscape-font-specification:Arial Narrow Bold">Papyrus</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:51.25284576px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#8a8d8e;fill-opacity:1;stroke:none;font-family:Lucida Sans;-inkscape-font-specification:Sans Oblique"
+       x="359.36835"
+       y="919.302"
+       id="text3289"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3291"
+         x="359.36835"
+         y="919.302"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#8a8d8e;fill-opacity:1;stroke:none;font-family:Arial Narrow;-inkscape-font-specification:Arial Narrow Bold">Papyrus</tspan></text>
+    <g
+       id="g4276"
+       transform="translate(7.977603,-3.6324535)">
+      <rect
+         ry="14.117647"
+         y="743.47052"
+         x="490.38156"
+         height="60"
+         width="60"
+         id="rect4061-1-9-4"
+         style="fill:url(#linearGradient4280);fill-opacity:1;stroke:none" />
+      <path
+         sodipodi:nodetypes="ccccczzczzczzccccc"
+         inkscape:connector-curvature="0"
+         id="path4325-1"
+         d="m 504.95788,789.26898 c -1.38027,-1.3803 0.0488,-2.8094 1.47792,-4.2385 0.0488,-2.8093 -4.18964,-1.3314 -4.14081,-4.1408 0.0488,-2.8094 5.61874,-0.098 8.42811,-0.1465 2.90704,-5.6675 2.90704,-5.6675 5.76523,-8.5257 -1.33144,-4.1897 -11.091,-8.2328 -13.85154,-10.9934 -2.76055,-2.7605 0.0977,-5.6187 4.2873,-4.2873 4.18964,1.3315 11.13983,5.4234 16.70974,8.1352 4.28731,-4.2873 10.00371,-10.0037 12.81308,-10.0526 2.80937,-0.049 2.80937,-0.049 2.76054,2.7606 -0.0488,2.8093 -5.76523,8.5257 -10.05253,12.813 2.71172,5.57 6.80371,12.5202 8.13515,16.7098 1.33144,4.1896 -2.90703,5.6676 -5.66757,2.907 -2.76055,-2.7605 -5.42343,-11.1398 -9.61308,-12.4713 -2.8582,2.8582 -2.8582,2.8582 -8.52577,5.7653 -0.0488,2.8093 2.66289,8.3793 -0.14648,8.4281 -2.80938,0.049 -1.33145,-4.1897 -4.14082,-4.1408 -1.4291,1.4291 -2.8582,2.8582 -4.23847,1.4779 z"
+         style="fill:#ffffff;fill-opacity:1" />
+    </g>
+    <g
+       id="g4333"
+       transform="translate(-3.9887695,-0.65326644)">
+      <rect
+         ry="14.117647"
+         y="740.49133"
+         x="1020.2699"
+         height="60"
+         width="60"
+         id="rect4061-1-4-47"
+         style="fill:url(#linearGradient4376);fill-opacity:1;stroke:none" />
+      <path
+         sodipodi:nodetypes="ccccczzczzczzccccc"
+         inkscape:connector-curvature="0"
+         id="path4325-8"
+         d="m 1034.8462,786.28981 c -1.3803,-1.3802 0.049,-2.8093 1.4779,-4.2384 0.049,-2.8094 -4.1896,-1.3315 -4.1408,-4.1409 0.049,-2.8093 5.6187,-0.098 8.4281,-0.1464 2.907,-5.6676 2.907,-5.6676 5.7652,-8.5258 -1.3314,-4.1896 -11.091,-8.2328 -13.8515,-10.9934 -2.7606,-2.7605 0.098,-5.6187 4.2873,-4.2872 4.1896,1.3314 11.1398,5.4234 16.7097,8.1351 4.2873,-4.2873 10.0038,-10.0037 12.8131,-10.0525 2.8094,-0.049 2.8094,-0.049 2.7606,2.7605 -0.049,2.8094 -5.7653,8.5258 -10.0526,12.8131 2.7118,5.5699 6.8038,12.5201 8.1352,16.7097 1.3314,4.1897 -2.907,5.6676 -5.6676,2.9071 -2.7606,-2.7606 -5.4234,-11.1399 -9.6131,-12.4713 -2.8582,2.8582 -2.8582,2.8582 -8.5258,5.7652 -0.049,2.8094 2.6629,8.3793 -0.1464,8.4281 -2.8094,0.049 -1.3315,-4.1896 -4.1409,-4.1408 -1.4291,1.4291 -2.8582,2.8582 -4.2384,1.4779 z"
+         style="fill:#ffffff;fill-opacity:1" />
+    </g>
+    <g
+       id="g4320"
+       transform="translate(-3.6947632,-0.65326644)">
+      <rect
+         ry="14.117647"
+         y="740.49133"
+         x="871.99823"
+         height="60"
+         width="60"
+         id="rect4061-1-4"
+         style="fill:url(#linearGradient4374);fill-opacity:1;stroke:none" />
+      <g
+         transform="matrix(0.5091023,0,0,0.5091023,923.25327,769.6298)"
+         style="fill:#ffffff;fill-opacity:1;stroke:none"
+         id="g4481">
+        <path
+           sodipodi:type="arc"
+           style="fill:#ffffff;fill-opacity:1;stroke:none"
+           id="path4355"
+           sodipodi:cx="-56.731262"
+           sodipodi:cy="-3.5799496"
+           sodipodi:rx="17.028822"
+           sodipodi:ry="13.710845"
+           d="m -39.70244,-3.5799496 c 0,7.5722906 -7.624064,13.7108446 -17.028822,13.7108446 -9.404759,0 -17.028822,-6.138554 -17.028822,-13.7108446 0,-7.5722904 7.624063,-13.7108454 17.028822,-13.7108454 9.352849,0 16.955237,6.073471 17.028302,13.6037359"
+           transform="matrix(1.1684606,0,0,1.4393417,24.555104,1.2273496)"
+           sodipodi:start="0"
+           sodipodi:end="6.2753732"
+           sodipodi:open="true" />
+        <rect
+           style="fill:#ffffff;fill-opacity:1;stroke:none"
+           id="rect4357"
+           width="9.9273682"
+           height="42.61132"
+           x="-46.696823"
+           y="7.4294286"
+           ry="5.7463398" />
+        <path
+           inkscape:connector-curvature="0"
+           style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.22394896;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+           d="m -41.71875,-31.65625 c -14.88593,0 -27.3125,12.165728 -27.3125,27.71875 0,5.8895956 1.78644,11.271257 4.8125,15.71875 L -61.625,9.1875 c -2.588692,-3.7868125 -4.09375,-8.31513642 -4.09375,-13.125 0,-12.762065 10.570844,-23.5625 24,-23.5625 13.429157,0 23.9375,10.800435 23.9375,23.5625 0,4.80094155 -1.490947,9.3111849 -4.0625,13.09375 l 2.625,2.625 c 3.016999,-4.4471812 4.78125,-9.8298816 4.78125,-15.71875 0,-15.553022 -12.395319,-27.71875 -27.28125,-27.71875 z"
+           id="path4355-2" />
+        <path
+           inkscape:connector-curvature="0"
+           style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.72055769;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+           d="m -41.71875,-39.15625 c -19.028066,0 -34.84375,15.492342 -34.84375,35.1875 0,7.9698277 2.593401,15.295179 6.9375,21.15625 L -67,14.5625 c -0.0049,-0.0065 0.0049,-0.02476 0,-0.03125 -3.90741,-5.206001 -6.21875,-11.6326688 -6.21875,-18.5 0,-16.904199 13.928709,-31.03125 31.5,-31.03125 17.571291,0 31.4375,14.127051 31.4375,31.03125 0,6.8673312 -2.292007,13.293999 -6.1875,18.5 l 2.625,2.625 c 4.3235528,-5.857746 6.90625,-13.1640124 6.90625,-21.125 0,-19.695158 -15.753184,-35.1875 -34.78125,-35.1875 z"
+           id="path4355-2-9" />
+        <path
+           inkscape:connector-curvature="0"
+           style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.40299034;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+           d="m -41.71875,-46.65625 c -23.170201,0 -42.34375,18.850205 -42.34375,42.6875 0,10.0528755 3.409492,19.240224 9.09375,26.5 L -72.3125,19.875 c -5.250508,-6.605445 -8.375,-14.9056629 -8.375,-23.84375 0,-21.046336 17.255323,-38.53125 38.96875,-38.53125 21.713427,0 38.9375,17.484914 38.9375,38.53125 0,8.9380871 -3.1087171,17.238305 -8.34375,23.84375 l 2.625,2.65625 c 5.6724567,-7.260957 9.0625,-16.443642 9.0625,-26.5 0,-23.837295 -19.111048,-42.6875 -42.28125,-42.6875 z"
+           id="path4355-2-9-5" />
+      </g>
+    </g>
+    <g
+       id="g4303"
+       transform="translate(15.955322,-0.65326644)">
+      <rect
+         ry="14.117647"
+         y="740.49133"
+         x="630.38159"
+         height="60"
+         width="60"
+         id="rect4061-1-9-1"
+         style="fill:url(#linearGradient4372);fill-opacity:1;stroke:none" />
+      <g
+         transform="matrix(0.5091023,0,0,0.5091023,681.63654,769.6298)"
+         style="fill:#ffffff;fill-opacity:1;stroke:none"
+         id="g4481-4">
+        <path
+           sodipodi:type="arc"
+           style="fill:#ffffff;fill-opacity:1;stroke:none"
+           id="path4355-3"
+           sodipodi:cx="-56.731262"
+           sodipodi:cy="-3.5799496"
+           sodipodi:rx="17.028822"
+           sodipodi:ry="13.710845"
+           d="m -39.70244,-3.5799496 c 0,7.5722906 -7.624064,13.7108446 -17.028822,13.7108446 -9.404759,0 -17.028822,-6.138554 -17.028822,-13.7108446 0,-7.5722904 7.624063,-13.7108454 17.028822,-13.7108454 9.352849,0 16.955237,6.073471 17.028302,13.6037359"
+           transform="matrix(1.1684606,0,0,1.4393417,24.555104,1.2273496)"
+           sodipodi:start="0"
+           sodipodi:end="6.2753732"
+           sodipodi:open="true" />
+        <rect
+           style="fill:#ffffff;fill-opacity:1;stroke:none"
+           id="rect4357-1"
+           width="9.9273682"
+           height="42.61132"
+           x="-46.696823"
+           y="7.4294286"
+           ry="5.7463398" />
+        <path
+           inkscape:connector-curvature="0"
+           style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.22394896;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+           d="m -41.71875,-31.65625 c -14.88593,0 -27.3125,12.165728 -27.3125,27.71875 0,5.8895956 1.78644,11.271257 4.8125,15.71875 L -61.625,9.1875 c -2.588692,-3.7868125 -4.09375,-8.31513642 -4.09375,-13.125 0,-12.762065 10.570844,-23.5625 24,-23.5625 13.429157,0 23.9375,10.800435 23.9375,23.5625 0,4.80094155 -1.490947,9.3111849 -4.0625,13.09375 l 2.625,2.625 c 3.016999,-4.4471812 4.78125,-9.8298816 4.78125,-15.71875 0,-15.553022 -12.395319,-27.71875 -27.28125,-27.71875 z"
+           id="path4355-2-2" />
+        <path
+           inkscape:connector-curvature="0"
+           style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.72055769;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+           d="m -41.71875,-39.15625 c -19.028066,0 -34.84375,15.492342 -34.84375,35.1875 0,7.9698277 2.593401,15.295179 6.9375,21.15625 L -67,14.5625 c -0.0049,-0.0065 0.0049,-0.02476 0,-0.03125 -3.90741,-5.206001 -6.21875,-11.6326688 -6.21875,-18.5 0,-16.904199 13.928709,-31.03125 31.5,-31.03125 17.571291,0 31.4375,14.127051 31.4375,31.03125 0,6.8673312 -2.292007,13.293999 -6.1875,18.5 l 2.625,2.625 c 4.3235528,-5.857746 6.90625,-13.1640124 6.90625,-21.125 0,-19.695158 -15.753184,-35.1875 -34.78125,-35.1875 z"
+           id="path4355-2-9-3" />
+        <path
+           inkscape:connector-curvature="0"
+           style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.40299034;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+           d="m -41.71875,-46.65625 c -23.170201,0 -42.34375,18.850205 -42.34375,42.6875 0,10.0528755 3.409492,19.240224 9.09375,26.5 L -72.3125,19.875 c -5.250508,-6.605445 -8.375,-14.9056629 -8.375,-23.84375 0,-21.046336 17.255323,-38.53125 38.96875,-38.53125 21.713427,0 38.9375,17.484914 38.9375,38.53125 0,8.9380871 -3.1087171,17.238305 -8.34375,23.84375 l 2.625,2.65625 c 5.6724567,-7.260957 9.0625,-16.443642 9.0625,-26.5 0,-23.837295 -19.111048,-42.6875 -42.28125,-42.6875 z"
+           id="path4355-2-9-5-3" />
+      </g>
+    </g>
+    <g
+       id="g4337"
+       transform="translate(0.71425955,-0.65326644)">
+      <rect
+         ry="14.117647"
+         y="740.49133"
+         x="1090.2699"
+         height="60"
+         width="60"
+         id="rect4061-1-9-6"
+         style="fill:url(#linearGradient4370);fill-opacity:1;stroke:none" />
+      <g
+         transform="matrix(0.5091023,0,0,0.5091023,1141.5249,769.6298)"
+         style="fill:#ffffff;fill-opacity:1;stroke:none"
+         id="g4481-41">
+        <path
+           sodipodi:type="arc"
+           style="fill:#ffffff;fill-opacity:1;stroke:none"
+           id="path4355-1"
+           sodipodi:cx="-56.731262"
+           sodipodi:cy="-3.5799496"
+           sodipodi:rx="17.028822"
+           sodipodi:ry="13.710845"
+           d="m -39.70244,-3.5799496 c 0,7.5722906 -7.624064,13.7108446 -17.028822,13.7108446 -9.404759,0 -17.028822,-6.138554 -17.028822,-13.7108446 0,-7.5722904 7.624063,-13.7108454 17.028822,-13.7108454 9.352849,0 16.955237,6.073471 17.028302,13.6037359"
+           transform="matrix(1.1684606,0,0,1.4393417,24.555104,1.2273496)"
+           sodipodi:start="0"
+           sodipodi:end="6.2753732"
+           sodipodi:open="true" />
+        <rect
+           style="fill:#ffffff;fill-opacity:1;stroke:none"
+           id="rect4357-3"
+           width="9.9273682"
+           height="42.61132"
+           x="-46.696823"
+           y="7.4294286"
+           ry="5.7463398" />
+        <path
+           inkscape:connector-curvature="0"
+           style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.22394896;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+           d="m -41.71875,-31.65625 c -14.88593,0 -27.3125,12.165728 -27.3125,27.71875 0,5.8895956 1.78644,11.271257 4.8125,15.71875 L -61.625,9.1875 c -2.588692,-3.7868125 -4.09375,-8.31513642 -4.09375,-13.125 0,-12.762065 10.570844,-23.5625 24,-23.5625 13.429157,0 23.9375,10.800435 23.9375,23.5625 0,4.80094155 -1.490947,9.3111849 -4.0625,13.09375 l 2.625,2.625 c 3.016999,-4.4471812 4.78125,-9.8298816 4.78125,-15.71875 0,-15.553022 -12.395319,-27.71875 -27.28125,-27.71875 z"
+           id="path4355-2-8" />
+        <path
+           inkscape:connector-curvature="0"
+           style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.72055769;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+           d="m -41.71875,-39.15625 c -19.028066,0 -34.84375,15.492342 -34.84375,35.1875 0,7.9698277 2.593401,15.295179 6.9375,21.15625 L -67,14.5625 c -0.0049,-0.0065 0.0049,-0.02476 0,-0.03125 -3.90741,-5.206001 -6.21875,-11.6326688 -6.21875,-18.5 0,-16.904199 13.928709,-31.03125 31.5,-31.03125 17.571291,0 31.4375,14.127051 31.4375,31.03125 0,6.8673312 -2.292007,13.293999 -6.1875,18.5 l 2.625,2.625 c 4.3235528,-5.857746 6.90625,-13.1640124 6.90625,-21.125 0,-19.695158 -15.753184,-35.1875 -34.78125,-35.1875 z"
+           id="path4355-2-9-7" />
+        <path
+           inkscape:connector-curvature="0"
+           style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.40299034;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+           d="m -41.71875,-46.65625 c -23.170201,0 -42.34375,18.850205 -42.34375,42.6875 0,10.0528755 3.409492,19.240224 9.09375,26.5 L -72.3125,19.875 c -5.250508,-6.605445 -8.375,-14.9056629 -8.375,-23.84375 0,-21.046336 17.255323,-38.53125 38.96875,-38.53125 21.713427,0 38.9375,17.484914 38.9375,38.53125 0,8.9380871 -3.1087171,17.238305 -8.34375,23.84375 l 2.625,2.65625 c 5.6724567,-7.260957 9.0625,-16.443642 9.0625,-26.5 0,-23.837295 -19.111048,-42.6875 -42.28125,-42.6875 z"
+           id="path4355-2-9-5-4" />
+      </g>
+    </g>
+    <g
+       id="g4289"
+       transform="translate(0,-0.65326644)">
+      <rect
+         ry="14.117647"
+         y="740.49133"
+         x="350.3815"
+         height="60"
+         width="60"
+         id="rect4061-1-9"
+         style="fill:url(#linearGradient4368);fill-opacity:1;stroke:none" />
+      <a
+         id="a4267">
+        <path
+           style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
+           d="m 371.89441,754.96296 c -2.71162,0.04 -5.25081,0.5326 -7.46641,1.4889 -3.54496,1.5301 -6.27862,4.4079 -7.02384,8.2887 -1.33809,6.9685 0.31832,12.5278 2.49428,15.9628 a 1.8360513,1.8360513 0 0 0 1.50803,0.8524 l 1.74572,0.041 c 0.83517,2.5688 3.24766,4.4257 6.09496,4.4257 2.74062,0 5.07769,-1.7193 5.99389,-4.1389 l 7.19868,0.1694 c 0.95936,2.3302 3.24931,3.9695 5.9256,3.9695 2.56834,0 4.78295,-1.5095 5.80539,-3.6908 l 1.85498,0.044 a 1.8360513,1.8360513 0 0 0 0.34695,-0.025 c 1.84293,-0.3109 3.89623,-1.0284 5.46389,-2.62 1.56768,-1.5916 2.41234,-4.1377 1.80583,-7.1003 -0.41708,-2.0372 -1.85181,-3.6357 -3.71818,-5.3519 -1.86637,-1.7161 -4.25956,-3.4462 -6.88724,-5.065 -5.25532,-3.2377 -11.35424,-6.0183 -16.10755,-6.8381 -1.71938,-0.2965 -3.408,-0.4366 -5.03498,-0.4125 z m 0.5819,3.6772 c 1.22633,0.01 2.50961,0.1251 3.82747,0.3524 3.84801,0.6637 9.85442,3.2951 14.80715,6.3463 2.47635,1.5257 4.71144,3.1587 6.32718,4.6444 1.61574,1.4857 2.51494,2.9254 2.60901,3.3848 0.41573,2.0308 -0.0435,2.9902 -0.82777,3.7865 -0.75888,0.7705 -2.04524,1.3066 -3.32752,1.5436 l -1.18567,-0.027 c -0.45703,-3.0943 -3.12446,-5.4639 -6.34084,-5.4639 -3.1144,0 -5.70763,2.2213 -6.28621,5.1661 l -6.57853,-0.1557 c -0.63828,-2.8694 -3.19611,-5.0104 -6.25343,-5.0104 -2.95458,0 -5.44086,1.9985 -6.18239,4.718 l -0.53546,-0.014 c -1.45608,-2.719 -2.57401,-6.9965 -1.52169,-12.4768 0.5058,-2.6341 2.17641,-4.4472 4.87379,-5.6114 1.68586,-0.7276 3.769,-1.1422 6.07311,-1.1802 0.17281,0 0.34662,0 0.5218,0 z"
+           inkscape:connector-curvature="0"
+           id="path317" />
+      </a>
+    </g>
+    <g
+       id="g4312"
+       transform="translate(2.6132202,-0.65326644)">
+      <rect
+         ry="14.117647"
+         y="740.49133"
+         x="717.71246"
+         height="60"
+         width="60"
+         id="rect4061-1-7"
+         style="fill:url(#linearGradient4366);fill-opacity:1;stroke:none" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 739.22539,754.96291 c -2.71162,0.04 -5.25081,0.5327 -7.46641,1.489 -3.54496,1.53 -6.27862,4.4078 -7.02384,8.2887 -1.33809,6.9685 0.31832,12.5278 2.49428,15.9627 a 1.8360513,1.8360513 0 0 0 1.50803,0.8524 l 1.74572,0.041 c 0.83517,2.5688 3.24766,4.4258 6.09496,4.4258 2.74062,0 5.07769,-1.7193 5.99389,-4.1389 l 7.19868,0.1693 c 0.95936,2.3302 3.24931,3.9696 5.9256,3.9696 2.56834,0 4.78295,-1.5095 5.80539,-3.6909 l 1.85498,0.044 a 1.8360513,1.8360513 0 0 0 0.34695,-0.025 c 1.84293,-0.3109 3.89623,-1.0283 5.46389,-2.6199 1.56768,-1.5916 2.41234,-4.1378 1.80583,-7.1004 -0.41708,-2.0372 -1.85181,-3.6357 -3.71818,-5.3518 -1.86637,-1.7162 -4.25956,-3.4463 -6.88724,-5.0651 -5.25532,-3.2376 -11.35424,-6.0183 -16.10755,-6.838 -1.71938,-0.2966 -3.408,-0.4367 -5.03498,-0.4126 z m 0.5819,3.6772 c 1.22633,0.01 2.50961,0.1252 3.82747,0.3525 3.84801,0.6636 9.85442,3.2951 14.80715,6.3463 2.47635,1.5256 4.71144,3.1586 6.32718,4.6443 1.61574,1.4857 2.51494,2.9254 2.60901,3.3849 0.41573,2.0307 -0.0435,2.9901 -0.82777,3.7864 -0.75888,0.7705 -2.04524,1.3066 -3.32752,1.5436 l -1.18567,-0.027 c -0.45703,-3.0943 -3.12446,-5.4639 -6.34084,-5.4639 -3.1144,0 -5.70763,2.2213 -6.28621,5.1661 l -6.57853,-0.1557 c -0.63828,-2.8694 -3.19611,-5.0104 -6.25343,-5.0104 -2.95458,0 -5.44086,1.9985 -6.18239,4.7181 l -0.53546,-0.014 c -1.45608,-2.7191 -2.57401,-6.9966 -1.52169,-12.4768 0.5058,-2.6342 2.17641,-4.4472 4.87379,-5.6114 1.68586,-0.7277 3.769,-1.1423 6.07311,-1.1802 0.17281,0 0.34662,0 0.5218,0 z"
+         style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
+         id="path4601" />
+    </g>
+    <g
+       id="g4350"
+       transform="translate(-4.9999738,-6.4116429)">
+      <rect
+         ry="14.117647"
+         y="887.64441"
+         x="1095.9841"
+         height="60"
+         width="60"
+         id="rect4061-1-9-6-5"
+         style="fill:url(#linearGradient4382);fill-opacity:1;stroke:none" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 1117.4971,902.11613 c -2.7117,0.04 -5.2509,0.5326 -7.4665,1.4889 -3.5449,1.53 -6.2786,4.4078 -7.0238,8.2887 -1.3381,6.9685 0.3183,12.5278 2.4943,15.9628 a 1.8360513,1.8360513 0 0 0 1.508,0.8523 l 1.7457,0.041 c 0.8352,2.5688 3.2477,4.4258 6.095,4.4258 2.7406,0 5.0777,-1.7193 5.9939,-4.1389 l 7.1987,0.1694 c 0.9593,2.3302 3.2493,3.9695 5.9256,3.9695 2.5683,0 4.7829,-1.5095 5.8054,-3.6909 l 1.8549,0.044 a 1.8360513,1.8360513 0 0 0 0.347,-0.025 c 1.8429,-0.3108 3.8962,-1.0283 5.4639,-2.6199 1.5677,-1.5916 2.4123,-4.1377 1.8058,-7.1003 -0.4171,-2.0373 -1.8518,-3.6358 -3.7182,-5.3519 -1.8663,-1.7162 -4.2595,-3.4462 -6.8872,-5.0651 -5.2553,-3.2376 -11.3543,-6.0182 -16.1076,-6.838 -1.7193,-0.2966 -3.408,-0.4366 -5.0349,-0.4125 z m 0.5819,3.6772 c 1.2263,0.01 2.5096,0.1251 3.8274,0.3524 3.848,0.6636 9.8544,3.2951 14.8072,6.3463 2.4763,1.5256 4.7114,3.1586 6.3272,4.6443 1.6157,1.4857 2.5149,2.9255 2.609,3.3849 0.4157,2.0307 -0.043,2.9901 -0.8278,3.7865 -0.7589,0.7704 -2.0452,1.3065 -3.3275,1.5435 l -1.1857,-0.027 c -0.457,-3.0943 -3.1245,-5.4639 -6.3408,-5.4639 -3.1144,0 -5.7077,2.2213 -6.2862,5.1661 l -6.5786,-0.1557 c -0.6383,-2.8693 -3.1961,-5.0104 -6.2534,-5.0104 -2.9546,0 -5.4409,1.9985 -6.1824,4.7181 l -0.5355,-0.014 c -1.456,-2.7191 -2.574,-6.9966 -1.5216,-12.4768 0.5058,-2.6342 2.1764,-4.4472 4.8737,-5.6114 1.6859,-0.7277 3.769,-1.1423 6.0732,-1.1802 0.1728,0 0.3466,0 0.5218,0 z"
+         style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
+         id="path4601-7" />
+    </g>
+    <g
+       id="g4316"
+       transform="translate(-7.6836548,-0.65326644)">
+      <rect
+         ry="14.117647"
+         y="740.49133"
+         x="801.99823"
+         height="60"
+         width="60"
+         id="rect4061-1-9-5"
+         style="fill:url(#linearGradient4364);fill-opacity:1;stroke:none" />
+      <path
+         inkscape:connector-curvature="0"
+         id="rect2024"
+         d="m 822.59951,747.44628 c -1.20686,0 -2.17604,0.4908 -2.17604,1.0942 l 0,0.209 -5.27411,0 c -1.20667,0 -2.17603,0.9693 -2.17603,2.176 l 0,34.8288 c 0,1.2067 0.96936,2.1761 2.17603,2.1761 l 5.05282,0 -6.97068,5.606 8.67954,0 3.35626,-5.606 13.4496,0 3.35626,5.606 8.69183,0 -6.97068,-5.606 5.04053,0 c 1.20667,0 2.18833,-0.9694 2.18833,-2.1761 l 0,-34.8288 c 0,-1.2067 -0.98166,-2.176 -2.18833,-2.176 l -5.27411,0 0,-0.209 c 0,-0.6034 -0.96918,-1.0942 -2.17604,-1.0942 l -18.78518,0 z m -4.35207,6.4544 27.48932,0 c 0.29772,0 0.54093,0.2432 0.54093,0.5409 l 0,12.1956 c 0,0.2977 -0.24321,0.5409 -0.54093,0.5409 l -27.48932,0 c -0.29772,0 -0.54093,-0.2432 -0.54093,-0.5409 l 0,-12.1956 c 0,-0.2977 0.24321,-0.5409 0.54093,-0.5409 z m 4.11848,19.5965 c 2.12348,0 3.84372,1.7123 3.86031,3.8358 l 0,0.025 c 0,2.1352 -1.72504,3.8726 -3.86031,3.8726 -2.13527,0 -3.8726,-1.7374 -3.8726,-3.8726 0,-2.1353 1.73733,-3.8603 3.8726,-3.8603 z m 19.25236,0 c 2.12348,0 3.85601,1.7123 3.8726,3.8358 l 0,0.025 c 0,2.1352 -1.73733,3.8726 -3.8726,3.8726 -2.13527,0 -3.86031,-1.7374 -3.86031,-3.8726 0,-2.1353 1.72504,-3.8603 3.86031,-3.8603 z"
+         style="font-size:12px;fill:#ffffff;fill-opacity:1;stroke:none" />
+    </g>
+    <g
+       id="g4346"
+       transform="translate(-4.9999738,-7.1089848)">
+      <rect
+         ry="14.117647"
+         y="817.64441"
+         x="1095.9841"
+         height="60"
+         width="60"
+         id="rect4061-1-4-49"
+         style="fill:url(#linearGradient4380);fill-opacity:1;stroke:none" />
+      <path
+         inkscape:connector-curvature="0"
+         id="rect2024-9-9"
+         d="m 1116.5854,824.59943 c -1.2068,0 -2.176,0.4908 -2.176,1.0942 l 0,0.209 -5.2741,0 c -1.2067,0 -2.176,0.9694 -2.176,2.176 l 0,34.8288 c 0,1.2067 0.9693,2.1761 2.176,2.1761 l 5.0528,0 -6.9707,5.606 8.6796,0 3.3562,-5.606 13.4496,0 3.3563,5.606 8.6918,0 -6.9707,-5.606 5.0406,0 c 1.2066,0 2.1883,-0.9694 2.1883,-2.1761 l 0,-34.8288 c 0,-1.2066 -0.9817,-2.176 -2.1883,-2.176 l -5.2741,0 0,-0.209 c 0,-0.6034 -0.9692,-1.0942 -2.1761,-1.0942 l -18.7852,0 z m -4.352,6.4544 27.4893,0 c 0.2977,0 0.5409,0.2432 0.5409,0.5409 l 0,12.1956 c 0,0.2977 -0.2432,0.5409 -0.5409,0.5409 l -27.4893,0 c -0.2977,0 -0.541,-0.2432 -0.541,-0.5409 l 0,-12.1956 c 0,-0.2977 0.2433,-0.5409 0.541,-0.5409 z m 4.1185,19.5966 c 2.1234,0 3.8437,1.7122 3.8603,3.8357 l 0,0.025 c 0,2.1352 -1.7251,3.8726 -3.8603,3.8726 -2.1353,0 -3.8726,-1.7374 -3.8726,-3.8726 0,-2.1353 1.7373,-3.8603 3.8726,-3.8603 z m 19.2523,0 c 2.1235,0 3.856,1.7122 3.8726,3.8357 l 0,0.025 c 0,2.1352 -1.7373,3.8726 -3.8726,3.8726 -2.1353,0 -3.8603,-1.7374 -3.8603,-3.8726 0,-2.1353 1.725,-3.8603 3.8603,-3.8603 z"
+         style="font-size:12px;fill:#ffffff;fill-opacity:1;stroke:none" />
+    </g>
+    <g
+       id="g4294"
+       transform="translate(3.9888,-0.65326644)">
+      <rect
+         ry="14.117647"
+         y="740.49133"
+         x="420.38156"
+         height="60"
+         width="60"
+         id="rect4061-1-1"
+         style="fill:url(#linearGradient4362);fill-opacity:1;stroke:none" />
+      <a
+         id="a4270">
+        <path
+           style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5.5999999;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+           d="m 466.81686,747.00002 c -1.2569,-1.257 -2.59387,0.082 -4.59962,2.0878 l -6.45201,6.4521 -2.43326,-2.4333 c -7.53521,7.5352 -15.07042,15.0704 -12.55868,22.6056 l 1.17737,1.1774 c -0.95477,0.8435 -1.73875,1.929 -2.49602,3.0612 -1.38182,2.066 -2.55837,4.4483 -3.42225,6.3735 -0.51172,1.1405 -1.69767,2.8203 -3.06118,3.6264 -1.36351,0.806 -2.73606,1.1077 -5.07057,-0.3925 l -2.15068,3.3437 c 3.3598,2.1591 6.85084,1.8715 9.24633,0.4553 2.39549,-1.4162 3.87928,-3.62 4.67812,-5.4002 0.81065,-1.8066 1.90725,-4.0283 3.07688,-5.777 0.74583,-1.1151 1.55141,-1.8993 2.11928,-2.3705 l 0.9262,0.9262 c 7.5352,2.5118 15.07041,-5.0235 22.60562,-12.5587 l -2.41753,-2.4175 6.45201,-6.452 c 2.00574,-2.0058 3.34489,-3.3426 2.08788,-4.5997 -1.25691,-1.2569 -2.59387,0.082 -4.59962,2.0879 l -6.45202,6.4521 -5.19615,-5.1962 6.45201,-6.452 c 2.00575,-2.0058 3.3449,-3.3426 2.08789,-4.5996 z"
+           id="path4801"
+           inkscape:connector-curvature="0" />
+      </a>
+    </g>
+    <g
+       id="g4354"
+       transform="translate(-4.9999738,-5.7142857)">
+      <rect
+         ry="14.117647"
+         y="957.64441"
+         x="1095.9841"
+         height="60"
+         width="60"
+         id="rect4061-1-4-5"
+         style="fill:url(#linearGradient4378);fill-opacity:1;stroke:none" />
+      <path
+         inkscape:transform-center-y="-186.63452"
+         inkscape:transform-center-x="60.480582"
+         inkscape:connector-curvature="0"
+         id="path4801-0"
+         d="m 1142.4195,964.15313 c -1.2569,-1.2569 -2.5939,0.082 -4.5996,2.0879 l -6.452,6.452 -2.4333,-2.4332 c -7.5352,7.5352 -15.0704,15.0704 -12.5587,22.6056 l 1.1774,1.1774 c -0.9548,0.8435 -1.7388,1.9289 -2.496,3.0611 -1.3818,2.066 -2.5584,4.44827 -3.4223,6.37357 -0.5117,1.1404 -1.6976,2.8202 -3.0612,3.6263 -1.3635,0.8061 -2.736,1.1077 -5.0705,-0.3925 l -2.1507,3.3438 c 3.3598,2.1591 6.8508,1.8714 9.2463,0.4552 2.3955,-1.4161 3.8793,-3.6199 4.6781,-5.4002 0.8107,-1.8066 1.9073,-4.0282 3.0769,-5.77697 0.7459,-1.1151 1.5514,-1.8993 2.1193,-2.3704 l 0.9262,0.9262 c 7.5352,2.51167 15.0704,-5.0235 22.6056,-12.5587 l -2.4175,-2.4176 6.452,-6.452 c 2.0057,-2.0057 3.3449,-3.3426 2.0879,-4.5996 -1.2569,-1.2569 -2.5939,0.082 -4.5996,2.0879 l -6.4521,6.452 -5.1961,-5.1962 6.452,-6.4519 c 2.0058,-2.0058 3.3449,-3.3427 2.0879,-4.5997 z"
+         style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5.5999999;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+    </g>
+    <g
+       id="g4329"
+       transform="translate(-7.9776611,-0.65326644)">
+      <rect
+         ry="14.117647"
+         y="740.49133"
+         x="950.2699"
+         height="60"
+         width="60"
+         id="rect4061-1-9-8"
+         style="fill:url(#linearGradient4360);fill-opacity:1;stroke:none" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4801-2"
+         d="m 996.70515,746.99999 c -1.2569,-1.2569 -2.59387,0.082 -4.59962,2.0879 l -6.45201,6.452 -2.43326,-2.4332 c -7.53521,7.5352 -15.07042,15.0704 -12.55868,22.6056 l 1.17737,1.1774 c -0.95477,0.8435 -1.73875,1.9289 -2.49602,3.0611 -1.38182,2.066 -2.55837,4.4483 -3.42225,6.3736 -0.51172,1.1404 -1.69767,2.8202 -3.06118,3.6263 -1.36351,0.8061 -2.73606,1.1077 -5.07057,-0.3925 l -2.15068,3.3438 c 3.3598,2.159 6.85084,1.8714 9.24633,0.4552 2.39549,-1.4161 3.87928,-3.6199 4.67812,-5.4002 0.81065,-1.8066 1.90725,-4.0283 3.07688,-5.777 0.74583,-1.1151 1.55141,-1.8993 2.11928,-2.3704 l 0.9262,0.9261 c 7.5352,2.5118 15.07041,-5.0234 22.60562,-12.5586 l -2.41753,-2.4176 6.45205,-6.452 c 2.0057,-2.0057 3.3449,-3.3426 2.0878,-4.5996 -1.2569,-1.2569 -2.5938,0.082 -4.59958,2.0879 l -6.45202,6.452 -5.19615,-5.1962 6.45201,-6.452 c 2.00575,-2.0057 3.3449,-3.3426 2.08789,-4.5996 z"
+         style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5.5999999;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+    </g>
+    <g
+       id="g4299"
+       transform="translate(11.966431,-0.65326644)">
+      <rect
+         ry="14.117647"
+         y="740.49133"
+         x="560.38159"
+         height="60"
+         width="60"
+         id="rect4061-1-5"
+         style="fill:url(#linearGradient4358);fill-opacity:1;stroke:none" />
+      <path
+         inkscape:connector-curvature="0"
+         id="rect4833-0"
+         d="m 575.39958,787.09573 c 0.16634,0.1663 0.43793,0.1643 0.60003,-0.01 l 2.097,-2.2084 6.68073,6.6808 c 1.5097,-2.3229 0.2782,-6.6158 -2.95686,-10.417 0.008,-0.01 0.0177,-0.01 0.0247,-0.012 l 1.67016,-1.6702 3.2723,3.2723 c 0.5484,0.5483 1.4312,0.5483 1.9795,0 l 3.0682,-3.0681 1.2124,1.2124 -3.2723,3.2723 9.3777,9.3777 14.2646,-14.2645 -9.3777,-9.3778 -2.2455,2.2455 -1.2124,-1.2125 2.0413,-2.0413 c 0.5483,-0.5483 0.5483,-1.4311 0,-1.9794 l -2.0042,-2.0043 0.9155,-0.9155 1.1444,1.1444 c 0.272,0.272 0.7054,0.272 0.9774,0 l 6.8724,-6.8725 c 0.272,-0.2719 0.2782,-0.7116 0.01,-0.9835 l -1.2371,-1.2372 c 0.4476,-1.3815 0.179,-2.8767 -0.8289,-3.8847 -1.008,-1.008 -2.4971,-1.2703 -3.8786,-0.8227 l -1.2433,-1.2434 c -0.272,-0.272 -0.7116,-0.2658 -0.9836,0.01 l -6.8724,6.8725 c -0.272,0.2719 -0.272,0.7054 -10e-5,0.9774 l 1.1444,1.1443 -0.9155,0.9155 -2.0042,-2.0042 c -0.5483,-0.5483 -1.4312,-0.5483 -1.9795,0 l -2.0413,2.0414 -0.9526,-0.9527 2.2455,-2.2454 -9.37781,-9.3778 -14.26457,14.2646 9.37775,9.3777 3.27232,-3.2723 0.95261,0.9527 -3.06817,3.0681 c -0.54832,0.5483 -0.54833,1.4312 0,1.9795 l 3.27232,3.2723 -1.67019,1.6702 c -0.007,0.01 -0.006,0.017 -0.0124,0.025 -3.80126,-3.235 -8.09414,-4.4666 -10.41698,-2.9568 l 6.68072,6.6807 -2.097,2.2083 c -0.16209,0.1705 -0.16015,0.4461 0.006,0.6124 l 1.75677,1.7568 z m 19.37406,-7.9426 -1.2124,-1.2125 5.4188,-5.4188 1.2124,1.2125 -5.4188,5.4188 z m -12.0995,-12.0996 -0.95262,-0.9526 5.41882,-5.4188 0.9526,0.9526 -5.4188,5.4188 z"
+         style="fill:#ffffff;fill-opacity:1;stroke:none" />
+    </g>
+    <g
+       id="g3330"
+       transform="matrix(1.8279432,0,0,1.6006065,-321.04281,630.84566)">
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient3336-1);fill-opacity:1;stroke:none"
+         id="path3031-7-5"
+         d="m 270.89196,239.20545 c -0.0639,-23.05204 9.54676,-45.04298 22.20054,-63.9186 3.59244,-6.13412 9.69281,-10.90495 11.21058,-18.11335 1.54544,-5.54285 -3.40626,-8.00556 -9.11895,-8.40739 -7.40037,-0.85781 -16.43064,-3.22597 -19.45355,-10.86571 -2.28339,-7.8022 2.84949,-16.02668 9.31952,-20.1318 7.20667,-4.59838 15.83114,-6.35644 24.2564,-6.89417 1.79208,-0.10323 2.13258,-0.19906 6.32105,0.0572 8.04141,0.33614 15.60142,5.83362 17.70242,13.71499 3.06535,10.66315 0.94049,22.19706 -3.08034,32.32141 -4.93188,11.91304 -12.37332,22.60843 -20.70789,32.3728 -9.62248,12.82801 -13.20778,29.36859 -11.94533,45.1779 -9.0432,2.67056 -22.24637,4.79479 -26.70445,4.68676 z" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient3338-5);fill-opacity:1;stroke:none"
+         id="path3029-6-0"
+         d="m 299.59461,233.85281 c -1.51577,-17.75955 3.5576,-36.48042 15.92624,-49.6506 9.03515,-11.5824 17.18928,-24.53651 20.13917,-39.11991 1.75417,-9.45871 1.98141,-20.58939 -4.75007,-28.25267 -1.21904,-1.45794 -6.64925,-4.35874 -1.94535,-2.66896 4.83272,1.3475 7.42599,4.27586 9.95344,7.78211 13.39279,17.26054 18.06599,41.04441 11.34875,61.92978 -7.28568,23.73809 -27.46701,42.14487 -50.67218,49.98025 z" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient3340-6);fill-opacity:1;stroke:none"
+         id="path3045-1-9"
+         d="m 198.02,194.91263 c 0.67464,-21.64902 11.89634,-42.85087 29.95998,-54.97968 14.33302,-9.85537 31.65018,-14.40823 48.80126,-15.96996 -2.94507,4.63376 -4.77207,10.93406 -2.06506,16.17765 1.55527,3.54954 6.32701,5.32428 5.76859,5.63436 -24.65703,0.0217 -50.10988,8.73105 -67.19398,27.01274 -6.38079,6.74189 -11.41439,14.6824 -15.22417,23.12777 -0.0552,-0.3311 -0.0409,-0.6683 -0.0467,-1.00288 z" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:#1f211c;fill-opacity:1;stroke:none"
+         id="path3027-4-0"
+         d="m 304.16742,128.54496 c -1.39382,-0.15525 -2.51112,-0.51301 -3.30602,-1.05858 -0.35423,-0.24314 -0.74399,-0.67034 -0.90944,-0.99686 -0.13752,-0.27136 -0.15275,-0.35006 -0.15275,-0.78957 0,-0.4316 0.0167,-0.5224 0.1451,-0.78362 0.75916,-1.54581 3.62169,-2.5717 6.41463,-2.2989 1.61568,0.15781 2.8959,0.65051 3.67013,1.4125 0.51727,0.5091 0.66497,0.82865 0.66497,1.43878 0,0.61455 -0.14546,0.92433 -0.68967,1.46883 -1.0165,1.01703 -2.94915,1.65247 -4.9633,1.63193 -0.39571,-0.004 -0.78885,-0.015 -0.87365,-0.0246 z" />
+    </g>
+  </g>
+</svg>
diff --git a/releng/src/site/resources/images/carousel/carousel-profile.png b/releng/src/site/resources/images/carousel/carousel-profile.png
new file mode 100644
index 0000000..b3b177f
--- /dev/null
+++ b/releng/src/site/resources/images/carousel/carousel-profile.png
Binary files differ
diff --git a/releng/src/site/resources/images/carousel/carousel-qudv.png b/releng/src/site/resources/images/carousel/carousel-qudv.png
new file mode 100644
index 0000000..8ac95e5
--- /dev/null
+++ b/releng/src/site/resources/images/carousel/carousel-qudv.png
Binary files differ
diff --git a/releng/src/site/resources/images/carousel/carousel-requirements.png b/releng/src/site/resources/images/carousel/carousel-requirements.png
new file mode 100644
index 0000000..a67c4ec
--- /dev/null
+++ b/releng/src/site/resources/images/carousel/carousel-requirements.png
Binary files differ
diff --git a/releng/src/site/resources/images/eclipse-800x188.png b/releng/src/site/resources/images/eclipse-800x188.png
new file mode 100644
index 0000000..0c46952
--- /dev/null
+++ b/releng/src/site/resources/images/eclipse-800x188.png
Binary files differ
diff --git a/releng/src/site/resources/images/logo.png b/releng/src/site/resources/images/logo.png
new file mode 100644
index 0000000..a52180a
--- /dev/null
+++ b/releng/src/site/resources/images/logo.png
Binary files differ
diff --git a/releng/src/site/resources/images/logopap.png b/releng/src/site/resources/images/logopap.png
new file mode 100644
index 0000000..edf2a1c
--- /dev/null
+++ b/releng/src/site/resources/images/logopap.png
Binary files differ
diff --git a/releng/src/site/resources/img/developer/normUpgrade/SysML14ClassDiagram-extension.elementtypesconfigurations.png b/releng/src/site/resources/img/developer/normUpgrade/SysML14ClassDiagram-extension.elementtypesconfigurations.png
new file mode 100644
index 0000000..a2458ca
--- /dev/null
+++ b/releng/src/site/resources/img/developer/normUpgrade/SysML14ClassDiagram-extension.elementtypesconfigurations.png
Binary files differ
diff --git a/releng/src/site/resources/img/developer/sop4-requirement/derivereqt.png b/releng/src/site/resources/img/developer/sop4-requirement/derivereqt.png
new file mode 100644
index 0000000..5650217
--- /dev/null
+++ b/releng/src/site/resources/img/developer/sop4-requirement/derivereqt.png
Binary files differ
diff --git a/releng/src/site/resources/img/developer/sop4-requirement/omg-requirement.png b/releng/src/site/resources/img/developer/sop4-requirement/omg-requirement.png
new file mode 100644
index 0000000..a67798d
--- /dev/null
+++ b/releng/src/site/resources/img/developer/sop4-requirement/omg-requirement.png
Binary files differ
diff --git a/releng/src/site/resources/img/glyphicons-halflings-white.png b/releng/src/site/resources/img/glyphicons-halflings-white.png
new file mode 100644
index 0000000..3bf6484
--- /dev/null
+++ b/releng/src/site/resources/img/glyphicons-halflings-white.png
Binary files differ
diff --git a/releng/src/site/resources/img/glyphicons-halflings.png b/releng/src/site/resources/img/glyphicons-halflings.png
new file mode 100644
index 0000000..a996999
--- /dev/null
+++ b/releng/src/site/resources/img/glyphicons-halflings.png
Binary files differ
diff --git a/releng/src/site/resources/js/bootstrap.js b/releng/src/site/resources/js/bootstrap.js
new file mode 100644
index 0000000..44109f6
--- /dev/null
+++ b/releng/src/site/resources/js/bootstrap.js
@@ -0,0 +1,2280 @@
+/* ===================================================
+ * bootstrap-transition.js v2.3.2
+ * http://getbootstrap.com/2.3.2/javascript.html#transitions
+ * ===================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+  /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
+   * ======================================================= */
+
+  $(function () {
+
+    $.support.transition = (function () {
+
+      var transitionEnd = (function () {
+
+        var el = document.createElement('bootstrap')
+          , transEndEventNames = {
+               'WebkitTransition' : 'webkitTransitionEnd'
+            ,  'MozTransition'    : 'transitionend'
+            ,  'OTransition'      : 'oTransitionEnd otransitionend'
+            ,  'transition'       : 'transitionend'
+            }
+          , name
+
+        for (name in transEndEventNames){
+          if (el.style[name] !== undefined) {
+            return transEndEventNames[name]
+          }
+        }
+
+      }())
+
+      return transitionEnd && {
+        end: transitionEnd
+      }
+
+    })()
+
+  })
+
+}(window.jQuery);/* ==========================================================
+ * bootstrap-alert.js v2.3.2
+ * http://getbootstrap.com/2.3.2/javascript.html#alerts
+ * ==========================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* ALERT CLASS DEFINITION
+  * ====================== */
+
+  var dismiss = '[data-dismiss="alert"]'
+    , Alert = function (el) {
+        $(el).on('click', dismiss, this.close)
+      }
+
+  Alert.prototype.close = function (e) {
+    var $this = $(this)
+      , selector = $this.attr('data-target')
+      , $parent
+
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+    }
+
+    $parent = $(selector)
+
+    e && e.preventDefault()
+
+    $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
+
+    $parent.trigger(e = $.Event('close'))
+
+    if (e.isDefaultPrevented()) return
+
+    $parent.removeClass('in')
+
+    function removeElement() {
+      $parent
+        .trigger('closed')
+        .remove()
+    }
+
+    $.support.transition && $parent.hasClass('fade') ?
+      $parent.on($.support.transition.end, removeElement) :
+      removeElement()
+  }
+
+
+ /* ALERT PLUGIN DEFINITION
+  * ======================= */
+
+  var old = $.fn.alert
+
+  $.fn.alert = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('alert')
+      if (!data) $this.data('alert', (data = new Alert(this)))
+      if (typeof option == 'string') data[option].call($this)
+    })
+  }
+
+  $.fn.alert.Constructor = Alert
+
+
+ /* ALERT NO CONFLICT
+  * ================= */
+
+  $.fn.alert.noConflict = function () {
+    $.fn.alert = old
+    return this
+  }
+
+
+ /* ALERT DATA-API
+  * ============== */
+
+  $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
+
+}(window.jQuery);/* ============================================================
+ * bootstrap-button.js v2.3.2
+ * http://getbootstrap.com/2.3.2/javascript.html#buttons
+ * ============================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* BUTTON PUBLIC CLASS DEFINITION
+  * ============================== */
+
+  var Button = function (element, options) {
+    this.$element = $(element)
+    this.options = $.extend({}, $.fn.button.defaults, options)
+  }
+
+  Button.prototype.setState = function (state) {
+    var d = 'disabled'
+      , $el = this.$element
+      , data = $el.data()
+      , val = $el.is('input') ? 'val' : 'html'
+
+    state = state + 'Text'
+    data.resetText || $el.data('resetText', $el[val]())
+
+    $el[val](data[state] || this.options[state])
+
+    // push to event loop to allow forms to submit
+    setTimeout(function () {
+      state == 'loadingText' ?
+        $el.addClass(d).attr(d, d) :
+        $el.removeClass(d).removeAttr(d)
+    }, 0)
+  }
+
+  Button.prototype.toggle = function () {
+    var $parent = this.$element.closest('[data-toggle="buttons-radio"]')
+
+    $parent && $parent
+      .find('.active')
+      .removeClass('active')
+
+    this.$element.toggleClass('active')
+  }
+
+
+ /* BUTTON PLUGIN DEFINITION
+  * ======================== */
+
+  var old = $.fn.button
+
+  $.fn.button = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('button')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('button', (data = new Button(this, options)))
+      if (option == 'toggle') data.toggle()
+      else if (option) data.setState(option)
+    })
+  }
+
+  $.fn.button.defaults = {
+    loadingText: 'loading...'
+  }
+
+  $.fn.button.Constructor = Button
+
+
+ /* BUTTON NO CONFLICT
+  * ================== */
+
+  $.fn.button.noConflict = function () {
+    $.fn.button = old
+    return this
+  }
+
+
+ /* BUTTON DATA-API
+  * =============== */
+
+  $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
+    var $btn = $(e.target)
+    if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+    $btn.button('toggle')
+  })
+
+}(window.jQuery);/* ==========================================================
+ * bootstrap-carousel.js v2.3.2
+ * http://getbootstrap.com/2.3.2/javascript.html#carousel
+ * ==========================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* CAROUSEL CLASS DEFINITION
+  * ========================= */
+
+  var Carousel = function (element, options) {
+    this.$element = $(element)
+    this.$indicators = this.$element.find('.carousel-indicators')
+    this.options = options
+    this.options.pause == 'hover' && this.$element
+      .on('mouseenter', $.proxy(this.pause, this))
+      .on('mouseleave', $.proxy(this.cycle, this))
+  }
+
+  Carousel.prototype = {
+
+    cycle: function (e) {
+      if (!e) this.paused = false
+      if (this.interval) clearInterval(this.interval);
+      this.options.interval
+        && !this.paused
+        && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
+      return this
+    }
+
+  , getActiveIndex: function () {
+      this.$active = this.$element.find('.item.active')
+      this.$items = this.$active.parent().children()
+      return this.$items.index(this.$active)
+    }
+
+  , to: function (pos) {
+      var activeIndex = this.getActiveIndex()
+        , that = this
+
+      if (pos > (this.$items.length - 1) || pos < 0) return
+
+      if (this.sliding) {
+        return this.$element.one('slid', function () {
+          that.to(pos)
+        })
+      }
+
+      if (activeIndex == pos) {
+        return this.pause().cycle()
+      }
+
+      return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
+    }
+
+  , pause: function (e) {
+      if (!e) this.paused = true
+      if (this.$element.find('.next, .prev').length && $.support.transition.end) {
+        this.$element.trigger($.support.transition.end)
+        this.cycle(true)
+      }
+      clearInterval(this.interval)
+      this.interval = null
+      return this
+    }
+
+  , next: function () {
+      if (this.sliding) return
+      return this.slide('next')
+    }
+
+  , prev: function () {
+      if (this.sliding) return
+      return this.slide('prev')
+    }
+
+  , slide: function (type, next) {
+      var $active = this.$element.find('.item.active')
+        , $next = next || $active[type]()
+        , isCycling = this.interval
+        , direction = type == 'next' ? 'left' : 'right'
+        , fallback  = type == 'next' ? 'first' : 'last'
+        , that = this
+        , e
+
+      this.sliding = true
+
+      isCycling && this.pause()
+
+      $next = $next.length ? $next : this.$element.find('.item')[fallback]()
+
+      e = $.Event('slide', {
+        relatedTarget: $next[0]
+      , direction: direction
+      })
+
+      if ($next.hasClass('active')) return
+
+      if (this.$indicators.length) {
+        this.$indicators.find('.active').removeClass('active')
+        this.$element.one('slid', function () {
+          var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
+          $nextIndicator && $nextIndicator.addClass('active')
+        })
+      }
+
+      if ($.support.transition && this.$element.hasClass('slide')) {
+        this.$element.trigger(e)
+        if (e.isDefaultPrevented()) return
+        $next.addClass(type)
+        $next[0].offsetWidth // force reflow
+        $active.addClass(direction)
+        $next.addClass(direction)
+        this.$element.one($.support.transition.end, function () {
+          $next.removeClass([type, direction].join(' ')).addClass('active')
+          $active.removeClass(['active', direction].join(' '))
+          that.sliding = false
+          setTimeout(function () { that.$element.trigger('slid') }, 0)
+        })
+      } else {
+        this.$element.trigger(e)
+        if (e.isDefaultPrevented()) return
+        $active.removeClass('active')
+        $next.addClass('active')
+        this.sliding = false
+        this.$element.trigger('slid')
+      }
+
+      isCycling && this.cycle()
+
+      return this
+    }
+
+  }
+
+
+ /* CAROUSEL PLUGIN DEFINITION
+  * ========================== */
+
+  var old = $.fn.carousel
+
+  $.fn.carousel = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('carousel')
+        , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
+        , action = typeof option == 'string' ? option : options.slide
+      if (!data) $this.data('carousel', (data = new Carousel(this, options)))
+      if (typeof option == 'number') data.to(option)
+      else if (action) data[action]()
+      else if (options.interval) data.pause().cycle()
+    })
+  }
+
+  $.fn.carousel.defaults = {
+    interval: 5000
+  , pause: 'hover'
+  }
+
+  $.fn.carousel.Constructor = Carousel
+
+
+ /* CAROUSEL NO CONFLICT
+  * ==================== */
+
+  $.fn.carousel.noConflict = function () {
+    $.fn.carousel = old
+    return this
+  }
+
+ /* CAROUSEL DATA-API
+  * ================= */
+
+  $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
+    var $this = $(this), href
+      , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+      , options = $.extend({}, $target.data(), $this.data())
+      , slideIndex
+
+    $target.carousel(options)
+
+    if (slideIndex = $this.attr('data-slide-to')) {
+      $target.data('carousel').pause().to(slideIndex).cycle()
+    }
+
+    e.preventDefault()
+  })
+
+}(window.jQuery);/* =============================================================
+ * bootstrap-collapse.js v2.3.2
+ * http://getbootstrap.com/2.3.2/javascript.html#collapse
+ * =============================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* COLLAPSE PUBLIC CLASS DEFINITION
+  * ================================ */
+
+  var Collapse = function (element, options) {
+    this.$element = $(element)
+    this.options = $.extend({}, $.fn.collapse.defaults, options)
+
+    if (this.options.parent) {
+      this.$parent = $(this.options.parent)
+    }
+
+    this.options.toggle && this.toggle()
+  }
+
+  Collapse.prototype = {
+
+    constructor: Collapse
+
+  , dimension: function () {
+      var hasWidth = this.$element.hasClass('width')
+      return hasWidth ? 'width' : 'height'
+    }
+
+  , show: function () {
+      var dimension
+        , scroll
+        , actives
+        , hasData
+
+      if (this.transitioning || this.$element.hasClass('in')) return
+
+      dimension = this.dimension()
+      scroll = $.camelCase(['scroll', dimension].join('-'))
+      actives = this.$parent && this.$parent.find('> .accordion-group > .in')
+
+      if (actives && actives.length) {
+        hasData = actives.data('collapse')
+        if (hasData && hasData.transitioning) return
+        actives.collapse('hide')
+        hasData || actives.data('collapse', null)
+      }
+
+      this.$element[dimension](0)
+      this.transition('addClass', $.Event('show'), 'shown')
+      $.support.transition && this.$element[dimension](this.$element[0][scroll])
+    }
+
+  , hide: function () {
+      var dimension
+      if (this.transitioning || !this.$element.hasClass('in')) return
+      dimension = this.dimension()
+      this.reset(this.$element[dimension]())
+      this.transition('removeClass', $.Event('hide'), 'hidden')
+      this.$element[dimension](0)
+    }
+
+  , reset: function (size) {
+      var dimension = this.dimension()
+
+      this.$element
+        .removeClass('collapse')
+        [dimension](size || 'auto')
+        [0].offsetWidth
+
+      this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
+
+      return this
+    }
+
+  , transition: function (method, startEvent, completeEvent) {
+      var that = this
+        , complete = function () {
+            if (startEvent.type == 'show') that.reset()
+            that.transitioning = 0
+            that.$element.trigger(completeEvent)
+          }
+
+      this.$element.trigger(startEvent)
+
+      if (startEvent.isDefaultPrevented()) return
+
+      this.transitioning = 1
+
+      this.$element[method]('in')
+
+      $.support.transition && this.$element.hasClass('collapse') ?
+        this.$element.one($.support.transition.end, complete) :
+        complete()
+    }
+
+  , toggle: function () {
+      this[this.$element.hasClass('in') ? 'hide' : 'show']()
+    }
+
+  }
+
+
+ /* COLLAPSE PLUGIN DEFINITION
+  * ========================== */
+
+  var old = $.fn.collapse
+
+  $.fn.collapse = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('collapse')
+        , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
+      if (!data) $this.data('collapse', (data = new Collapse(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.collapse.defaults = {
+    toggle: true
+  }
+
+  $.fn.collapse.Constructor = Collapse
+
+
+ /* COLLAPSE NO CONFLICT
+  * ==================== */
+
+  $.fn.collapse.noConflict = function () {
+    $.fn.collapse = old
+    return this
+  }
+
+
+ /* COLLAPSE DATA-API
+  * ================= */
+
+  $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
+    var $this = $(this), href
+      , target = $this.attr('data-target')
+        || e.preventDefault()
+        || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
+      , option = $(target).data('collapse') ? 'toggle' : $this.data()
+    $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
+    $(target).collapse(option)
+  })
+
+}(window.jQuery);/* ============================================================
+ * bootstrap-dropdown.js v2.3.2
+ * http://getbootstrap.com/2.3.2/javascript.html#dropdowns
+ * ============================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* DROPDOWN CLASS DEFINITION
+  * ========================= */
+
+  var toggle = '[data-toggle=dropdown]'
+    , Dropdown = function (element) {
+        var $el = $(element).on('click.dropdown.data-api', this.toggle)
+        $('html').on('click.dropdown.data-api', function () {
+          $el.parent().removeClass('open')
+        })
+      }
+
+  Dropdown.prototype = {
+
+    constructor: Dropdown
+
+  , toggle: function (e) {
+      var $this = $(this)
+        , $parent
+        , isActive
+
+      if ($this.is('.disabled, :disabled')) return
+
+      $parent = getParent($this)
+
+      isActive = $parent.hasClass('open')
+
+      clearMenus()
+
+      if (!isActive) {
+        if ('ontouchstart' in document.documentElement) {
+          // if mobile we we use a backdrop because click events don't delegate
+          $('<div class="dropdown-backdrop"/>').insertBefore($(this)).on('click', clearMenus)
+        }
+        $parent.toggleClass('open')
+      }
+
+      $this.focus()
+
+      return false
+    }
+
+  , keydown: function (e) {
+      var $this
+        , $items
+        , $active
+        , $parent
+        , isActive
+        , index
+
+      if (!/(38|40|27)/.test(e.keyCode)) return
+
+      $this = $(this)
+
+      e.preventDefault()
+      e.stopPropagation()
+
+      if ($this.is('.disabled, :disabled')) return
+
+      $parent = getParent($this)
+
+      isActive = $parent.hasClass('open')
+
+      if (!isActive || (isActive && e.keyCode == 27)) {
+        if (e.which == 27) $parent.find(toggle).focus()
+        return $this.click()
+      }
+
+      $items = $('[role=menu] li:not(.divider):visible a', $parent)
+
+      if (!$items.length) return
+
+      index = $items.index($items.filter(':focus'))
+
+      if (e.keyCode == 38 && index > 0) index--                                        // up
+      if (e.keyCode == 40 && index < $items.length - 1) index++                        // down
+      if (!~index) index = 0
+
+      $items
+        .eq(index)
+        .focus()
+    }
+
+  }
+
+  function clearMenus() {
+    $('.dropdown-backdrop').remove()
+    $(toggle).each(function () {
+      getParent($(this)).removeClass('open')
+    })
+  }
+
+  function getParent($this) {
+    var selector = $this.attr('data-target')
+      , $parent
+
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+    }
+
+    $parent = selector && $(selector)
+
+    if (!$parent || !$parent.length) $parent = $this.parent()
+
+    return $parent
+  }
+
+
+  /* DROPDOWN PLUGIN DEFINITION
+   * ========================== */
+
+  var old = $.fn.dropdown
+
+  $.fn.dropdown = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('dropdown')
+      if (!data) $this.data('dropdown', (data = new Dropdown(this)))
+      if (typeof option == 'string') data[option].call($this)
+    })
+  }
+
+  $.fn.dropdown.Constructor = Dropdown
+
+
+ /* DROPDOWN NO CONFLICT
+  * ==================== */
+
+  $.fn.dropdown.noConflict = function () {
+    $.fn.dropdown = old
+    return this
+  }
+
+
+  /* APPLY TO STANDARD DROPDOWN ELEMENTS
+   * =================================== */
+
+  $(document)
+    .on('click.dropdown.data-api', clearMenus)
+    .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
+    .on('click.dropdown.data-api'  , toggle, Dropdown.prototype.toggle)
+    .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
+
+}(window.jQuery);
+/* =========================================================
+ * bootstrap-modal.js v2.3.2
+ * http://getbootstrap.com/2.3.2/javascript.html#modals
+ * =========================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================= */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* MODAL CLASS DEFINITION
+  * ====================== */
+
+  var Modal = function (element, options) {
+    this.options = options
+    this.$element = $(element)
+      .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
+    this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
+  }
+
+  Modal.prototype = {
+
+      constructor: Modal
+
+    , toggle: function () {
+        return this[!this.isShown ? 'show' : 'hide']()
+      }
+
+    , show: function () {
+        var that = this
+          , e = $.Event('show')
+
+        this.$element.trigger(e)
+
+        if (this.isShown || e.isDefaultPrevented()) return
+
+        this.isShown = true
+
+        this.escape()
+
+        this.backdrop(function () {
+          var transition = $.support.transition && that.$element.hasClass('fade')
+
+          if (!that.$element.parent().length) {
+            that.$element.appendTo(document.body) //don't move modals dom position
+          }
+
+          that.$element.show()
+
+          if (transition) {
+            that.$element[0].offsetWidth // force reflow
+          }
+
+          that.$element
+            .addClass('in')
+            .attr('aria-hidden', false)
+
+          that.enforceFocus()
+
+          transition ?
+            that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
+            that.$element.focus().trigger('shown')
+
+        })
+      }
+
+    , hide: function (e) {
+        e && e.preventDefault()
+
+        var that = this
+
+        e = $.Event('hide')
+
+        this.$element.trigger(e)
+
+        if (!this.isShown || e.isDefaultPrevented()) return
+
+        this.isShown = false
+
+        this.escape()
+
+        $(document).off('focusin.modal')
+
+        this.$element
+          .removeClass('in')
+          .attr('aria-hidden', true)
+
+        $.support.transition && this.$element.hasClass('fade') ?
+          this.hideWithTransition() :
+          this.hideModal()
+      }
+
+    , enforceFocus: function () {
+        var that = this
+        $(document).on('focusin.modal', function (e) {
+          if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
+            that.$element.focus()
+          }
+        })
+      }
+
+    , escape: function () {
+        var that = this
+        if (this.isShown && this.options.keyboard) {
+          this.$element.on('keyup.dismiss.modal', function ( e ) {
+            e.which == 27 && that.hide()
+          })
+        } else if (!this.isShown) {
+          this.$element.off('keyup.dismiss.modal')
+        }
+      }
+
+    , hideWithTransition: function () {
+        var that = this
+          , timeout = setTimeout(function () {
+              that.$element.off($.support.transition.end)
+              that.hideModal()
+            }, 500)
+
+        this.$element.one($.support.transition.end, function () {
+          clearTimeout(timeout)
+          that.hideModal()
+        })
+      }
+
+    , hideModal: function () {
+        var that = this
+        this.$element.hide()
+        this.backdrop(function () {
+          that.removeBackdrop()
+          that.$element.trigger('hidden')
+        })
+      }
+
+    , removeBackdrop: function () {
+        this.$backdrop && this.$backdrop.remove()
+        this.$backdrop = null
+      }
+
+    , backdrop: function (callback) {
+        var that = this
+          , animate = this.$element.hasClass('fade') ? 'fade' : ''
+
+        if (this.isShown && this.options.backdrop) {
+          var doAnimate = $.support.transition && animate
+
+          this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
+            .appendTo(document.body)
+
+          this.$backdrop.click(
+            this.options.backdrop == 'static' ?
+              $.proxy(this.$element[0].focus, this.$element[0])
+            : $.proxy(this.hide, this)
+          )
+
+          if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
+
+          this.$backdrop.addClass('in')
+
+          if (!callback) return
+
+          doAnimate ?
+            this.$backdrop.one($.support.transition.end, callback) :
+            callback()
+
+        } else if (!this.isShown && this.$backdrop) {
+          this.$backdrop.removeClass('in')
+
+          $.support.transition && this.$element.hasClass('fade')?
+            this.$backdrop.one($.support.transition.end, callback) :
+            callback()
+
+        } else if (callback) {
+          callback()
+        }
+      }
+  }
+
+
+ /* MODAL PLUGIN DEFINITION
+  * ======================= */
+
+  var old = $.fn.modal
+
+  $.fn.modal = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('modal')
+        , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
+      if (!data) $this.data('modal', (data = new Modal(this, options)))
+      if (typeof option == 'string') data[option]()
+      else if (options.show) data.show()
+    })
+  }
+
+  $.fn.modal.defaults = {
+      backdrop: true
+    , keyboard: true
+    , show: true
+  }
+
+  $.fn.modal.Constructor = Modal
+
+
+ /* MODAL NO CONFLICT
+  * ================= */
+
+  $.fn.modal.noConflict = function () {
+    $.fn.modal = old
+    return this
+  }
+
+
+ /* MODAL DATA-API
+  * ============== */
+
+  $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
+    var $this = $(this)
+      , href = $this.attr('href')
+      , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
+      , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
+
+    e.preventDefault()
+
+    $target
+      .modal(option)
+      .one('hide', function () {
+        $this.focus()
+      })
+  })
+
+}(window.jQuery);
+/* ===========================================================
+ * bootstrap-tooltip.js v2.3.2
+ * http://getbootstrap.com/2.3.2/javascript.html#tooltips
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ===========================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* TOOLTIP PUBLIC CLASS DEFINITION
+  * =============================== */
+
+  var Tooltip = function (element, options) {
+    this.init('tooltip', element, options)
+  }
+
+  Tooltip.prototype = {
+
+    constructor: Tooltip
+
+  , init: function (type, element, options) {
+      var eventIn
+        , eventOut
+        , triggers
+        , trigger
+        , i
+
+      this.type = type
+      this.$element = $(element)
+      this.options = this.getOptions(options)
+      this.enabled = true
+
+      triggers = this.options.trigger.split(' ')
+
+      for (i = triggers.length; i--;) {
+        trigger = triggers[i]
+        if (trigger == 'click') {
+          this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
+        } else if (trigger != 'manual') {
+          eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
+          eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
+          this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
+          this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
+        }
+      }
+
+      this.options.selector ?
+        (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+        this.fixTitle()
+    }
+
+  , getOptions: function (options) {
+      options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)
+
+      if (options.delay && typeof options.delay == 'number') {
+        options.delay = {
+          show: options.delay
+        , hide: options.delay
+        }
+      }
+
+      return options
+    }
+
+  , enter: function (e) {
+      var defaults = $.fn[this.type].defaults
+        , options = {}
+        , self
+
+      this._options && $.each(this._options, function (key, value) {
+        if (defaults[key] != value) options[key] = value
+      }, this)
+
+      self = $(e.currentTarget)[this.type](options).data(this.type)
+
+      if (!self.options.delay || !self.options.delay.show) return self.show()
+
+      clearTimeout(this.timeout)
+      self.hoverState = 'in'
+      this.timeout = setTimeout(function() {
+        if (self.hoverState == 'in') self.show()
+      }, self.options.delay.show)
+    }
+
+  , leave: function (e) {
+      var self = $(e.currentTarget)[this.type](this._options).data(this.type)
+
+      if (this.timeout) clearTimeout(this.timeout)
+      if (!self.options.delay || !self.options.delay.hide) return self.hide()
+
+      self.hoverState = 'out'
+      this.timeout = setTimeout(function() {
+        if (self.hoverState == 'out') self.hide()
+      }, self.options.delay.hide)
+    }
+
+  , show: function () {
+      var $tip
+        , pos
+        , actualWidth
+        , actualHeight
+        , placement
+        , tp
+        , e = $.Event('show')
+
+      if (this.hasContent() && this.enabled) {
+        this.$element.trigger(e)
+        if (e.isDefaultPrevented()) return
+        $tip = this.tip()
+        this.setContent()
+
+        if (this.options.animation) {
+          $tip.addClass('fade')
+        }
+
+        placement = typeof this.options.placement == 'function' ?
+          this.options.placement.call(this, $tip[0], this.$element[0]) :
+          this.options.placement
+
+        $tip
+          .detach()
+          .css({ top: 0, left: 0, display: 'block' })
+
+        this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
+
+        pos = this.getPosition()
+
+        actualWidth = $tip[0].offsetWidth
+        actualHeight = $tip[0].offsetHeight
+
+        switch (placement) {
+          case 'bottom':
+            tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
+            break
+          case 'top':
+            tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
+            break
+          case 'left':
+            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
+            break
+          case 'right':
+            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
+            break
+        }
+
+        this.applyPlacement(tp, placement)
+        this.$element.trigger('shown')
+      }
+    }
+
+  , applyPlacement: function(offset, placement){
+      var $tip = this.tip()
+        , width = $tip[0].offsetWidth
+        , height = $tip[0].offsetHeight
+        , actualWidth
+        , actualHeight
+        , delta
+        , replace
+
+      $tip
+        .offset(offset)
+        .addClass(placement)
+        .addClass('in')
+
+      actualWidth = $tip[0].offsetWidth
+      actualHeight = $tip[0].offsetHeight
+
+      if (placement == 'top' && actualHeight != height) {
+        offset.top = offset.top + height - actualHeight
+        replace = true
+      }
+
+      if (placement == 'bottom' || placement == 'top') {
+        delta = 0
+
+        if (offset.left < 0){
+          delta = offset.left * -2
+          offset.left = 0
+          $tip.offset(offset)
+          actualWidth = $tip[0].offsetWidth
+          actualHeight = $tip[0].offsetHeight
+        }
+
+        this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
+      } else {
+        this.replaceArrow(actualHeight - height, actualHeight, 'top')
+      }
+
+      if (replace) $tip.offset(offset)
+    }
+
+  , replaceArrow: function(delta, dimension, position){
+      this
+        .arrow()
+        .css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
+    }
+
+  , setContent: function () {
+      var $tip = this.tip()
+        , title = this.getTitle()
+
+      $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
+      $tip.removeClass('fade in top bottom left right')
+    }
+
+  , hide: function () {
+      var that = this
+        , $tip = this.tip()
+        , e = $.Event('hide')
+
+      this.$element.trigger(e)
+      if (e.isDefaultPrevented()) return
+
+      $tip.removeClass('in')
+
+      function removeWithAnimation() {
+        var timeout = setTimeout(function () {
+          $tip.off($.support.transition.end).detach()
+        }, 500)
+
+        $tip.one($.support.transition.end, function () {
+          clearTimeout(timeout)
+          $tip.detach()
+        })
+      }
+
+      $.support.transition && this.$tip.hasClass('fade') ?
+        removeWithAnimation() :
+        $tip.detach()
+
+      this.$element.trigger('hidden')
+
+      return this
+    }
+
+  , fixTitle: function () {
+      var $e = this.$element
+      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
+        $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
+      }
+    }
+
+  , hasContent: function () {
+      return this.getTitle()
+    }
+
+  , getPosition: function () {
+      var el = this.$element[0]
+      return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
+        width: el.offsetWidth
+      , height: el.offsetHeight
+      }, this.$element.offset())
+    }
+
+  , getTitle: function () {
+      var title
+        , $e = this.$element
+        , o = this.options
+
+      title = $e.attr('data-original-title')
+        || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
+
+      return title
+    }
+
+  , tip: function () {
+      return this.$tip = this.$tip || $(this.options.template)
+    }
+
+  , arrow: function(){
+      return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
+    }
+
+  , validate: function () {
+      if (!this.$element[0].parentNode) {
+        this.hide()
+        this.$element = null
+        this.options = null
+      }
+    }
+
+  , enable: function () {
+      this.enabled = true
+    }
+
+  , disable: function () {
+      this.enabled = false
+    }
+
+  , toggleEnabled: function () {
+      this.enabled = !this.enabled
+    }
+
+  , toggle: function (e) {
+      var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
+      self.tip().hasClass('in') ? self.hide() : self.show()
+    }
+
+  , destroy: function () {
+      this.hide().$element.off('.' + this.type).removeData(this.type)
+    }
+
+  }
+
+
+ /* TOOLTIP PLUGIN DEFINITION
+  * ========================= */
+
+  var old = $.fn.tooltip
+
+  $.fn.tooltip = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('tooltip')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.tooltip.Constructor = Tooltip
+
+  $.fn.tooltip.defaults = {
+    animation: true
+  , placement: 'top'
+  , selector: false
+  , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
+  , trigger: 'hover focus'
+  , title: ''
+  , delay: 0
+  , html: false
+  , container: false
+  }
+
+
+ /* TOOLTIP NO CONFLICT
+  * =================== */
+
+  $.fn.tooltip.noConflict = function () {
+    $.fn.tooltip = old
+    return this
+  }
+
+}(window.jQuery);
+/* ===========================================================
+ * bootstrap-popover.js v2.3.2
+ * http://getbootstrap.com/2.3.2/javascript.html#popovers
+ * ===========================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * =========================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* POPOVER PUBLIC CLASS DEFINITION
+  * =============================== */
+
+  var Popover = function (element, options) {
+    this.init('popover', element, options)
+  }
+
+
+  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
+     ========================================== */
+
+  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
+
+    constructor: Popover
+
+  , setContent: function () {
+      var $tip = this.tip()
+        , title = this.getTitle()
+        , content = this.getContent()
+
+      $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
+      $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
+
+      $tip.removeClass('fade top bottom left right in')
+    }
+
+  , hasContent: function () {
+      return this.getTitle() || this.getContent()
+    }
+
+  , getContent: function () {
+      var content
+        , $e = this.$element
+        , o = this.options
+
+      content = (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)
+        || $e.attr('data-content')
+
+      return content
+    }
+
+  , tip: function () {
+      if (!this.$tip) {
+        this.$tip = $(this.options.template)
+      }
+      return this.$tip
+    }
+
+  , destroy: function () {
+      this.hide().$element.off('.' + this.type).removeData(this.type)
+    }
+
+  })
+
+
+ /* POPOVER PLUGIN DEFINITION
+  * ======================= */
+
+  var old = $.fn.popover
+
+  $.fn.popover = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('popover')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('popover', (data = new Popover(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.popover.Constructor = Popover
+
+  $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
+    placement: 'right'
+  , trigger: 'click'
+  , content: ''
+  , template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
+  })
+
+
+ /* POPOVER NO CONFLICT
+  * =================== */
+
+  $.fn.popover.noConflict = function () {
+    $.fn.popover = old
+    return this
+  }
+
+}(window.jQuery);
+/* =============================================================
+ * bootstrap-scrollspy.js v2.3.2
+ * http://getbootstrap.com/2.3.2/javascript.html#scrollspy
+ * =============================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* SCROLLSPY CLASS DEFINITION
+  * ========================== */
+
+  function ScrollSpy(element, options) {
+    var process = $.proxy(this.process, this)
+      , $element = $(element).is('body') ? $(window) : $(element)
+      , href
+    this.options = $.extend({}, $.fn.scrollspy.defaults, options)
+    this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)
+    this.selector = (this.options.target
+      || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+      || '') + ' .nav li > a'
+    this.$body = $('body')
+    this.refresh()
+    this.process()
+  }
+
+  ScrollSpy.prototype = {
+
+      constructor: ScrollSpy
+
+    , refresh: function () {
+        var self = this
+          , $targets
+
+        this.offsets = $([])
+        this.targets = $([])
+
+        $targets = this.$body
+          .find(this.selector)
+          .map(function () {
+            var $el = $(this)
+              , href = $el.data('target') || $el.attr('href')
+              , $href = /^#\w/.test(href) && $(href)
+            return ( $href
+              && $href.length
+              && [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
+          })
+          .sort(function (a, b) { return a[0] - b[0] })
+          .each(function () {
+            self.offsets.push(this[0])
+            self.targets.push(this[1])
+          })
+      }
+
+    , process: function () {
+        var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
+          , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
+          , maxScroll = scrollHeight - this.$scrollElement.height()
+          , offsets = this.offsets
+          , targets = this.targets
+          , activeTarget = this.activeTarget
+          , i
+
+        if (scrollTop >= maxScroll) {
+          return activeTarget != (i = targets.last()[0])
+            && this.activate ( i )
+        }
+
+        for (i = offsets.length; i--;) {
+          activeTarget != targets[i]
+            && scrollTop >= offsets[i]
+            && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
+            && this.activate( targets[i] )
+        }
+      }
+
+    , activate: function (target) {
+        var active
+          , selector
+
+        this.activeTarget = target
+
+        $(this.selector)
+          .parent('.active')
+          .removeClass('active')
+
+        selector = this.selector
+          + '[data-target="' + target + '"],'
+          + this.selector + '[href="' + target + '"]'
+
+        active = $(selector)
+          .parent('li')
+          .addClass('active')
+
+        if (active.parent('.dropdown-menu').length)  {
+          active = active.closest('li.dropdown').addClass('active')
+        }
+
+        active.trigger('activate')
+      }
+
+  }
+
+
+ /* SCROLLSPY PLUGIN DEFINITION
+  * =========================== */
+
+  var old = $.fn.scrollspy
+
+  $.fn.scrollspy = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('scrollspy')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.scrollspy.Constructor = ScrollSpy
+
+  $.fn.scrollspy.defaults = {
+    offset: 10
+  }
+
+
+ /* SCROLLSPY NO CONFLICT
+  * ===================== */
+
+  $.fn.scrollspy.noConflict = function () {
+    $.fn.scrollspy = old
+    return this
+  }
+
+
+ /* SCROLLSPY DATA-API
+  * ================== */
+
+  $(window).on('load', function () {
+    $('[data-spy="scroll"]').each(function () {
+      var $spy = $(this)
+      $spy.scrollspy($spy.data())
+    })
+  })
+
+}(window.jQuery);/* ========================================================
+ * bootstrap-tab.js v2.3.2
+ * http://getbootstrap.com/2.3.2/javascript.html#tabs
+ * ========================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* TAB CLASS DEFINITION
+  * ==================== */
+
+  var Tab = function (element) {
+    this.element = $(element)
+  }
+
+  Tab.prototype = {
+
+    constructor: Tab
+
+  , show: function () {
+      var $this = this.element
+        , $ul = $this.closest('ul:not(.dropdown-menu)')
+        , selector = $this.attr('data-target')
+        , previous
+        , $target
+        , e
+
+      if (!selector) {
+        selector = $this.attr('href')
+        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+      }
+
+      if ( $this.parent('li').hasClass('active') ) return
+
+      previous = $ul.find('.active:last a')[0]
+
+      e = $.Event('show', {
+        relatedTarget: previous
+      })
+
+      $this.trigger(e)
+
+      if (e.isDefaultPrevented()) return
+
+      $target = $(selector)
+
+      this.activate($this.parent('li'), $ul)
+      this.activate($target, $target.parent(), function () {
+        $this.trigger({
+          type: 'shown'
+        , relatedTarget: previous
+        })
+      })
+    }
+
+  , activate: function ( element, container, callback) {
+      var $active = container.find('> .active')
+        , transition = callback
+            && $.support.transition
+            && $active.hasClass('fade')
+
+      function next() {
+        $active
+          .removeClass('active')
+          .find('> .dropdown-menu > .active')
+          .removeClass('active')
+
+        element.addClass('active')
+
+        if (transition) {
+          element[0].offsetWidth // reflow for transition
+          element.addClass('in')
+        } else {
+          element.removeClass('fade')
+        }
+
+        if ( element.parent('.dropdown-menu') ) {
+          element.closest('li.dropdown').addClass('active')
+        }
+
+        callback && callback()
+      }
+
+      transition ?
+        $active.one($.support.transition.end, next) :
+        next()
+
+      $active.removeClass('in')
+    }
+  }
+
+
+ /* TAB PLUGIN DEFINITION
+  * ===================== */
+
+  var old = $.fn.tab
+
+  $.fn.tab = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('tab')
+      if (!data) $this.data('tab', (data = new Tab(this)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.tab.Constructor = Tab
+
+
+ /* TAB NO CONFLICT
+  * =============== */
+
+  $.fn.tab.noConflict = function () {
+    $.fn.tab = old
+    return this
+  }
+
+
+ /* TAB DATA-API
+  * ============ */
+
+  $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
+    e.preventDefault()
+    $(this).tab('show')
+  })
+
+}(window.jQuery);/* =============================================================
+ * bootstrap-typeahead.js v2.3.2
+ * http://getbootstrap.com/2.3.2/javascript.html#typeahead
+ * =============================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function($){
+
+  "use strict"; // jshint ;_;
+
+
+ /* TYPEAHEAD PUBLIC CLASS DEFINITION
+  * ================================= */
+
+  var Typeahead = function (element, options) {
+    this.$element = $(element)
+    this.options = $.extend({}, $.fn.typeahead.defaults, options)
+    this.matcher = this.options.matcher || this.matcher
+    this.sorter = this.options.sorter || this.sorter
+    this.highlighter = this.options.highlighter || this.highlighter
+    this.updater = this.options.updater || this.updater
+    this.source = this.options.source
+    this.$menu = $(this.options.menu)
+    this.shown = false
+    this.listen()
+  }
+
+  Typeahead.prototype = {
+
+    constructor: Typeahead
+
+  , select: function () {
+      var val = this.$menu.find('.active').attr('data-value')
+      this.$element
+        .val(this.updater(val))
+        .change()
+      return this.hide()
+    }
+
+  , updater: function (item) {
+      return item
+    }
+
+  , show: function () {
+      var pos = $.extend({}, this.$element.position(), {
+        height: this.$element[0].offsetHeight
+      })
+
+      this.$menu
+        .insertAfter(this.$element)
+        .css({
+          top: pos.top + pos.height
+        , left: pos.left
+        })
+        .show()
+
+      this.shown = true
+      return this
+    }
+
+  , hide: function () {
+      this.$menu.hide()
+      this.shown = false
+      return this
+    }
+
+  , lookup: function (event) {
+      var items
+
+      this.query = this.$element.val()
+
+      if (!this.query || this.query.length < this.options.minLength) {
+        return this.shown ? this.hide() : this
+      }
+
+      items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
+
+      return items ? this.process(items) : this
+    }
+
+  , process: function (items) {
+      var that = this
+
+      items = $.grep(items, function (item) {
+        return that.matcher(item)
+      })
+
+      items = this.sorter(items)
+
+      if (!items.length) {
+        return this.shown ? this.hide() : this
+      }
+
+      return this.render(items.slice(0, this.options.items)).show()
+    }
+
+  , matcher: function (item) {
+      return ~item.toLowerCase().indexOf(this.query.toLowerCase())
+    }
+
+  , sorter: function (items) {
+      var beginswith = []
+        , caseSensitive = []
+        , caseInsensitive = []
+        , item
+
+      while (item = items.shift()) {
+        if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
+        else if (~item.indexOf(this.query)) caseSensitive.push(item)
+        else caseInsensitive.push(item)
+      }
+
+      return beginswith.concat(caseSensitive, caseInsensitive)
+    }
+
+  , highlighter: function (item) {
+      var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
+      return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
+        return '<strong>' + match + '</strong>'
+      })
+    }
+
+  , render: function (items) {
+      var that = this
+
+      items = $(items).map(function (i, item) {
+        i = $(that.options.item).attr('data-value', item)
+        i.find('a').html(that.highlighter(item))
+        return i[0]
+      })
+
+      items.first().addClass('active')
+      this.$menu.html(items)
+      return this
+    }
+
+  , next: function (event) {
+      var active = this.$menu.find('.active').removeClass('active')
+        , next = active.next()
+
+      if (!next.length) {
+        next = $(this.$menu.find('li')[0])
+      }
+
+      next.addClass('active')
+    }
+
+  , prev: function (event) {
+      var active = this.$menu.find('.active').removeClass('active')
+        , prev = active.prev()
+
+      if (!prev.length) {
+        prev = this.$menu.find('li').last()
+      }
+
+      prev.addClass('active')
+    }
+
+  , listen: function () {
+      this.$element
+        .on('focus',    $.proxy(this.focus, this))
+        .on('blur',     $.proxy(this.blur, this))
+        .on('keypress', $.proxy(this.keypress, this))
+        .on('keyup',    $.proxy(this.keyup, this))
+
+      if (this.eventSupported('keydown')) {
+        this.$element.on('keydown', $.proxy(this.keydown, this))
+      }
+
+      this.$menu
+        .on('click', $.proxy(this.click, this))
+        .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
+        .on('mouseleave', 'li', $.proxy(this.mouseleave, this))
+    }
+
+  , eventSupported: function(eventName) {
+      var isSupported = eventName in this.$element
+      if (!isSupported) {
+        this.$element.setAttribute(eventName, 'return;')
+        isSupported = typeof this.$element[eventName] === 'function'
+      }
+      return isSupported
+    }
+
+  , move: function (e) {
+      if (!this.shown) return
+
+      switch(e.keyCode) {
+        case 9: // tab
+        case 13: // enter
+        case 27: // escape
+          e.preventDefault()
+          break
+
+        case 38: // up arrow
+          e.preventDefault()
+          this.prev()
+          break
+
+        case 40: // down arrow
+          e.preventDefault()
+          this.next()
+          break
+      }
+
+      e.stopPropagation()
+    }
+
+  , keydown: function (e) {
+      this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
+      this.move(e)
+    }
+
+  , keypress: function (e) {
+      if (this.suppressKeyPressRepeat) return
+      this.move(e)
+    }
+
+  , keyup: function (e) {
+      switch(e.keyCode) {
+        case 40: // down arrow
+        case 38: // up arrow
+        case 16: // shift
+        case 17: // ctrl
+        case 18: // alt
+          break
+
+        case 9: // tab
+        case 13: // enter
+          if (!this.shown) return
+          this.select()
+          break
+
+        case 27: // escape
+          if (!this.shown) return
+          this.hide()
+          break
+
+        default:
+          this.lookup()
+      }
+
+      e.stopPropagation()
+      e.preventDefault()
+  }
+
+  , focus: function (e) {
+      this.focused = true
+    }
+
+  , blur: function (e) {
+      this.focused = false
+      if (!this.mousedover && this.shown) this.hide()
+    }
+
+  , click: function (e) {
+      e.stopPropagation()
+      e.preventDefault()
+      this.select()
+      this.$element.focus()
+    }
+
+  , mouseenter: function (e) {
+      this.mousedover = true
+      this.$menu.find('.active').removeClass('active')
+      $(e.currentTarget).addClass('active')
+    }
+
+  , mouseleave: function (e) {
+      this.mousedover = false
+      if (!this.focused && this.shown) this.hide()
+    }
+
+  }
+
+
+  /* TYPEAHEAD PLUGIN DEFINITION
+   * =========================== */
+
+  var old = $.fn.typeahead
+
+  $.fn.typeahead = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('typeahead')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.typeahead.defaults = {
+    source: []
+  , items: 8
+  , menu: '<ul class="typeahead dropdown-menu"></ul>'
+  , item: '<li><a href="#"></a></li>'
+  , minLength: 1
+  }
+
+  $.fn.typeahead.Constructor = Typeahead
+
+
+ /* TYPEAHEAD NO CONFLICT
+  * =================== */
+
+  $.fn.typeahead.noConflict = function () {
+    $.fn.typeahead = old
+    return this
+  }
+
+
+ /* TYPEAHEAD DATA-API
+  * ================== */
+
+  $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
+    var $this = $(this)
+    if ($this.data('typeahead')) return
+    $this.typeahead($this.data())
+  })
+
+}(window.jQuery);
+/* ==========================================================
+ * bootstrap-affix.js v2.3.2
+ * http://getbootstrap.com/2.3.2/javascript.html#affix
+ * ==========================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* AFFIX CLASS DEFINITION
+  * ====================== */
+
+  var Affix = function (element, options) {
+    this.options = $.extend({}, $.fn.affix.defaults, options)
+    this.$window = $(window)
+      .on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
+      .on('click.affix.data-api',  $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
+    this.$element = $(element)
+    this.checkPosition()
+  }
+
+  Affix.prototype.checkPosition = function () {
+    if (!this.$element.is(':visible')) return
+
+    var scrollHeight = $(document).height()
+      , scrollTop = this.$window.scrollTop()
+      , position = this.$element.offset()
+      , offset = this.options.offset
+      , offsetBottom = offset.bottom
+      , offsetTop = offset.top
+      , reset = 'affix affix-top affix-bottom'
+      , affix
+
+    if (typeof offset != 'object') offsetBottom = offsetTop = offset
+    if (typeof offsetTop == 'function') offsetTop = offset.top()
+    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
+
+    affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?
+      false    : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?
+      'bottom' : offsetTop != null && scrollTop <= offsetTop ?
+      'top'    : false
+
+    if (this.affixed === affix) return
+
+    this.affixed = affix
+    this.unpin = affix == 'bottom' ? position.top - scrollTop : null
+
+    this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))
+  }
+
+
+ /* AFFIX PLUGIN DEFINITION
+  * ======================= */
+
+  var old = $.fn.affix
+
+  $.fn.affix = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('affix')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('affix', (data = new Affix(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.affix.Constructor = Affix
+
+  $.fn.affix.defaults = {
+    offset: 0
+  }
+
+
+ /* AFFIX NO CONFLICT
+  * ================= */
+
+  $.fn.affix.noConflict = function () {
+    $.fn.affix = old
+    return this
+  }
+
+
+ /* AFFIX DATA-API
+  * ============== */
+
+  $(window).on('load', function () {
+    $('[data-spy="affix"]').each(function () {
+      var $spy = $(this)
+        , data = $spy.data()
+
+      data.offset = data.offset || {}
+
+      data.offsetBottom && (data.offset.bottom = data.offsetBottom)
+      data.offsetTop && (data.offset.top = data.offsetTop)
+
+      $spy.affix(data)
+    })
+  })
+
+
+}(window.jQuery);
\ No newline at end of file
diff --git a/releng/src/site/resources/js/bootstrap.min.js b/releng/src/site/resources/js/bootstrap.min.js
new file mode 100644
index 0000000..848258d
--- /dev/null
+++ b/releng/src/site/resources/js/bootstrap.min.js
@@ -0,0 +1,6 @@
+/*!
+* Bootstrap.js by @fat & @mdo
+* Copyright 2013 Twitter, Inc.
+* http://www.apache.org/licenses/LICENSE-2.0.txt
+*/
+!function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).on("click.alert.data-api",t,n.prototype.close)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:"loading..."},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).on("click.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(t){var n=this.getActiveIndex(),r=this;if(t>this.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){r.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",e(this.$items[t]))},pause:function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this,f;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u](),f=e.Event("slide",{relatedTarget:i[0],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children()[a.getActiveIndex()]);t&&t.addClass("active")}));if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.pause().cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("carousel").pause().to(o).cycle(),t.preventDefault()})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass("width");return e?"width":"height"},show:function(){var t,n,r,i;if(this.transitioning||this.$element.hasClass("in"))return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning||!this.$element.hasClass("in"))return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},reset:function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},transition:function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var n=e.fn.collapse;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},e.fn.collapse.defaults,r.data(),typeof n=="object"&&n);i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).on("click.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})}(window.jQuery),!function(e){"use strict";function r(){e(".dropdown-backdrop").remove(),e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=n&&e(n);if(!r||!r.length)r=t.parent();return r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||("ontouchstart"in document.documentElement&&e('<div class="dropdown-backdrop"/>').insertBefore(e(this)).on("click",r),s.toggleClass("open")),n.focus(),!1},keydown:function(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(".disabled, :disabled"))return;u=i(r),a=u.hasClass("open");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e("[role=menu] li:not(.divider):visible a",u);if(!s.length)return;f=s.index(s.filter(":focus")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api",r).on("click.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,t):t()):t&&t()}};var n=e.fn.modal;e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s,o,u,a;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(" ");for(a=o.length;a--;)u=o[a],u=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):u!="manual"&&(i=u=="hover"?"mouseenter":"focus",s=u=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this)));this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e.fn[this.type].defaults,r={},i;this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)},this),i=e(t.currentTarget)[this.type](r).data(this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeout),i.hoverState="in",this.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var t,n,r,i,s,o,u=e.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:"block"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}this.applyPlacement(o,s),this.$element.trigger("shown")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass("in"),s=n[0].offsetWidth,o=n[0].offsetHeight,t=="top"&&o!=i&&(e.top=e.top+i-o,a=!0),t=="bottom"||t=="top"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,"left")):this.replaceArrow(o-i,o,"top"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event("hide");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden"),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var n=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass("in")?n.hide():n.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=(typeof n.content=="function"?n.content.call(t[0]):n.content)||t.attr("data-content"),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(window.jQuery),!function(e){"use strict";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}};var n=e.fn.scrollspy;e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof n=="object"&&n;i||r.data("scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active:last a")[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}};var n=e.fn.tab;e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e.fn.tab.noConflict=function(){return e.fn.tab=n,this},e(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this.$menu=e(this.options.menu),this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return t.concat(n,r)},highlighter:function(e){var t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return e.replace(new RegExp("("+t+")","ig"),function(e,t){return"<strong>"+t+"</strong>"})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("focus",e.proxy(this.focus,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},focus:function(e){this.focused=!0},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(t){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var n=e.fn.typeahead;e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},e.fn.typeahead.Constructor=t,e.fn.typeahead.noConflict=function(){return e.fn.typeahead=n,this},e(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;n.typeahead(n.data())})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))};var n=e.fn.affix;e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e.fn.affix.noConflict=function(){return e.fn.affix=n,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery);
\ No newline at end of file
diff --git a/releng/src/site/resources/js/highlight.min.js b/releng/src/site/resources/js/highlight.min.js
new file mode 100644
index 0000000..ce3b811
--- /dev/null
+++ b/releng/src/site/resources/js/highlight.min.js
@@ -0,0 +1 @@
+var hljs=new function(){function l(o){return o.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function b(p){for(var o=p.firstChild;o;o=o.nextSibling){if(o.nodeName.toUpperCase()=="CODE"){return o}if(!(o.nodeType==3&&o.nodeValue.match(/\s+/))){break}}}function h(p,o){return Array.prototype.map.call(p.childNodes,function(q){if(q.nodeType==3){return o?q.nodeValue.replace(/\n/g,""):q.nodeValue}if(q.nodeName.toUpperCase()=="BR"){return"\n"}return h(q,o)}).join("")}function a(q){var p=(q.className+" "+(q.parentNode?q.parentNode.className:"")).split(/\s+/);p=p.map(function(r){return r.replace(/^language-/,"")});for(var o=0;o<p.length;o++){if(e[p[o]]||p[o]=="no-highlight"){return p[o]}}}function c(q){var o=[];(function p(r,s){for(var t=r.firstChild;t;t=t.nextSibling){if(t.nodeType==3){s+=t.nodeValue.length}else{if(t.nodeName.toUpperCase()=="BR"){s+=1}else{if(t.nodeType==1){o.push({event:"start",offset:s,node:t});s=p(t,s);o.push({event:"stop",offset:s,node:t})}}}}return s})(q,0);return o}function j(p,r,v){var q=0;var y="";var s=[];function u(){if(!p.length||!r.length){return p.length?p:r}if(p[0].offset!=r[0].offset){return(p[0].offset<r[0].offset)?p:r}return r[0].event=="start"?p:r}function t(A){function z(B){return" "+B.nodeName+'="'+l(B.value)+'"'}y+="<"+A.nodeName.toLowerCase()+Array.prototype.map.call(A.attributes,z).join("")+">"}function x(z){y+="</"+z.nodeName.toLowerCase()+">"}function o(z){(z.event=="start"?t:x)(z.node)}while(p.length||r.length){var w=u();y+=l(v.substr(q,w[0].offset-q));q=w[0].offset;if(w==p){s.reverse().forEach(x);do{o(w.splice(0,1)[0]);w=u()}while(w==p&&w.length&&w[0].offset==q);s.reverse().forEach(t)}else{if(w[0].event=="start"){s.push(w[0].node)}else{s.pop()}o(w.splice(0,1)[0])}}return y+l(v.substr(q))}function f(r){function o(s){return(s&&s.source)||s}function p(t,s){return RegExp(o(t),"m"+(r.cI?"i":"")+(s?"g":""))}function q(z,x){if(z.compiled){return}z.compiled=true;var u=[];if(z.k){var s={};function A(B,t){if(r.cI){t=t.toLowerCase()}t.split(" ").forEach(function(C){var D=C.split("|");s[D[0]]=[B,D[1]?Number(D[1]):1];u.push(D[0])})}z.lR=p(z.l||"\\b"+hljs.IR+"\\b(?!\\.)",true);if(typeof z.k=="string"){A("keyword",z.k)}else{for(var y in z.k){if(!z.k.hasOwnProperty(y)){continue}A(y,z.k[y])}}z.k=s}if(x){if(z.bWK){z.b="\\b("+u.join("|")+")\\b(?!\\.)\\s*"}z.bR=p(z.b?z.b:"\\B|\\b");if(!z.e&&!z.eW){z.e="\\B|\\b"}if(z.e){z.eR=p(z.e)}z.tE=o(z.e)||"";if(z.eW&&x.tE){z.tE+=(z.e?"|":"")+x.tE}}if(z.i){z.iR=p(z.i)}if(z.r===undefined){z.r=1}if(!z.c){z.c=[]}for(var w=0;w<z.c.length;w++){if(z.c[w]=="self"){z.c[w]=z}q(z.c[w],z)}if(z.starts){q(z.starts,x)}var v=[];for(var w=0;w<z.c.length;w++){v.push(o(z.c[w].b))}if(z.tE){v.push(o(z.tE))}if(z.i){v.push(o(z.i))}z.t=v.length?p(v.join("|"),true):{exec:function(t){return null}}}q(r)}function d(E,G,C,M){function o(r,P){for(var O=0;O<P.c.length;O++){var N=P.c[O].bR.exec(r);if(N&&N.index==0){return P.c[O]}}}function s(N,r){if(N.e&&N.eR.test(r)){return N}if(N.eW){return s(N.parent,r)}}function t(r,N){return !C&&N.i&&N.iR.test(r)}function y(O,r){var N=H.cI?r[0].toLowerCase():r[0];return O.k.hasOwnProperty(N)&&O.k[N]}function I(){var N=l(w);if(!B.k){return N}var r="";var Q=0;B.lR.lastIndex=0;var O=B.lR.exec(N);while(O){r+=N.substr(Q,O.index-Q);var P=y(B,O);if(P){v+=P[1];r+='<span class="'+P[0]+'">'+O[0]+"</span>"}else{r+=O[0]}Q=B.lR.lastIndex;O=B.lR.exec(N)}return r+N.substr(Q)}function z(){if(B.sL&&!e[B.sL]){return l(w)}var N=B.subLanguageMode=="continuous"?B.top:undefined;var r=B.sL?d(B.sL,w,true,N):g(w);if(B.r>0){v+=r.keyword_count;A+=r.r}B.top=r.top;return'<span class="'+r.language+'">'+r.value+"</span>"}function L(){return B.sL!==undefined?z():I()}function K(O,r){var N=O.cN?'<span class="'+O.cN+'">':"";if(O.rB){x+=N;w=""}else{if(O.eB){x+=l(r)+N;w=""}else{x+=N;w=r}}B=Object.create(O,{parent:{value:B}})}function D(N,r){w+=N;if(r===undefined){x+=L();return 0}var P=o(r,B);if(P){x+=L();K(P,r);return P.rB?0:r.length}var Q=s(B,r);if(Q){var O=B;if(!(O.rE||O.eE)){w+=r}x+=L();do{if(B.cN){x+="</span>"}A+=B.r;B=B.parent}while(B!=Q.parent);if(O.eE){x+=l(r)}w="";if(Q.starts){K(Q.starts,"")}return O.rE?0:r.length}if(t(r,B)){throw new Error('Illegal lexem "'+r+'" for mode "'+(B.cN||"<unnamed>")+'"')}w+=r;return r.length||1}var H=e[E];if(!H){throw new Error('Unknown language: "'+E+'"')}f(H);var B=M||H;var x="";for(var F=B;F!=H;F=F.parent){if(F.cN){x='<span class="'+F.cN+'">'+x}}var w="";var A=0;var v=0;try{var u,q,p=0;while(true){B.t.lastIndex=p;u=B.t.exec(G);if(!u){break}q=D(G.substr(p,u.index-p),u[0]);p=u.index+q}D(G.substr(p));for(var F=B;F.parent;F=F.parent){if(F.cN){x+="</span>"}}return{r:A,keyword_count:v,value:x,language:E,top:B}}catch(J){if(J.message.indexOf("Illegal")!=-1){return{r:0,keyword_count:0,value:l(G)}}else{throw J}}}function g(s){var o={keyword_count:0,r:0,value:l(s)};var q=o;for(var p in e){if(!e.hasOwnProperty(p)){continue}var r=d(p,s,false);r.language=p;if(r.keyword_count+r.r>q.keyword_count+q.r){q=r}if(r.keyword_count+r.r>o.keyword_count+o.r){q=o;o=r}}if(q.language){o.second_best=q}return o}function i(q,p,o){if(p){q=q.replace(/^((<[^>]+>|\t)+)/gm,function(r,v,u,t){return v.replace(/\t/g,p)})}if(o){q=q.replace(/\n/g,"<br>")}return q}function m(r,u,p){var v=h(r,p);var t=a(r);if(t=="no-highlight"){return}var w=t?d(t,v,true):g(v);t=w.language;var o=c(r);if(o.length){var q=document.createElementNS("http://www.w3.org/1999/xhtml","pre");q.innerHTML=w.value;w.value=j(o,c(q),v)}w.value=i(w.value,u,p);var s=r.className;if(!s.match("(\\s|^)(language-)?"+t+"(\\s|$)")){s=s?(s+" "+t):t}r.innerHTML=w.value;r.className=s;r.result={language:t,kw:w.keyword_count,re:w.r};if(w.second_best){r.second_best={language:w.second_best.language,kw:w.second_best.keyword_count,re:w.second_best.r}}}function n(){if(n.called){return}n.called=true;Array.prototype.map.call(document.getElementsByTagNameNS("http://www.w3.org/1999/xhtml","pre"),b).filter(Boolean).forEach(function(o){m(o,hljs.tabReplace)})}function k(){window.addEventListener("DOMContentLoaded",n,false);window.addEventListener("load",n,false)}var e={};this.LANGUAGES=e;this.highlight=d;this.highlightAuto=g;this.fixMarkup=i;this.highlightBlock=m;this.initHighlighting=n;this.initHighlightingOnLoad=k;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|\\.|-|-=|/|/=|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\[\\s\\S]",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE],r:0};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE],r:0};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.REGEXP_MODE={cN:"regexp",b:/\//,e:/\/[gim]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]};this.inherit=function(q,r){var o={};for(var p in q){o[p]=q[p]}if(r){for(var p in r){o[p]=r[p]}}return o}}();hljs.LANGUAGES.bash=function(a){var c={cN:"variable",b:/\$[\w\d#@][\w\d_]*/};var b={cN:"variable",b:/\$\{(.*?)\}/};var e={cN:"string",b:/"/,e:/"/,c:[a.BE,c,b,{cN:"variable",b:/\$\(/,e:/\)/,c:a.BE}],r:0};var d={cN:"string",b:/'/,e:/'/,r:0};return{l:/-?[a-z]+/,k:{keyword:"if then else elif fi for break continue while in do done exit return set declare case esac export exec",literal:"true false",built_in:"printf echo read cd pwd pushd popd dirs let eval unset typeset readonly getopts source shopt caller type hash bind help sudo",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:true,c:[{cN:"title",b:/\w[\w\d_]*/}],r:0},a.HCM,a.NM,e,d,c,b]}}(hljs);hljs.LANGUAGES.cs=function(a){return{k:"abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long namespace new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async await ascending descending from get group into join let orderby partial select set value var where yield",c:[{cN:"comment",b:"///",e:"$",rB:true,c:[{cN:"xmlDocTag",b:"///|<!--|-->"},{cN:"xmlDocTag",b:"</?",e:">"}]},a.CLCM,a.CBLCLM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},a.ASM,a.QSM,a.CNM]}}(hljs);hljs.LANGUAGES.ruby=function(e){var a="[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?";var j="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var g={keyword:"and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include"};var c={cN:"yardoctag",b:"@[A-Za-z]+"};var k=[{cN:"comment",b:"#",e:"$",c:[c]},{cN:"comment",b:"^\\=begin",e:"^\\=end",c:[c],r:10},{cN:"comment",b:"^__END__",e:"\\n$"}];var d={cN:"subst",b:"#\\{",e:"}",l:a,k:g};var i=[e.BE,d];var b=[{cN:"string",b:"'",e:"'",c:i,r:0},{cN:"string",b:'"',e:'"',c:i,r:0},{cN:"string",b:"%[qw]?\\(",e:"\\)",c:i},{cN:"string",b:"%[qw]?\\[",e:"\\]",c:i},{cN:"string",b:"%[qw]?{",e:"}",c:i},{cN:"string",b:"%[qw]?<",e:">",c:i,r:10},{cN:"string",b:"%[qw]?/",e:"/",c:i,r:10},{cN:"string",b:"%[qw]?%",e:"%",c:i,r:10},{cN:"string",b:"%[qw]?-",e:"-",c:i,r:10},{cN:"string",b:"%[qw]?\\|",e:"\\|",c:i,r:10},{cN:"string",b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}];var h={cN:"function",bWK:true,e:" |$|;",k:"def",c:[{cN:"title",b:j,l:a,k:g},{cN:"params",b:"\\(",e:"\\)",l:a,k:g}].concat(k)};var f=k.concat(b.concat([{cN:"class",bWK:true,e:"$|;",k:"class module",c:[{cN:"title",b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?",r:0},{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+e.IR+"::)?"+e.IR}]}].concat(k)},h,{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:b.concat([{b:j}]),r:0},{cN:"symbol",b:a+":",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+e.RSR+")\\s*",c:k.concat([{cN:"regexp",b:"/",e:"/[a-z]*",i:"\\n",c:[e.BE,d]},{cN:"regexp",b:"%r{",e:"}[a-z]*",i:"\\n",c:[e.BE,d]},{cN:"regexp",b:"%r\\(",e:"\\)[a-z]*",i:"\\n",c:[e.BE,d]},{cN:"regexp",b:"%r!",e:"![a-z]*",i:"\\n",c:[e.BE,d]},{cN:"regexp",b:"%r\\[",e:"\\][a-z]*",i:"\\n",c:[e.BE,d]}]),r:0}]));d.c=f;h.c[1].c=f;return{l:a,k:g,c:f}}(hljs);hljs.LANGUAGES.diff=function(a){return{c:[{cN:"chunk",b:"^\\@\\@ +\\-\\d+,\\d+ +\\+\\d+,\\d+ +\\@\\@$",r:10},{cN:"chunk",b:"^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$",r:10},{cN:"chunk",b:"^\\-\\-\\- +\\d+,\\d+ +\\-\\-\\-\\-$",r:10},{cN:"header",b:"Index: ",e:"$"},{cN:"header",b:"=====",e:"=====$"},{cN:"header",b:"^\\-\\-\\-",e:"$"},{cN:"header",b:"^\\*{3} ",e:"$"},{cN:"header",b:"^\\+\\+\\+",e:"$"},{cN:"header",b:"\\*{5}",e:"\\*{5}$"},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}}(hljs);hljs.LANGUAGES.javascript=function(a){return{k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const",literal:"true false null undefined NaN Infinity"},c:[a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBLCLM,a.REGEXP_MODE,{b:/</,e:/>;/,sL:"xml"}],r:0},{cN:"function",bWK:true,e:/{/,k:"function",c:[{cN:"title",b:/[A-Za-z$_][0-9A-Za-z$_]*/},{cN:"params",b:/\(/,e:/\)/,c:[a.CLCM,a.CBLCLM],i:/["'\(]/}],i:/\[|%/}]}}(hljs);hljs.LANGUAGES.xml=function(a){var c="[A-Za-z0-9\\._:-]+";var b={eW:true,r:0,c:[{cN:"attribute",b:c,r:0},{b:'="',rB:true,e:'"',c:[{cN:"value",b:'"',eW:true}]},{b:"='",rB:true,e:"'",c:[{cN:"value",b:"'",eW:true}]},{b:"=",c:[{cN:"value",b:"[^\\s/>]+"}]}]};return{cI:true,c:[{cN:"pi",b:"<\\?",e:"\\?>",r:10},{cN:"doctype",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"<!--",e:"-->",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{title:"style"},c:[b],starts:{e:"</style>",rE:true,sL:"css"}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{title:"script"},c:[b],starts:{e:"<\/script>",rE:true,sL:"javascript"}},{b:"<%",e:"%>",sL:"vbscript"},{cN:"tag",b:"</?",e:"/?>",r:0,c:[{cN:"title",b:"[^ /><]+"},b]}]}}(hljs);hljs.LANGUAGES.markdown=function(a){return{c:[{cN:"header",b:"^#{1,3}",e:"$"},{cN:"header",b:"^.+?\\n[=-]{2,}$"},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",b:"\\*.+?\\*"},{cN:"emphasis",b:"_.+?_",r:0},{cN:"blockquote",b:"^>\\s+",e:"$"},{cN:"code",b:"`.+?`"},{cN:"code",b:"^    ",e:"$",r:0},{cN:"horizontal_rule",b:"^-{3,}",e:"$"},{b:"\\[.+?\\]\\(.+?\\)",rB:true,c:[{cN:"link_label",b:"\\[.+\\]"},{cN:"link_url",b:"\\(",e:"\\)",eB:true,eE:true}]}]}}(hljs);hljs.LANGUAGES.css=function(a){var b="[a-zA-Z-][a-zA-Z0-9_-]*";var c={cN:"function",b:b+"\\(",e:"\\)",c:["self",a.NM,a.ASM,a.QSM]};return{cI:true,i:"[=/|']",c:[a.CBLCLM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:true,eE:true,r:0,c:[c,a.ASM,a.QSM,a.NM]}]},{cN:"tag",b:b,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[a.CBLCLM,{cN:"rule",b:"[^\\s]",rB:true,e:";",eW:true,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE:true,c:[c,a.NM,a.QSM,a.ASM,a.CBLCLM,{cN:"hexcolor",b:"#[0-9A-Fa-f]+"},{cN:"important",b:"!important"}]}}]}]}]}}(hljs);hljs.LANGUAGES.http=function(a){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:true,e:"$",c:[{cN:"string",b:" ",e:" ",eB:true,eE:true}]},{cN:"attribute",b:"^\\w",e:": ",eE:true,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:true}}]}}(hljs);hljs.LANGUAGES.java=function(a){return{k:"false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws",c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}],r:10},a.CLCM,a.CBLCLM,a.ASM,a.QSM,{cN:"class",bWK:true,e:"{",k:"class interface",eE:true,i:":",c:[{bWK:true,k:"extends implements",r:10},{cN:"title",b:a.UIR}]},a.CNM,{cN:"annotation",b:"@[A-Za-z]+"}]}}(hljs);hljs.LANGUAGES.php=function(a){var e={cN:"variable",b:"\\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"};var b=[a.inherit(a.ASM,{i:null}),a.inherit(a.QSM,{i:null}),{cN:"string",b:'b"',e:'"',c:[a.BE]},{cN:"string",b:"b'",e:"'",c:[a.BE]}];var c=[a.BNM,a.CNM];var d={cN:"title",b:a.UIR};return{cI:true,l:a.UIR,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return implements parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try this switch continue endfor endif declare unset true false namespace trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[a.CLCM,a.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+"}]},{cN:"comment",b:"__halt_compiler.+?;",eW:true,k:"__halt_compiler",l:a.UIR},{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[a.BE]},{cN:"preprocessor",b:"<\\?php",r:10},{cN:"preprocessor",b:"\\?>"},e,{cN:"function",bWK:true,e:"{",k:"function",i:"\\$|\\[|%",c:[d,{cN:"params",b:"\\(",e:"\\)",c:["self",e,a.CBLCLM].concat(b).concat(c)}]},{cN:"class",bWK:true,e:"{",k:"class",i:"[:\\(\\$]",c:[{bWK:true,eW:true,k:"extends",c:[d]},d]},{b:"=>"}].concat(b).concat(c)}}(hljs);hljs.LANGUAGES.python=function(a){var f={cN:"prompt",b:/^(>>>|\.\.\.) /};var c=[{cN:"string",b:/(u|b)?r?'''/,e:/'''/,c:[f],r:10},{cN:"string",b:/(u|b)?r?"""/,e:/"""/,c:[f],r:10},{cN:"string",b:/(u|r|ur)'/,e:/'/,c:[a.BE],r:10},{cN:"string",b:/(u|r|ur)"/,e:/"/,c:[a.BE],r:10},{cN:"string",b:/(b|br)'/,e:/'/,c:[a.BE]},{cN:"string",b:/(b|br)"/,e:/"/,c:[a.BE]}].concat([a.ASM,a.QSM]);var e={cN:"title",b:a.UIR};var d={cN:"params",b:/\(/,e:/\)/,c:["self",a.CNM,f].concat(c)};var b={bWK:true,e:/:/,i:/[${=;\n]/,c:[e,d],r:10};return{k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:c.concat([f,a.HCM,a.inherit(b,{cN:"function",k:"def"}),a.inherit(b,{cN:"class",k:"class"}),a.CNM,{cN:"decorator",b:/@/,e:/$/},{b:/\b(print|exec)\(/}])}}(hljs);hljs.LANGUAGES.sql=function(a){return{cI:true,c:[{cN:"operator",b:"(begin|end|start|commit|rollback|savepoint|lock|alter|create|drop|rename|call|delete|do|handler|insert|load|replace|select|truncate|update|set|show|pragma|grant)\\b(?!:)",e:";",eW:true,k:{keyword:"all partial global month current_timestamp using go revoke smallint indicator end-exec disconnect zone with character assertion to add current_user usage input local alter match collate real then rollback get read timestamp session_user not integer bit unique day minute desc insert execute like ilike|2 level decimal drop continue isolation found where constraints domain right national some module transaction relative second connect escape close system_user for deferred section cast current sqlstate allocate intersect deallocate numeric public preserve full goto initially asc no key output collation group by union session both last language constraint column of space foreign deferrable prior connection unknown action commit view or first into float year primary cascaded except restrict set references names table outer open select size are rows from prepare distinct leading create only next inner authorization schema corresponding option declare precision immediate else timezone_minute external varying translation true case exception join hour default double scroll value cursor descriptor values dec fetch procedure delete and false int is describe char as at in varchar null trailing any absolute current_time end grant privileges when cross check write current_date pad begin temporary exec time update catalog user sql date on identity timezone_hour natural whenever interval work order cascade diagnostics nchar having left call do handler load replace truncate start lock show pragma exists number trigger if before after each row",aggregate:"count sum min max avg"},c:[{cN:"string",b:"'",e:"'",c:[a.BE,{b:"''"}],r:0},{cN:"string",b:'"',e:'"',c:[a.BE,{b:'""'}],r:0},{cN:"string",b:"`",e:"`",c:[a.BE]},a.CNM]},a.CBLCLM,{cN:"comment",b:"--",e:"$"}]}}(hljs);hljs.LANGUAGES.ini=function(a){return{cI:true,i:"[^\\s]",c:[{cN:"comment",b:";",e:"$"},{cN:"title",b:"^\\[",e:"\\]"},{cN:"setting",b:"^[a-z0-9\\[\\]_-]+[ \\t]*=[ \\t]*",e:"$",c:[{cN:"value",eW:true,k:"on off true false yes no",c:[a.QSM,a.NM],r:0}]}]}}(hljs);hljs.LANGUAGES.perl=function(e){var a="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when";var d={cN:"subst",b:"[$@]\\{",e:"\\}",k:a,r:10};var b={cN:"variable",b:"\\$\\d"};var i={cN:"variable",b:"[\\$\\%\\@\\*](\\^\\w\\b|#\\w+(\\:\\:\\w+)*|[^\\s\\w{]|{\\w+}|\\w+(\\:\\:\\w*)*)"};var f=[e.BE,d,b,i];var h={b:"->",c:[{b:e.IR},{b:"{",e:"}"}]};var g={cN:"comment",b:"^(__END__|__DATA__)",e:"\\n$",r:5};var c=[b,i,e.HCM,g,{cN:"comment",b:"^\\=\\w",e:"\\=cut",eW:true},h,{cN:"string",b:"q[qwxr]?\\s*\\(",e:"\\)",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\[",e:"\\]",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\{",e:"\\}",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\|",e:"\\|",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\<",e:"\\>",c:f,r:5},{cN:"string",b:"qw\\s+q",e:"q",c:f,r:5},{cN:"string",b:"'",e:"'",c:[e.BE],r:0},{cN:"string",b:'"',e:'"',c:f,r:0},{cN:"string",b:"`",e:"`",c:[e.BE]},{cN:"string",b:"{\\w+}",r:0},{cN:"string",b:"-?\\w+\\s*\\=\\>",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"("+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,g,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"sub",bWK:true,e:"(\\s*\\(.*?\\))?[;{]",k:"sub",r:5},{cN:"operator",b:"-\\w\\b",r:0}];d.c=c;h.c[1].c=c;return{k:a,c:c}}(hljs);hljs.LANGUAGES.objectivec=function(a){var b={keyword:"int float while private char catch export sizeof typedef const struct for union unsigned long volatile static protected bool mutable if public do return goto void enum else break extern asm case short default double throw register explicit signed typename try this switch continue wchar_t inline readonly assign property self synchronized end synthesize id optional required nonatomic super unichar finally dynamic IBOutlet IBAction selector strong weak readonly",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"NSString NSDictionary CGRect CGPoint UIButton UILabel UITextView UIWebView MKMapView UISegmentedControl NSObject UITableViewDelegate UITableViewDataSource NSThread UIActivityIndicator UITabbar UIToolBar UIBarButtonItem UIImageView NSAutoreleasePool UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray NSMutableDictionary NSURL NSIndexPath CGSize UITableViewCell UIView UIViewController UINavigationBar UINavigationController UITabBarController UIPopoverController UIPopoverControllerDelegate UIImage NSNumber UISearchBar NSFetchedResultsController NSFetchedResultsChangeType UIScrollView UIScrollViewDelegate UIEdgeInsets UIColor UIFont UIApplication NSNotFound NSNotificationCenter NSNotification UILocalNotification NSBundle NSFileManager NSTimeInterval NSDate NSCalendar NSUserDefaults UIWindow NSRange NSArray NSError NSURLRequest NSURLConnection UIInterfaceOrientation MPMoviePlayerController dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"};return{k:b,i:"</",c:[a.CLCM,a.CBLCLM,a.CNM,a.QSM,{cN:"string",b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"},{cN:"preprocessor",b:"#import",e:"$",c:[{cN:"title",b:'"',e:'"'},{cN:"title",b:"<",e:">"}]},{cN:"preprocessor",b:"#",e:"$"},{cN:"class",bWK:true,e:"({|$)",k:"interface class protocol implementation",c:[{cN:"id",b:a.UIR}]},{cN:"variable",b:"\\."+a.UIR,r:0}]}}(hljs);hljs.LANGUAGES.coffeescript=function(c){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",reserved:"case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf",built_in:"npm require console print module exports global window document"};var a="[A-Za-z$_][0-9A-Za-z$_]*";var f={cN:"title",b:a};var e={cN:"subst",b:"#\\{",e:"}",k:b,};var d=[c.BNM,c.inherit(c.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",b:"'''",e:"'''",c:[c.BE]},{cN:"string",b:"'",e:"'",c:[c.BE],r:0},{cN:"string",b:'"""',e:'"""',c:[c.BE,e]},{cN:"string",b:'"',e:'"',c:[c.BE,e],r:0},{cN:"regexp",b:"///",e:"///",c:[c.HCM]},{cN:"regexp",b:"//[gim]*",r:0},{cN:"regexp",b:"/\\S(\\\\.|[^\\n])*?/[gim]*(?=\\s|\\W|$)"},{cN:"property",b:"@"+a},{b:"`",e:"`",eB:true,eE:true,sL:"javascript"}];e.c=d;return{k:b,c:d.concat([{cN:"comment",b:"###",e:"###"},c.HCM,{cN:"function",b:"("+a+"\\s*=\\s*)?(\\(.*\\))?\\s*[-=]>",e:"[-=]>",rB:true,c:[f,{cN:"params",b:"\\(",rB:true,c:[{b:/\(/,e:/\)/,k:b,c:["self"].concat(d)}]}]},{cN:"class",bWK:true,k:"class",e:"$",i:"[:\\[\\]]",c:[{bWK:true,k:"extends",eW:true,i:":",c:[f]},f]},{cN:"attribute",b:a+":",e:":",rB:true,eE:true}])}}(hljs);hljs.LANGUAGES.nginx=function(b){var c=[{cN:"variable",b:"\\$\\d+"},{cN:"variable",b:"\\${",e:"}"},{cN:"variable",b:"[\\$\\@]"+b.UIR}];var a={eW:true,l:"[a-z/_]+",k:{built_in:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[b.HCM,{cN:"string",b:'"',e:'"',c:[b.BE].concat(c),r:0},{cN:"string",b:"'",e:"'",c:[b.BE].concat(c),r:0},{cN:"url",b:"([a-z]+):/",e:"\\s",eW:true,eE:true},{cN:"regexp",b:"\\s\\^",e:"\\s|{|;",rE:true,c:[b.BE].concat(c)},{cN:"regexp",b:"~\\*?\\s+",e:"\\s|{|;",rE:true,c:[b.BE].concat(c)},{cN:"regexp",b:"\\*(\\.[a-z\\-]+)+",c:[b.BE].concat(c)},{cN:"regexp",b:"([a-z\\-]+\\.)+\\*",c:[b.BE].concat(c)},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0}].concat(c)};return{c:[b.HCM,{b:b.UIR+"\\s",e:";|{",rB:true,c:[{cN:"title",b:b.UIR,starts:a}],r:0}],i:"[^\\s\\}]"}}(hljs);hljs.LANGUAGES.json=function(a){var e={literal:"true false null"};var d=[a.QSM,a.CNM];var c={cN:"value",e:",",eW:true,eE:true,c:d,k:e};var b={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:true,eE:true,c:[a.BE],i:"\\n",starts:c}],i:"\\S"};var f={b:"\\[",e:"\\]",c:[a.inherit(c,{cN:null})],i:"\\S"};d.splice(d.length,0,b,f);return{c:d,k:e,i:"\\S"}}(hljs);hljs.LANGUAGES.apache=function(a){var b={cN:"number",b:"[\\$%]\\d+"};return{cI:true,c:[a.HCM,{cN:"tag",b:"</?",e:">"},{cN:"keyword",b:/\w+/,r:0,k:{common:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"sqbracket",b:"\\s\\[",e:"\\]$"},{cN:"cbracket",b:"[\\$%]\\{",e:"\\}",c:["self",b]},b,a.QSM]}}],i:/\S/}}(hljs);hljs.LANGUAGES.cpp=function(a){var b={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long throw volatile static protected bool template mutable if public friend do return goto auto void enum else break new extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr"};return{k:b,i:"</",c:[a.CLCM,a.CBLCLM,a.QSM,{cN:"string",b:"'\\\\?.",e:"'",i:"."},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},a.CNM,{cN:"preprocessor",b:"#",e:"$",c:[{b:"<",e:">",i:"\\n"},a.CLCM]},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:b,r:10,c:["self"]}]}}(hljs);hljs.LANGUAGES.makefile=function(a){var b={cN:"variable",b:/\$\(/,e:/\)/,c:a.BE};return{c:[a.HCM,{b:/^\w+\s*\W*=/,rB:true,r:0,starts:{cN:"constant",e:/\s*\W*=/,eE:true,starts:{e:/$/,r:0,c:[b],}}},{cN:"title",b:/^[\w]+:\s*$/},{cN:"phony",b:/^\.PHONY:/,e:/$/,k:".PHONY",l:/[\.\w]+/},{b:/^\t+/,e:/$/,c:[a.QSM,b]}]}}(hljs);
\ No newline at end of file
diff --git a/releng/src/site/resources/js/html5.js b/releng/src/site/resources/js/html5.js
new file mode 100644
index 0000000..e7df1c0
--- /dev/null
+++ b/releng/src/site/resources/js/html5.js
@@ -0,0 +1,9 @@
+
+/*
+ HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+*/
+(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
+a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}</style>";
+c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
+"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);
+if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
diff --git a/releng/src/site/resources/js/jquery.min.js b/releng/src/site/resources/js/jquery.min.js
new file mode 100644
index 0000000..1d2c1d6
--- /dev/null
+++ b/releng/src/site/resources/js/jquery.min.js
@@ -0,0 +1,6 @@
+
+/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
+//@ sourceMappingURL=jquery.min.map
+*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
+return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
+}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);
\ No newline at end of file
diff --git a/releng/src/site/resources/norm/formal-15-06-03.pdf b/releng/src/site/resources/norm/formal-15-06-03.pdf
new file mode 100644
index 0000000..6dbb757
--- /dev/null
+++ b/releng/src/site/resources/norm/formal-15-06-03.pdf
Binary files differ
diff --git a/releng/src/site/site.xml b/releng/src/site/site.xml
new file mode 100644
index 0000000..512a0d7
--- /dev/null
+++ b/releng/src/site/site.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="SysML Papyrus"
+  xmlns="http://maven.apache.org/DECORATION/1.3.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/DECORATION/1.3.0 http://maven.apache.org/xsd/decoration-1.3.0.xsd">
+
+  <bannerLeft>
+    <name><![CDATA[
+     Eclipse <span class="color-highlight">Papyrus SysML</span> project]]>
+    </name>
+    <href>${web.absoluteResourceURL}/index.html</href>
+  </bannerLeft>
+  
+  <publishDate position="bottom" format="yyyy-MM-dd" />
+  <version position="bottom" />
+
+  <skin>
+    <groupId>lt.velykis.maven.skins</groupId>
+    <artifactId>reflow-maven-skin</artifactId>
+    <version>1.1.1</version>
+  </skin>
+  <custom>
+    <reflowSkin>
+      <localResources>true</localResources>
+      <!-- Make this to 'false' for local development, i.e. file:// URLs -->
+      <protocolRelativeURLs>false</protocolRelativeURLs>
+      <smoothScroll>true</smoothScroll>
+      <theme>default</theme>
+      <highlightJs>false</highlightJs>
+      <highlightJsTheme>github</highlightJsTheme>
+      <absoluteResourceURL>${web.absoluteResourceURL}</absoluteResourceURL>
+      <brand>
+        <!-- Brand text in top-left part of the site -->
+        <name>
+          <![CDATA[
+          Papyrys <span class="color-highlight">SysML 1.6</span> Project
+          ]]>
+        </name>
+        <href>${web.href}</href>
+      </brand>
+      <slogan>a Papyrus DSML implementing the Sysml 1.6 OMG standard.</slogan>
+      <titleTemplate>%2$s | %1$s</titleTemplate>
+      <!-- Use Table of Contents at the top of the page (max 6 elements) -->
+      <toc>top</toc>
+      <tocTopMax>6</tocTopMax>
+      <!-- Include the documentation and tools in the top navigation (in addition to links) -->
+      <topNav>parent|modules|doc|download</topNav>
+      <!-- Split menus in the bottom navigation -->
+      <bottomNav maxSpan="9" >
+        <column>DevLinks|ref</column>
+        <column>parent|modules</column>
+        <column>reports</column>
+      </bottomNav>
+      <bottomDescription>
+        <![CDATA[
+         Eclipse <span class="color-highlight">Papyrus SysML 1.6</span> project based on a DSML is aiming at providing an integrated and user-consumable environment for editing any kind of SysML 1.6 model.
+        ]]>
+      </bottomDescription>
+      <pages>
+        <index project="orgeclipsepapyrussysml16parent">
+          <!-- Override the title -->
+          <titleTemplate>SysML 1.6</titleTemplate>
+          <!-- no breadcrumbs on the main index page -->
+          <breadcrumbs>false</breadcrumbs>
+          <!-- no ToC on the main index page -->
+          <toc>false</toc>
+          <markPageHeader>false</markPageHeader>
+          <sections>
+            <carousel />
+            <columns>2</columns>
+            <body />
+            <sidebar />
+          </sections>
+        </index>
+        <contribute>
+          <breadcrumbs>false</breadcrumbs>
+        </contribute>
+        <!-- Disable source highlighting for Maven reports -->
+        <source-repository>
+          <highlightJs>false</highlightJs>
+        </source-repository>
+        <issue-tracking>
+          <highlightJs>false</highlightJs>
+          <toc>false</toc>
+        </issue-tracking>
+        <license>
+          <highlightJs>false</highlightJs>
+          <toc>false</toc>
+        </license>
+        <!-- Disable ToC for some Maven reports -->
+        <project-info>
+          <toc>false</toc>
+        </project-info>
+        <github-report>
+          <toc>false</toc>
+        </github-report>
+        <dependencies>
+          <tocTopMax>6</tocTopMax>
+        </dependencies>
+      </pages>
+      <endContent>
+      	<script src="$resourcePath/js/highlight.min.js"></script>
+       </endContent>
+    </reflowSkin>
+  </custom>
+
+  <body>
+  
+  	<head>
+      <link rel="stylesheet" href="$resourcePath/css/highlightjs/default.min.css"></link>
+    </head>
+  
+    <links>
+      <item name="Papyrus" href="http://www.eclipse.org/papyrus" target="_blank"/>
+    </links>
+
+    <breadcrumbs>
+      <item name="SysML-1.4" href="/" />
+    </breadcrumbs>
+   
+    <menu name="Modules" ref="modules" inherit="top" />
+	<menu name="Parent" ref="parent" inherit="top" />
+	<menu name="DevLinks" ref="DevLinks" inherit="bottom" >
+		<item name="SourceCode by Git" href="https://git.eclipse.org/c/papyrus/org.eclipse.papyrus-sysml.git" target="_blank" />
+	 	<item name="Repository by Nexus" href="https://repo.eclipse.org/index.html#welcome" target="_blank" />
+      	<item name="Integration by Hudson" href="https://hudson.eclipse.org/papyrus/view/Sysml/" target="_blank" />
+      	<item name="Quality by Sonar" href="https://dev.eclipse.org/sonar/dashboard/index/113161" target="_blank" />
+	</menu>
+	<menu name="Doc" ref="doc" inherit="bottom">
+      <item name="Developer" href="developer/index.html" />
+      <item name="User" href="user/index.html" />
+      <item name="SysML 1.6 Standard" href="norm/formal-15-06-03.pdf" target="_blank" />
+      <item name="OMG" href="http://www.omg.org/spec/SysML/1.4/" target="_blank" />
+    </menu>
+	<menu name="Download" ref="download" inherit="bottom">
+      <item name="Update Site" href="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml16/" target="_blank"/>
+      <item name="RCP" href="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml16/downloads/${project.version}/rcps/?d" target="_blank"/>
+      <item name="Drop" href="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml16/downloads/${project.version}/drops/?d" target="_blank"/>
+      <item name="Nexus" href="https://repo.eclipse.org/content/repositories/papyrus-releases/org/eclipse/papyrus/sysml/" target="_blank"/>
+    </menu>    
+    
+    <menu name="References" ref="ref" inherit="bottom">
+      <item name="OMG" href="http://www.omg.org/spec/SysML/1.4/" target="_blank" />
+    </menu>
+    <menu name="Maven documentation" ref="reports" inherit="bottom"/>
+  </body>
+</project>
diff --git a/releng/src/site/xdoc/developer/index.xml b/releng/src/site/xdoc/developer/index.xml
new file mode 100644
index 0000000..f18a6ed
--- /dev/null
+++ b/releng/src/site/xdoc/developer/index.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+
+	<properties>
+		<title>SysML - Developer</title>
+	</properties>
+
+	<body>
+		<section name="Download">
+			<p>The developer guide could be downloaded as a pdf <a href="../pdf/developer-guide.pdf">here</a></p>
+		</section>
+		<section name="Requirements">
+			<subsection name="Eclipse">
+				<p>Use Eclipse, at least Neon version</p>
+			</subsection>
+			<subsection name="Maven">
+				<p>Use Maven 3.3.1 at least</p>
+			</subsection>
+			<subsection name="Eclipse plugins">
+				<p>Install M2e plugin in your Eclipse</p>
+				<p>Install Tycho Configurator as an additional maven connector</p>
+				<p>No specific extra from papyrus</p>
+			</subsection>
+			<subsection name="SysML">
+				<p>
+					Have a look to the normative document of OMG:
+					<a
+						href="https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-website/ws/target/site/norm/formal-15-06-03.pdf#3">Embedded norm</a>
+				</p>
+			</subsection>
+			<subsection
+				name="Check your installation by a basic checkout, compilation">
+				<ul>
+					<li>
+						Clone the sysml 16 git repository git clone
+						https://git.eclipse.org/r/papyrus/org.eclipse.papyrus-sysml.
+					</li>
+					<li>
+						Run maven at the root of the repo: mvn clean install; it should
+						pass
+					</li>
+					<li>
+						Get sysml16 plugins in your eclipse workspace
+					</li>
+					<li>Et “Voila” you are good to go.</li>
+				</ul>
+			</subsection>
+			<subsection name="Target Environment">
+				<p>We have developed a target-platform-configuration artifact located at /org.eclipse.papyrus-sysml/org.eclipse.papyrus.sysml16.targetdef/org.eclipse.papyrus.sysml16.targetdef.target</p>
+				<p>Open it and click at the upper right corner to set it has the target platform.</p>
+			</subsection>
+		</section>
+
+		<section name="Product Life Management">
+			<p>The PLM is Maven with Tycho plugins for OSGI.</p>
+			<subsection name="Run a default installation">
+				<source>mvn clean install</source>
+			</subsection>
+			<subsection
+				name="To build also the modules relatives to RCP and Product, please activate the following profile:">
+				<source>mvn clean install -Pproduct	</source>
+				<p>It could be necessary to use the following workaround to ensure the version of Neon plugins, you used to build against:</p>
+				<source>mvn clean install -Pproduct -Dtycho.localArtifacts=ignore</source>
+				<p>Sometimes when Ecvlipse realse train is on the move, you will need to add the following option, to force to download directly from Eclipse main download site:</p>
+				<source>-Dtycho.disableP2Mirrors=true</source>
+			</subsection>
+			<subsection name="Generate and deploy the web site">
+				<source>mvn clean site site:stage-deploy scm-publish:publish-scm -Pdocumentation</source>
+			</subsection>
+			<subsection
+				name="A minimal iteration">
+				<p>This section describes the different steps relative to the integration of a new feature or to the correction of a bug: 
+				  from bug definition, to requirement, to code integration through gerrit review with the continuous integration system.</p>
+				<ul>
+					<li>
+						Describe in Bugzilla the bug, feature you are working on.
+						Please
+						use the component SysML. And begins with [SysML 1.6] for
+						Summary.
+					</li>
+					<li>
+						Get the code from the master with git,git clone
+						https://git.eclipse.org/r/papyrus/org.eclipse.papyrus-sysml, and
+						work on a local
+						branch,
+					</li>
+					<li>
+						Add the new requirement in the different sysml 1.1 models located
+						in the doc folder of the relevant plugin. have a look to
+						<a href="sop4-requirement.html">SOP4: Requirement</a>
+					</li>
+					<li>Modify the code</li>
+					<li>Push on Gerrit
+						ssh://{ECLISPEUSERLOGIN}@git.eclipse.org:29418/papyrus/org.eclipse.papyrus-sysml
+					</li>
+					<li>Ask for a review https://git.eclipse.org/r/#/dashboard/self</li>
+					<li>After a few iteration, you code should be merged and accessible
+						in the master.
+					</li>
+				</ul>
+				<p>Have a look to default rules <a href="miscellaneous.html">miscellaneous.html</a></p>
+			</subsection>
+			<subsection name="Tips">
+				<p>If you are working with multiple version of Papyrus, it is possible that Tycho do not pull the right one. You can force it by using the following parameter in the build command.
+				More details <a href="https://wiki.eclipse.org/Tycho/Target_Platform#Locally_built_artifacts">here</a></p>
+				<source>mvn clean install -Dtycho.localArtifacts=ignore </source>
+				<p>Please find additional information here: <a href="miscellaneous.html">Miscellaneous</a></p>
+			</subsection>
+		</section>
+
+
+
+		<section name="Standard Operating Procedures and FAQ">
+			<subsection name="SOPS">
+				<ul>
+					<li>
+						<a href="sop1-normRequirementExtraction.html">SOP1: OMG Norm requirements automanual extraction</a>
+					</li>
+					<li>
+						<a href="sop2-toolGeneration.html">SOP2: From a OMG profile to a dedicated Papyrus
+							application (elementype, palette etc...)
+						</a>
+					</li>
+					<li>
+						<a href="sop3-upgradingNorm.html">SOP3: Extended the norm by adding a new operation.</a>
+					</li>
+					<li>
+						<a href="sop4-requirement.html">SOP4: Add a new requirement.</a>
+					</li>
+					<li>
+						<a href="sop5-release.html">SOP5: Make the release.</a>
+					</li>
+				</ul>
+			</subsection>
+			
+			<subsection name="Dev FAQ">
+				<ul>
+					<li><a href="faq-dev.html" >FAQ.</a></li>
+				</ul>
+			</subsection>
+		</section>
+		
+		<section name="Miscellaneous">
+			<subsection name="Libraries">
+				<p><a href="libraries.html">QUDV and others</a></p>
+			</subsection>
+		</section>
+					
+
+	</body>
+
+</document>
\ No newline at end of file
diff --git a/releng/src/site/xdoc/developer/libraries.xml b/releng/src/site/xdoc/developer/libraries.xml
new file mode 100644
index 0000000..47c7076
--- /dev/null
+++ b/releng/src/site/xdoc/developer/libraries.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document xmlns="http://maven.apache.org/XDOC/2.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+
+  <properties>
+    <title>SysML - User</title>
+  </properties>
+
+  <body>
+    <section name="Embedded libraries in SysML 1.6">
+    	<subsection name="QUDV Library">
+    		<p>QUDV libray is embeded in SysML 1.6</p>
+    		<p>You can find it in:</p>
+    		<source>/org.eclipse.papyrus-sysml/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.uml</source>
+    		<p>You can also reference it directly from the Eclipse Nexus repository <a href="https://repo.eclipse.org/content/repositories/papyrus-releases/">https://repo.eclipse.org/content/repositories/papyrus-releases/</a></p>
+    	</subsection>
+    	<subsection name="ISO80000">
+			<p>Due to performance problem, we are not able at the present time to add the ISO80000 library</p>
+			<p><a href=" https://bugs.eclipse.org/bugs/show_bug.cgi?id=478131"> https://bugs.eclipse.org/bugs/show_bug.cgi?id=478131</a></p>
+		</subsection>
+    </section>
+
+  </body>
+
+</document>
\ No newline at end of file
diff --git a/releng/src/site/xdoc/developer/miscellaneous.xml b/releng/src/site/xdoc/developer/miscellaneous.xml
new file mode 100644
index 0000000..16f7d6b
--- /dev/null
+++ b/releng/src/site/xdoc/developer/miscellaneous.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+
+	<properties>
+		<title>SysML - Miscellaneous</title>
+	</properties>
+
+	<body>
+		<section name="Developer Rules">
+			<subsection name="Package Export">
+				<p>Apply the Eclipse standards rules and export all packages, even
+					if it flaged as internal.</p>
+				<source>org.eclipse.papyrus.sysml16.diagram.blockdefinition.internal.factory;x-internal:=true
+				</source>
+			</subsection>
+			<subsection name="Git and Gerrit Good Practices">
+				<p>We follow the standard practices for Git and Gerrit.</p>
+				<p>Please note the End Of Line, EOF is of type LF and not CRLF. More details here: <a href="https://help.github.com/articles/dealing-with-line-endings/">Dealing with line endings</a></p>
+			</subsection>
+		</section>
+
+	</body>
+
+</document>
\ No newline at end of file
diff --git a/releng/src/site/xdoc/developer/sop1-normRequirementExtraction.xml b/releng/src/site/xdoc/developer/sop1-normRequirementExtraction.xml
new file mode 100644
index 0000000..0ce875d
--- /dev/null
+++ b/releng/src/site/xdoc/developer/sop1-normRequirementExtraction.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+
+	<properties>
+		<title>SysML - Norm Requirements Extraction</title>
+	</properties>
+
+	<body>
+		<section name="Pre-requisit">
+			<p>install pdfminer <a href="http://www.unixuser.org/~euske/python/pdfminer/">http://www.unixuser.org/~euske/python/pdfminer/</a></p>
+		</section>
+
+		<section name="Extract the TOC">
+			<subsection
+				name="Extract the toc from the pdf with pdfminer">
+				<source><![CDATA[dumppdf.py -T foo.pdf > toc.xml]]> </source>
+				</subsection>
+			<subsection
+				name="Extract basic data from the generated toc file">
+				<source></source>
+			</subsection>
+			<subsection
+				name="Layout the data">
+				<p>Generate the elements for each requirements</p>
+				<p>Create a basic maven java project with the following dependencies</p>
+				<source><![CDATA[<dependency>
+			<groupId>org.eclipse.emf</groupId>
+			<artifactId>org.eclipse.emf.ecore</artifactId>
+			<version>2.11.0-v20150123-0347</version>
+		</dependency>
+		<dependency>
+			<groupId>org.eclipse.emf</groupId>
+			<artifactId>org.eclipse.emf.common</artifactId>
+			<version>2.11.0-v20150123-0347</version>
+		</dependency> ]]></source>
+				<p>Make a main class based upon the following code: <a href="code/RequirementGenerator.java">RequirementGenerator.java</a></p>
+				</subsection>
+			<subsection name="Create a sysml model with the requirements">
+				<p>Create a sysml project and add the requirement data in it</p>
+				<p>Reference this new model/library from your MDE model project</p>
+			</subsection>
+		</section>
+
+	</body>
+
+</document>
\ No newline at end of file
diff --git a/releng/src/site/xdoc/developer/sop2-toolGeneration.xml b/releng/src/site/xdoc/developer/sop2-toolGeneration.xml
new file mode 100644
index 0000000..796a710
--- /dev/null
+++ b/releng/src/site/xdoc/developer/sop2-toolGeneration.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+
+	<properties>
+		<title>SysML - Tools Generation Standard Operating Procedure</title>
+	</properties>
+
+	<body>
+		<section name="Pre-requisit">
+			<p>Have your profile myprofile.profile.uml, in our case
+				SysML16.profile.uml
+			</p>
+			<p>Have a Papyrus instance with UML2Extension and Developer tools
+				installed
+			</p>
+		</section>
+
+		<section name="Step 1: generation of model,edit plugins code">
+			<subsection name="1.0: Purpose">
+				<p>Generate the "static profile" (the java code related to the UML profile)</p>
+			</subsection>
+			<subsection name="1.1: Create the EMF generator Model">
+				<p>right-click on the profile, select new EMF Generator Model</p>
+				<p>Options</p>
+				<ul>
+					<li>load</li>
+					<li>skip warning</li>
+					<li>next</li>
+					<li>select SysML</li>
+				</ul>
+			</subsection>
+			<subsection name="1.2: Generate the code">
+				<p>Modify the options</p>
+				<ul>
+					<li>switch the default output directory from src to src-gen</li>
+					<li>for the EditPluginClass remove intermediate package name, to
+						reflect .provider.SysmlEditPlugin
+					</li>
+					<li>switch NLS on</li>
+				</ul>
+				<p>Right click generate Model and Edit code</p>
+			</subsection>
+			<subsection name="1.x: Validation">
+				<p>Code should compile at this step</p>
+			</subsection>
+		</section>
+
+
+		<section name="Step 2: generation of ElementType configuration files">
+			<subsection name="2.0: Purpose">
+				<p>Generate semantic and diagramatics elementtypes related to the profile</p>
+			</subsection>
+			<subsection name="2.1: Semantic Elementtypeconfiguration">
+				<ul>
+					<li>Open the profil with Papyrus</li>
+					<li>Select generate Tooling Model Elementtype
+					</li>
+					<li>base: uml o.e.p.uml.servicetype</li>
+					<li>identifier o.e.p.sysML16</li>
+					<li>file name: SysML.elemeznttypeconfiguration</li>
+				</ul>
+				<p>Move it to the right plugin place</p>
+			</subsection>
+			<subsection name="2.1: UI Elementtypeconfiguration">
+				<ul>
+					<li>Open the profil with Papyrus</li>
+					<li>Select generate Tooling Model> Elementtype
+					</li>
+					<li>base: uml o.e.p.uml.uml.diagramclass and composite</li>
+					<li>identifier o.e.p.sysML16</li>
+					<li>file name: SysML.elemeznttypeconfiguration</li>
+				</ul>
+				<p>Move it to the common plugin place and do it foreach root
+					diagrams</p>
+			</subsection>
+			<subsection name="2.x: Validation">
+				<p>to be completed...</p>
+			</subsection>
+		</section>
+
+		<section name="Step 3: generation of New Child Menu">
+			<subsection name="3.0: Purpose">
+				<p>Generate the new child menu present in the model explorer</p>
+			</subsection>
+			<subsection name="3.1: Action">
+				<p>to be completed...</p>
+			</subsection>
+			<subsection name="3.x: Validation">
+				<p>to be completed...</p>
+			</subsection>
+		</section>
+
+		<section name="Step 4: generation of Property view">
+			<subsection name="4.0: Purpose">
+				<p>Generate the default property views (one context .ctx file and multiple xwt files)</p>
+			</subsection>
+			<subsection name="4.1: Action">
+				<ul>
+					<li>Select New...> Other</li>
+					<li>Select Papyrus Category</li>
+					<li>Select Property view Configuration</li>
+					<li>Choose create from UML Profile</li>
+					<li>Source: /org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.uml</li>
+					<li>Choose Standard Layout Generator</li>
+					<li>Target: /org.eclipse.papyrus.sysml16.ui/resources/properties/SysML1.6.ctx</li>
+				</ul>
+			</subsection>
+			<subsection name="4.x: Validation">
+				<p>Should generate one *.ctx file and many *.xwt files</p>
+			</subsection>
+		</section>
+
+		<section name="Step 5: generation of Assistant">
+			<subsection name="5.0: Purpose">
+				<p>Generate the tooling to have assistants in customized diagrams</p>
+			</subsection>
+			<subsection name="5.1: Action">
+				<p>to be completed...</p>
+			</subsection>
+			<subsection name="5.x: Validation">
+				<p>to be completed...</p>
+			</subsection>
+		</section>
+
+	</body>
+
+</document>
\ No newline at end of file
diff --git a/releng/src/site/xdoc/developer/sop3-upgradingNorm.xml b/releng/src/site/xdoc/developer/sop3-upgradingNorm.xml
new file mode 100644
index 0000000..866a0af
--- /dev/null
+++ b/releng/src/site/xdoc/developer/sop3-upgradingNorm.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+
+	<properties>
+		<title>SysML - Tools Generation Standard Operating Procedure</title>
+	</properties>
+
+	<body>
+		<section name="Contexte">
+			<p>Sometimes the sysml profile norm do not reflect the text/pdf norm
+				document. It is pertinent to modify the sysml profile to add new
+				operations.
+			</p>
+		</section>
+
+		<section name="SOP">
+			<subsection name="Documentation">
+				<p>Reference your new operations here, in order to be able to process the model automatically in a near future.:
+					/org.eclipse.papyrus.sysml16/doc/SysML-Extension.di
+				</p>
+				<p>Open it with UML Editor to access UML type and cardinality</p>
+				<p>Add your requirements here by creating a new derive requirement with Papyrus Req plugin:
+					/org.eclipse.papyrus.sysml16/doc/org.eclipse.papyrus.sysml16.di
+				</p>
+				<p>You should export the org.eclipse.papyrus.sysml16 plugin to have access to the pathmap for the different UML models, such as:</p>
+				<ul>
+					<li>OMG norm: resources/doc/omg.sysml.uml</li>
+					<li>MDE model: resources/doc/org.eclipse.papyrus.sysml16.uml</li>
+					<li>SysML 1.6 extension model: resources/doc/SysML-Extension.uml</li>
+				</ul>
+			</subsection>
+			<subsection name="SysML profile: semantic upgrade">
+				<p>Modify
+					/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.uml to
+					add a new operation, with its parameters.
+				</p>
+				<p>Open the genmodel, right click on ti and click on Reload the UML profile and regenerate the Model and Edit code.
+				</p>
+				<p>Validate your enhancement by looking in	/org.eclipse.papyrus.sysml16/src-gen
+				</p>
+				<p>Implement the function in the /org.eclipse.papyrus.sysml16/src; do not forget to reference the requirement
+				</p>
+				<p>You have to procide eventually a new XFactoryCustomImpl that has to be referenced in the plugin.xml</p>
+			</subsection>
+			<subsection name="SysML diagram upgrade">
+				<p>Modify the Expansion diagram of your
+					/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/configuration/blockDefinitionDiagramConfig.expansionmodel
+				</p>
+				<p>Add new representation, a new induced representation and do not forget to add it to the context.</p>
+				<p>Becareful to replace with text editor the kind href="../../../../plugin/org.eclipse.papyrus.uml.diagram.common/ with kind href="platform:/plugin/ </p>
+
+			</subsection>
+			<subsection name="SysML element type">
+				<p>/org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations
+				</p>
+				<p>Add a new Specialization type configuration and eventually its edit helper</p>
+			</subsection>
+			<subsection name="Palette">
+				<p>Add your element in the palette:
+					/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/palette/blockDefinitionDiagram.paletteconfiguration
+				</p>
+			</subsection>
+			<subsection name="CSS">
+				<p>Modify the CSS to display your compartment:/org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/style/blockDefinitionDiagram.css
+				</p>
+			</subsection>
+			<subsection name="Test">
+				<p>Implement your test in
+					/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/blocks/BlockTest.java
+				</p>
+				<p>Open a runtime, you should be able to do the move from the palette to your compartment
+				</p>
+			</subsection>
+			<subsection name="todo">
+				<img alt=""
+					src="../img/developer/normUpgrade/SysML16Di-extension.elementtypesconfigurations.png" />
+
+			</subsection>
+		</section>
+
+	</body>
+
+</document>
\ No newline at end of file
diff --git a/releng/src/site/xdoc/developer/sop4-requirement.xml b/releng/src/site/xdoc/developer/sop4-requirement.xml
new file mode 100644
index 0000000..6f830aa
--- /dev/null
+++ b/releng/src/site/xdoc/developer/sop4-requirement.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+
+	<properties>
+		<title>SysML - Tools Generation Standard Operating Procedure</title>
+	</properties>
+
+	<body>
+		<section name="Context">
+			<p>In order to develop the SysML 1.6 application, the developer team
+				has choosen to use a model based approach.
+				At least, it is used to gather all requirements in different SysML 1.1
+				models.
+			</p>
+			<p>A first model of requirement has been made by extracting all basic
+				requirements from the Norm. Each section of the norm described in
+				the table of content has been extracted as a requirement.</p>
+			<p>This model is located here core/org.eclipse.papyrus.sysml16/doc/omg.sysml.uml
+			</p>
+			<p>New requirements, through the use of papyrus Req plugin, are
+				created in each SysML 1.1 model located in the doc folder of each
+				module. They should use the "DeriveReqt" link.</p>
+				<p>Finaly you could reference your requirement anywhere in your code, document by using the following convention:</p>
+				<source>@pap.req ${Model.ID}#{Req.ID}</source>
+				<p>The goal is to have a tool, plugin that will be able to parse this snipped of code to link it to the model, and eventually open the model.</p>
+		</section>
+
+		<section name="Example">
+			<subsection name="Zoom on OMG SYSML Requirement Model">
+			<p>Pay attention to the ID, NAME and the TEXT, that have been
+				normalized.</p>
+			<img alt="omg" src="../img/developer/sop4-requirement/omg-requirement.png" />
+			</subsection>
+			<subsection name="Zoom on a Derivereq Link">
+			<p>Pay attention to the ID, it has to be uniq, it is generated by the Papyrus Req plugin: /org.eclipse.papyrus/extraplugins/req/org.eclipse.papyrus.req.reqif</p>
+			<p>Papyrus Req plugin is an extra plugin of Papyrus project, you have to download it and install it in your own Eclipse instalaltion. Then when opening a requirment diagram, you will have a new right-click menu thta allows you to create directly new derived requirement from an initial requirement. It will compute automatically the identifier and pre-fill the text.</p>
+			<img alt="derivereqt" src="../img/developer/sop4-requirement/derivereqt.png" />
+			</subsection>
+		</section>
+
+	</body>
+
+</document>
\ No newline at end of file
diff --git a/releng/src/site/xdoc/developer/sop5-release.xml b/releng/src/site/xdoc/developer/sop5-release.xml
new file mode 100644
index 0000000..a4959bd
--- /dev/null
+++ b/releng/src/site/xdoc/developer/sop5-release.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+
+	<properties>
+		<title>SysML - Release Standard Operating Procedure</title>
+	</properties>
+
+	<body>
+		<section name="sop5-Release">
+			<subsection name="Who is in charge of?">
+				<p>Committer + a basic developer in order to transfer knowledge and improve the process.</p>
+			</subsection>
+			<subsection name="When?">
+				<p>when you need it, on a regular basis, every two month.</p>
+			</subsection>
+			<subsection name="How long?">
+				<p>It last at least 120mn</p>
+			</subsection>
+
+		</section>
+		<section name="Prerequisite">
+			<subsection name="Access">
+				<p>
+					Have the Hudson access
+				</p>
+			</subsection>
+			<subsection name="General release information">
+				<p>
+					You will find the general information on How to make a release for a Papyrus specialization <a href="https://www.eclipse.org/papyrus/components/components/components-0.0.18/user/sop-release.html">here</a>
+				</p>
+			</subsection>			
+		</section>
+		<section name="Pre-Actions">
+			<p>You can send an email to the developers  mailing list.
+			</p>
+		</section>
+		<section name="Steps">
+			<subsection name="Create a bugzilla ticket.">
+			</subsection>
+			<subsection name="No critical bugs open for the release you are targeting">
+			</subsection>
+			<subsection name="Jobs (master,website,quality,deploy) are green">
+			</subsection>
+			<subsection name="Initial Version should match qualifier and -SNAPSHOT">
+				<p>You must fill the changelog to describe the new version feature.</p>
+				<source>/org.eclipse.papyrus-sysml/src/changes/changes.xml</source>
+				<p>Details <a href="https://maven.apache.org/plugins/maven-changes-plugin/changes.html">https://maven.apache.org/plugins/maven-changes-plugin/changes.html</a></p>
+			</subsection>
+			<subsection name="Upgrade the version of application">
+				<p>use tycho-versions plugin to switch from qualifier to release, and then back from release to qualifier</p>
+				<source>mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=X.Y.Z-SNAPSHOT</source>
+				<p>check the different pom.xml and MANIFEST.MF</p>
+				<p>You have to manually update the category.xml at /org.eclipse.papyrus-sysml/releng/org.eclipse.papyrus.sysml16.p2/category.xml</p>
+			</subsection>
+			<subsection name="Push on gerrit the different modifications">
+				<p>Who: non committer action</p>
+				<p>egit or others.</p>
+			</subsection>
+			<subsection name="Accept the changes">
+				<p>Who: committer action</p>
+				<p>gerrit web action.</p>
+			</subsection>
+			<subsection name="Rexecute the job Master and Website">
+				<p>Who: any</p>
+				<p>Goal is to use this job version as data for the promotion.</p>
+			</subsection>
+			<subsection name="Tag the release">
+				<p>Who: committer action</p>
+				<p>how</p>
+			</subsection>
+			<subsection name="Deploy the product (update site and the rcp)">
+				<p>Who: non-committer action</p>
+				<p>how: job on Hudson, fill the fields</p>
+			</subsection>
+			<subsection name="Deploy the web site">
+				<p>Decision was taken by project leader Sebastien G. to not provide anymore website for components</p>
+				<p>Who: non-committer action + committer review</p>
+				<p>Generate the new web site</p>
+				<source>mvn install site site:stage-deploy -Pproduct,documentation,documentation-pdf,quality,web.release -DsiteMainDirectory=/home/flefevre/tmp/sysml/site-staging -Dmaven.clean.skip=true -Dweb.absoluteResourceURL=https://www.eclipse.org/papyrus/components/sysml/3DIGITVERSION/ -Dweb.href=https://www.eclipse.org/papyrus/components/sysml/3DIGITVERSION/index.html</source>
+				<p>Copy/paste it in the git repository dedicated to the web, in its own version folder</p>
+				<p>Update the root index.html</p>
+				<source>https://git.eclipse.org/c/www.eclipse.org/papyrus-sysml.git/</source>
+			</subsection>
+			<subsection name="Upgrade to the next snapshot version of the application">
+				<p>use tycho-versions plugin</p>
+				<source>mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=X.Y.Z-SNAPSHOT</source>
+				<p>You have to manually update the category.xml at /org.eclipse.papyrus-sysml/releng/org.eclipse.papyrus.sysml16.p2/category.xml</p>
+				<p>check the different pom.xml and MANIFEST.MF</p>
+			</subsection>			
+		</section>
+		<section name="Web-site release">
+			<p>You need also to deploy the new web site matching your release product version.</p>
+			<p>By going to <a href="https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-eclipse-web-deploy/">https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-eclipse-web-deploy/</a>, you could retrieve the zip of the site under the workspace ws/site-staging/3DIGITVERSION</p>
+			<p>Then you have to submit a gerrit patch on the Papyrus git repository, located here: www.eclipse.org papyrus.git	modeling.mdt.papyrus project website</p>
+			<p>You have also to modify the main index.html file to update the current website version and to add your version in the menu.</p>
+			<p>The final result should be available after a few minutes here <a href="https://www.eclipse.org/papyrus/components/sysml/3DIGITVERSION/">https://www.eclipse.org/papyrus/components/sysml/3DIGITVERSION/</a></p>
+		</section>
+		<section name="Post-Actions">
+			<p>You can send an email to the developers mailing list</p>
+		</section>
+		
+	</body>
+
+</document>
\ No newline at end of file
diff --git a/releng/src/site/xdoc/user/index.xml b/releng/src/site/xdoc/user/index.xml
new file mode 100644
index 0000000..32600b0
--- /dev/null
+++ b/releng/src/site/xdoc/user/index.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+
+	<properties>
+		<title>SysML - User</title>
+	</properties>
+
+	<body>
+		<section name="Download">
+			<p>The user guide could be downloaded as a pdf <a href="../pdf/user-guide.pdf">here</a></p>
+		</section>
+		<section name="SysML">
+			<subsection name="Context">
+				<p>The Systems Modeling Language (SysML) is a general-purpose
+					modeling language for systems engineering applications. It supports
+					the specification, analysis, design, verification and validation of
+					a broad range of systems and systems-of-systems.</p>
+				<p>
+					SysML was originally developed by an open source specification project,
+					and includes an open source license for distribution and use.[2]
+					SysML is defined as an extension of a subset of the Unified
+					Modeling Language (UML) using UML's profile mechanism.
+				</p>
+			</subsection>
+			<subsection name="Tutorials">
+				<ul>
+					<li><a href="tuto1-createsysmlproject.html" >Creation of a SysML project.</a></li>
+				</ul>
+			</subsection>
+			<subsection name="User FAQ">
+				<ul>
+					<li><a href="faq-user.html" >FAQ.</a></li>
+				</ul>
+			</subsection>
+			<subsection name="References">
+				<p>
+					<a href="http://www.omgsysml.org/">http://www.omgsysml.org/</a>
+				</p>
+				<p>
+					<a
+						href="./norm/formal-15-06-03.pdf#3">Embedded norm as pdf</a>
+				</p>
+			</subsection>
+		</section>
+
+	</body>
+
+</document>
\ No newline at end of file
diff --git a/releng/src/site/xdoc/user/tuto1-createsysmlproject.xml b/releng/src/site/xdoc/user/tuto1-createsysmlproject.xml
new file mode 100644
index 0000000..7aa0913
--- /dev/null
+++ b/releng/src/site/xdoc/user/tuto1-createsysmlproject.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document xmlns="http://maven.apache.org/XDOC/2.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+
+  <properties>
+    <title>SysML - User</title>
+  </properties>
+
+  <body>
+    <section name="Explore Papyrus for SysML 1.6">
+    	<subsection name="SysML 1.6">
+    		<p>The Systems Modeling Language (SysML) is a general-purpose modeling language for systems engineering applications. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems.
+			SysML was originally developed by an open source specification project, and includes an open source license for distribution and use. SysML is defined as an extension of a subset of the Unified Modeling Language (UML) using UML's profile mechanism.</p>
+    		<p>There are a lot of tutorials on SysML. We have selected this one <a href="http://www.omgsysml.org/INCOSE-OMGSysML-Tutorial-Final-090901.pdf">http://www.omgsysml.org/INCOSE-OMGSysML-Tutorial-Final-090901.pdf</a></p>
+    		<p>This guide explores basic of SysML Model Project creation.</p>
+    	</subsection>
+    	<subsection name="Create a basic project.">
+			<p>At first, select File>New Project>Papyrus project.</p>
+			<p>Select the SysML 1.6 language for the new diagrams..</p>
+			<img alt="creation menu" src="../images/rcptt-screenshots/projectcreation-selectsysml16project.png" />
+			<p>Give a name to your project and eventually add a specific model name.</p>
+			<img alt="project name" src="../images/rcptt-screenshots/projectcreation-projectname.png" />
+			<p>You can add directly at creation a library in the model by clicking on the check-box in the new model wizard. You can also add additional libraries after in the model explorer by importing registered packages.</p>
+			<p>Eventually, you can preselect specific SysML1.6 diagrams and tables to populate quickly your model: </p>
+			<ul>
+				<li>SysML 1.6 Block Definition</li>
+				<li>SysML 1.6 Internal Block</li>
+				<li>SysML 1.6 Parametric</li>
+				<li>SysML 1.6 Requirement</li>
+				<li>SysML 1.6 Allocation Table</li>
+				<li>SysML 1.6 Requirement table</li>
+			</ul>
+			<img alt="diagrams and tables" src="../images/rcptt-screenshots/projectcreation-diagrams.png" />
+			<p>Open the Papyrus Perspective to enable the Model Explorer, Diagram, Outline and Palette views.</p>
+			<img alt="papyrus perspective" src="../images/rcptt-screenshots/projectcreation-papyrusperspective.png" />
+		</subsection>
+		<subsection name="Create a Block Definition Diagram.">
+			<p>Block diagram describes the relationship among blocks (e.g., composition, association,specialization)</p>
+			<p>Right click on the Model explorer enable to display to a menu to create elements and diagrams specific to UML and SysML</p>
+			<p>Select New Diagram/SysML 1.6 Block Definition</p>
+			<p>It will create a BD diagram where you can create a block from the right palette.</p>
+			<img alt="block diagram" src="../images/rcptt-screenshots/projectcreation-papyrus-bdd.png" />
+			<img alt="block diagram" src="../images/rcptt-screenshots/projectcreation-diwithpalette.png" />
+			<p>From the palette at right, you can create typed part. By default Papyrus will propose you to create new Block for the property.</p>
+			<img alt="block diagram" src="../images/rcptt-screenshots/projectcreation-papyrus-bdd2.png" />	
+		</subsection>
+		<subsection name="Model Explorer View">
+			<p>Model explorer allows you to browse the tree of your model.</p>
+			<img alt="block diagram" src="../images/rcptt-screenshots/projectcreation-modelexplorer2.png" />
+		</subsection>
+		<subsection name="Outline View">
+			<p>Outline view offers you a quick overview display of the current diagram. It is essential when you want to manage huge models.</p>
+			<img alt="block diagram" src="../images/rcptt-screenshots/projectcreation-outline.png" />
+		</subsection>
+		<subsection name="Create a Internal Block Diagram.">
+			<p>Internal block diagram describes the internal structure of a block in terms of its properties and connectors</p>
+			<p>From the Modelexplorer, by right clicking,n you can select the IBD creation.</p>
+			<img alt="ibd" src="../images/rcptt-screenshots/projectcreation-ibd-diwithpalette.png" />
+			<p>You can create new internal properties referencing previous blocks or new blocks.</p>
+			<img alt="block diagram" src="../images/rcptt-screenshots/projectcreation-papyrus-ibd-2.png" />
+			<p>From the palette, you can create new node, such as port, and connector as edge between them.</p>
+			<p>Ports are usefull to specify interaction points on blocks and parts</p>
+			<img alt="block diagram" src="../images/rcptt-screenshots/projectcreation-papyrus-ibd-3.png" />	
+		</subsection>
+		<subsection name="Create Requirements.">
+			<p>With SysML you can use Requirement diagrams to efficiently capture functional, performance, and interface requirements, whereas with UML you are subject to the limitations of Use Case Diagram to define high-level functional requirements.</p>
+			<p>From the Model Explorer, with the New Child Menu, you can create Requirement table or requirement.</p>
+			<p>Requirement from a given model depth will populate automatically your requirement table</p>
+			<p>You can edit Requirement feature (id, name and text) from the properties view</p>
+			<img alt="block diagram" src="../images/rcptt-screenshots/projectcreation-req.png" />
+			<img alt="block diagram" src="../images/rcptt-screenshots/projectcreation-req-properties.png" />	
+		</subsection>
+    </section>
+
+  </body>
+
+</document>
\ No newline at end of file
diff --git a/releng/targetplatform/.settings/org.eclipse.core.resources.prefs b/releng/targetplatform/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/releng/targetplatform/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/.project b/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/.project
new file mode 100644
index 0000000..8a984b0
--- /dev/null
+++ b/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.targetplatform.2018-12</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/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/.settings/org.eclipse.core.resources.prefs b/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/org.eclipse.papyrus.sysml16.targetplatform.2018-12.target b/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/org.eclipse.papyrus.sysml16.targetplatform.2018-12.target
new file mode 100644
index 0000000..4d7762f
--- /dev/null
+++ b/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/org.eclipse.papyrus.sysml16.targetplatform.2018-12.target
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="SysML 1.6 - 2018-12" sequenceNumber="1552387809">
+  <locations>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.rcp.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.ocl.uml.feature.group" version="0.0.0"/>
+      <repository id="eclipse-2018-12" location="http://download.eclipse.org/releases/2018-12/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.license.feature.group" version="0.0.0"/>
+      <repository id="eclipse-license" location="http://download.eclipse.org/cbi/updates/license/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.junit.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.toolsmiths.feature.feature.group" version="0.0.0"/>
+      <repository id="Papyrus-2018-12" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12/"/>
+    </location>
+  </locations>
+</target>
diff --git a/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/org.eclipse.papyrus.sysml16.targetplatform.2018-12.tpd b/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/org.eclipse.papyrus.sysml16.targetplatform.2018-12.tpd
new file mode 100644
index 0000000..e95d2cc
--- /dev/null
+++ b/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/org.eclipse.papyrus.sysml16.targetplatform.2018-12.tpd
@@ -0,0 +1,20 @@
+target "SysML 1.6 - 2018-12" with source requirements
+
+location "http://download.eclipse.org/releases/2018-12/" eclipse-2018-12 {
+ org.eclipse.platform.feature.group lazy
+ org.eclipse.rcp.feature.group lazy
+ org.eclipse.jdt.feature.group lazy
+ org.eclipse.equinox.p2.discovery.feature.feature.group lazy
+ org.eclipse.equinox.executable.feature.group lazy
+ org.eclipse.ocl.uml.feature.group lazy
+}
+
+location "http://download.eclipse.org/cbi/updates/license/" eclipse-license {
+ org.eclipse.license.feature.group lazy
+}
+
+location "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12/" Papyrus-2018-12 {
+ org.eclipse.papyrus.junit.feature.feature.group lazy
+ org.eclipse.papyrus.sdk.feature.feature.group lazy
+ org.eclipse.papyrus.toolsmiths.feature.feature.group lazy
+}
\ No newline at end of file
diff --git a/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/pom.xml b/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/pom.xml
new file mode 100644
index 0000000..005d300
--- /dev/null
+++ b/releng/targetplatform/org.eclipse.papyrus.sysml16.targetplatform.2018-12/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.sysml16.targetplatform</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.targetplatform.2018-12</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>org.eclipse.papyrus.sysml16.targetplatform.2018-12</name>
+	<description>This plug-in contains the target definition for Papyrus SysML in 2018-12.</description>
+</project>
\ No newline at end of file
diff --git a/releng/targetplatform/pom.xml b/releng/targetplatform/pom.xml
new file mode 100644
index 0000000..9bfc0d6
--- /dev/null
+++ b/releng/targetplatform/pom.xml
@@ -0,0 +1,26 @@
+<?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.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.releng</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.targetplatform</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML Target Platform</name>
+	<description>This module contains the different Eclipse target platform definitions.</description>
+	<profiles>
+        <profile>
+            <id>2018-12</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <modules>
+                <module>org.eclipse.papyrus.sysml16.targetplatform.2018-12</module>
+            </modules>
+        </profile>
+	</profiles>
+
+</project>
\ No newline at end of file
diff --git a/tests/.settings/org.eclipse.core.resources.prefs b/tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/core/.settings/org.eclipse.core.resources.prefs b/tests/core/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/core/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/core/org.eclipse.papyrus.sysml16.all.tests/.classpath b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.all.tests/.project b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.project
new file mode 100644
index 0000000..019f29a
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.all.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.core.resources.prefs b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.core.runtime.prefs b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.jdt.core.prefs b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+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/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+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
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.m2e.core.prefs b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.pde.api.tools.prefs b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+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=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+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_FIELD=Warning
+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=Warning
+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=Warning
+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_DEFAULT_METHOD=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
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/tests/core/org.eclipse.papyrus.sysml16.all.tests/META-INF/MANIFEST.MF b/tests/core/org.eclipse.papyrus.sysml16.all.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..491001b
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,30 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.all.tests;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.sysml16.all.tests.Activator
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.common.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.internalblock.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.parametric.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.requirement.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.edit.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.nattable.allocation.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.nattable.requirement.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.service.types.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.ui.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.validation.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.architecture.tests;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.sysml16.all.tests
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Bundle-Description: %Bundle-Description
+Bundle-Vendor: %Bundle-Vendor
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.all.tests
diff --git a/tests/core/org.eclipse.papyrus.sysml16.all.tests/about.html b/tests/core/org.eclipse.papyrus.sysml16.all.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/core/org.eclipse.papyrus.sysml16.all.tests/build.properties b/tests/core/org.eclipse.papyrus.sysml16.all.tests/build.properties
new file mode 100644
index 0000000..65c0a08
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/build.properties
@@ -0,0 +1,21 @@
+# 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 2.0
+#  which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+# 
+# Contributors:
+#   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+# 
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.properties,\
+               about.html
+jars.compile.order = .
+source.. = src/
+output.. = target/classes/
+src.includes = about.html
diff --git a/tests/core/org.eclipse.papyrus.sysml16.all.tests/plugin.properties b/tests/core/org.eclipse.papyrus.sysml16.all.tests/plugin.properties
new file mode 100644
index 0000000..d2529ae
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/plugin.properties
@@ -0,0 +1,15 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Profile
+Bundle-Description=This plug-in contains the SyML 1.6 profile.
+Bundle-Vendor=Eclipse Modeling Project
diff --git a/tests/core/org.eclipse.papyrus.sysml16.all.tests/src/org/eclipse/papyrus/sysml16/all/tests/Activator.java b/tests/core/org.eclipse.papyrus.sysml16.all.tests/src/org/eclipse/papyrus/sysml16/all/tests/Activator.java
new file mode 100644
index 0000000..b97552c
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/src/org/eclipse/papyrus/sysml16/all/tests/Activator.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.all.tests;
+
+import org.eclipse.core.runtime.Plugin;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends Plugin {
+
+	/**
+	 * The plug-in ID.
+	 */
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.sysml16.all.tests"; //$NON-NLS-1$
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.all.tests/src/org/eclipse/papyrus/sysml16/all/tests/AllTests.java b/tests/core/org.eclipse.papyrus.sysml16.all.tests/src/org/eclipse/papyrus/sysml16/all/tests/AllTests.java
new file mode 100644
index 0000000..a10f18d
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.all.tests/src/org/eclipse/papyrus/sysml16/all/tests/AllTests.java
@@ -0,0 +1,269 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.all.tests;
+
+import org.eclipse.papyrus.sysml16.architecture.tests.resources.ArchitectureValidationTest;
+import org.eclipse.papyrus.sysml16.architecture.tests.util.SysML16ArchitectureUtilTest;
+import org.eclipse.papyrus.sysml16.diagram.common.tests.resources.SysML16ClassDiagramElementTypesExtensionTest;
+import org.eclipse.papyrus.sysml16.diagram.common.tests.resources.SysML16CompositeDiagramElementTypesExtensionTest;
+import org.eclipse.papyrus.sysml16.diagram.common.tests.resources.SysMLDiUMLTest;
+import org.eclipse.papyrus.sysml16.diagram.common.tests.util.GraphicalSysMLServiceTypeUtilTest;
+import org.eclipse.papyrus.sysml16.edit.tests.requirements.provider.RequirementItemProviderTest;
+import org.eclipse.papyrus.sysml16.nattable.allocation.tests.resources.AllocationNattableTest;
+import org.eclipse.papyrus.sysml16.nattable.requirement.tests.resources.RequirementNattableTest;
+import org.eclipse.papyrus.sysml16.service.types.tests.PrivatePackageImportTest;
+import org.eclipse.papyrus.sysml16.service.types.tests.SharedAssociationTest;
+import org.eclipse.papyrus.sysml16.service.types.tests.SysML16ElementTypesExtensionTest;
+import org.eclipse.papyrus.sysml16.service.types.tests.SysML16ElementTypesTest;
+import org.eclipse.papyrus.sysml16.service.types.tests.advice.ConformCreationEditHelperAdviceTest;
+import org.eclipse.papyrus.sysml16.service.types.tests.advice.ConformReorientEditHelperAdviceTest;
+import org.eclipse.papyrus.sysml16.service.types.tests.advice.DirectedRelationshipPropertyPathEditHelperAdviceTest;
+import org.eclipse.papyrus.sysml16.service.types.tests.command.CreateAssociationCommandTest;
+import org.eclipse.papyrus.sysml16.service.types.tests.command.UpdateNestedPathConnectorEndTest;
+import org.eclipse.papyrus.sysml16.service.types.tests.util.ConnectorUtilTest;
+import org.eclipse.papyrus.sysml16.service.types.tests.util.SysMLServiceTypeUtilTest;
+import org.eclipse.papyrus.sysml16.tests.SysmlProfileTest;
+import org.eclipse.papyrus.sysml16.tests.blocks.BlockTest;
+import org.eclipse.papyrus.sysml16.tests.blocks.BoundReferenceTest;
+import org.eclipse.papyrus.sysml16.tests.constraintblocks.ConstraintBlockTest;
+import org.eclipse.papyrus.sysml16.tests.deprecatedelements.FlowPortTest;
+import org.eclipse.papyrus.sysml16.tests.deprecatedelements.FlowSpecificationTest;
+import org.eclipse.papyrus.sysml16.tests.library.QUDVTest;
+import org.eclipse.papyrus.sysml16.tests.library.SysMLStandardLibraryTest;
+import org.eclipse.papyrus.sysml16.tests.modelelements.ElementGroupTest;
+import org.eclipse.papyrus.sysml16.tests.modelelements.StakeholderTest;
+import org.eclipse.papyrus.sysml16.tests.modelelements.ViewPointTest;
+import org.eclipse.papyrus.sysml16.tests.modelelements.ViewTest;
+import org.eclipse.papyrus.sysml16.tests.portsandflows.FlowPropertyTest;
+import org.eclipse.papyrus.sysml16.tests.requirements.RequirementTest;
+import org.eclipse.papyrus.sysml16.tests.resources.ModelValidationTest;
+import org.eclipse.papyrus.sysml16.tests.resources.ProfileValidationTest;
+import org.eclipse.papyrus.sysml16.tests.util.DeprecatedElementUtilTest;
+import org.eclipse.papyrus.sysml16.tests.util.SysmlResourceTest;
+import org.eclipse.papyrus.sysml16.ui.tests.images.SysmlProfileImageTest;
+import org.eclipse.papyrus.sysml16.ui.tests.resources.ExpressionValidationTest;
+import org.eclipse.papyrus.sysml16.ui.tests.resources.NewChildMenuTest;
+import org.eclipse.papyrus.sysml16.ui.tests.resources.PaletteIconIdTest;
+import org.eclipse.papyrus.sysml16.validation.tests.ocl.RequirementIdTest;
+import org.eclipse.papyrus.sysml16.validation.tests.ocl.RequirementTextTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.activities.DiscreteNoContinuousModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.activities.NoBufferNoOverwriteModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.activities.OptionalMultiplicityModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.activities.OverwriteNoNoBufferModelConstraintModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.activities.RateParameterIsStreamModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.allocations.AllocateOneClientSupplierModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.allocations.AllocateOnlyAbstractionModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.AssociationBlockModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.BindingConnectorSameEndsTypeModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.BlockPropertyCompositeModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.BlockPropertyNoNameModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.BlockSpecializationModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ClassifierBehaviorPropertyIsCompositeModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ClassifierBehaviorPropertyOnBlockModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ClassifierBehaviorPropertyTypedByModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ConnectorPropertyOnlyCompositeModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ConnectorPropertyOnlyOnBlockModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ConnectorPropertyReferOwnedConnectorModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ConnectorPropertySameNameModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ConnectorPropertyTypedByAssociationBlockModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.DistributedPropertyTypedByModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.EndPathMultiplicityNotNegativeModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ParticipantPropertyEndMultiplicityModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ParticipantPropertyNoAssociationMemberEndsModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ParticipantPropertyOnlyAssociationBlockModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ParticipantPropertyOnlyNoneAggregationModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ParticipantPropertySameEndModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.ParticipantPropertySameTypeModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.PropertySpecificTypeMissingNameModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.blocks.PropertySpecificTypeUniquePropertyModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.modelelements.ConformGeneralClassifierViewpointModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.modelelements.ConformSpecificClassifierViewModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.modelelements.ExposeClientStereotypedByViewModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.modelelements.ViewSingleViewpointModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.modelelements.ViewpointOwnedViewModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows.FlowPropertyTypedByModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows.FullPortNotBehavioralModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows.FullPortNotConjugatedModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows.FullPortNotProxyPortModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows.InterfaceBlockNoBehaviorConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows.InterfaceBlockNoCompositePropertyModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows.InterfaceBlockPortTypeModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows.ProxyPortForceInnerProxyPortModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows.ProxyPortNotFullPortModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows.ProxyPortTypedByInterfaceBlockModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.CopyBetweenRequirementsModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.CopyReadOnlyModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.DeriveReqtClientModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.DeriveReqtSupplierModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.RefineDependencyModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.RefineOneClientSupplierModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.RequirementEmptyOwnedAttributeModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.RequirementEmptyOwnedOperationModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.RequirementNestedRequirementModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.RequirementNoAssociationModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.RequirementNoGeneralizationModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.RequirementNotTypeModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.SatisfySupplierModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.TestCaseParameterVerdictKindModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.TraceDependencyModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.TraceOneClientSupplierModelConstraintTest;
+import org.eclipse.papyrus.sysml16.validation.tests.rules.requirements.VerifySupplierModelConstraintTest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+@RunWith(Suite.class)
+@SuiteClasses({
+		// org.eclipse.papyrus.sysml16.tests
+		SysmlProfileTest.class,
+		BlockTest.class,
+		BoundReferenceTest.class,
+		ConstraintBlockTest.class,
+		FlowPortTest.class,
+		FlowSpecificationTest.class,
+		QUDVTest.class,
+		SysMLStandardLibraryTest.class,
+		ElementGroupTest.class,
+		StakeholderTest.class,
+		ViewPointTest.class,
+		ViewTest.class,
+		FlowPropertyTest.class,
+		RequirementTest.class,
+		ModelValidationTest.class,
+		ProfileValidationTest.class,
+		DeprecatedElementUtilTest.class,
+		SysmlResourceTest.class,
+
+		// org.eclipse.papyrus.sysml16.edit.tests
+		RequirementItemProviderTest.class,
+
+		// org.eclipse.papyrus.sysml16.service.types.tests
+		PrivatePackageImportTest.class,
+		SharedAssociationTest.class,
+		SysML16ElementTypesExtensionTest.class,
+		SysML16ElementTypesTest.class,
+		ConformCreationEditHelperAdviceTest.class,
+		ConformReorientEditHelperAdviceTest.class,
+		DirectedRelationshipPropertyPathEditHelperAdviceTest.class,
+		CreateAssociationCommandTest.class,
+		UpdateNestedPathConnectorEndTest.class,
+		ConnectorUtilTest.class,
+		SysMLServiceTypeUtilTest.class,
+
+		// org.eclipse.papyrus.sysml16.architecture.tests
+		ArchitectureValidationTest.class,
+		org.eclipse.papyrus.sysml16.architecture.tests.resources.ModelValidationTest.class,
+		SysML16ArchitectureUtilTest.class,
+
+		// org.eclipse.papyrus.ui.tests
+		SysmlProfileImageTest.class,
+		ExpressionValidationTest.class,
+		org.eclipse.papyrus.sysml16.ui.tests.resources.ModelValidationTest.class,
+		NewChildMenuTest.class,
+		PaletteIconIdTest.class,
+
+		// org.eclipse.papyrus.sysml.common.tests
+		SysML16ClassDiagramElementTypesExtensionTest.class,
+		SysML16CompositeDiagramElementTypesExtensionTest.class,
+		SysMLDiUMLTest.class,
+		GraphicalSysMLServiceTypeUtilTest.class,
+
+		// org.eclipse.papyrus.sysml.blockdefinition.tests
+		org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests.resources.ModelValidationTest.class,
+
+		// org.eclipse.papyrus.sysml.internalblock.tests
+		org.eclipse.papyrus.sysml16.diagram.internalblock.tests.resources.ModelValidationTest.class,
+
+		// org.eclipse.papyrus.sysml.parametric.tests
+		org.eclipse.papyrus.sysml16.diagram.parametric.tests.resources.ModelValidationTest.class,
+
+		// org.eclipse.papyrus.sysml.requirement.tests
+		org.eclipse.papyrus.sysml16.diagram.requirement.tests.resources.ModelValidationTest.class,
+
+		// org.eclipse.papyrus.sysml16.nattable.allocation.tests
+		AllocationNattableTest.class,
+
+		// org.eclipse.papyrus.sysml16.nattable.requirement.tests
+		RequirementNattableTest.class,
+
+		// org.eclipse.papyrus.sysml16.validation.tests
+		RequirementIdTest.class,
+		RequirementTextTest.class,
+		DiscreteNoContinuousModelConstraintTest.class,
+		NoBufferNoOverwriteModelConstraintTest.class,
+		OptionalMultiplicityModelConstraintTest.class,
+		OverwriteNoNoBufferModelConstraintModelConstraintTest.class,
+		RateParameterIsStreamModelConstraintTest.class,
+		AllocateOneClientSupplierModelConstraintTest.class,
+		AllocateOnlyAbstractionModelConstraintTest.class,
+		AssociationBlockModelConstraintTest.class,
+		BindingConnectorSameEndsTypeModelConstraintTest.class,
+		BlockPropertyCompositeModelConstraintTest.class,
+		BlockPropertyNoNameModelConstraintTest.class,
+		BlockSpecializationModelConstraintTest.class,
+		ClassifierBehaviorPropertyIsCompositeModelConstraintTest.class,
+		ClassifierBehaviorPropertyOnBlockModelConstraintTest.class,
+		ClassifierBehaviorPropertyTypedByModelConstraintTest.class,
+		ConnectorPropertyOnlyCompositeModelConstraintTest.class,
+		ConnectorPropertyOnlyOnBlockModelConstraintTest.class,
+		ConnectorPropertyReferOwnedConnectorModelConstraintTest.class,
+		ConnectorPropertySameNameModelConstraintTest.class,
+		ConnectorPropertyTypedByAssociationBlockModelConstraintTest.class,
+		DistributedPropertyTypedByModelConstraintTest.class,
+		EndPathMultiplicityNotNegativeModelConstraintTest.class,
+		ParticipantPropertyEndMultiplicityModelConstraintTest.class,
+		ParticipantPropertyNoAssociationMemberEndsModelConstraintTest.class,
+		ParticipantPropertyOnlyAssociationBlockModelConstraintTest.class,
+		ParticipantPropertyOnlyNoneAggregationModelConstraintTest.class,
+		ParticipantPropertySameEndModelConstraintTest.class,
+		ParticipantPropertySameTypeModelConstraintTest.class,
+		PropertySpecificTypeMissingNameModelConstraintTest.class,
+		PropertySpecificTypeUniquePropertyModelConstraintTest.class,
+		ConformGeneralClassifierViewpointModelConstraintTest.class,
+		ConformSpecificClassifierViewModelConstraintTest.class,
+		ExposeClientStereotypedByViewModelConstraintTest.class,
+		ViewpointOwnedViewModelConstraintTest.class,
+		ViewSingleViewpointModelConstraintTest.class,
+		FlowPropertyTypedByModelConstraintTest.class,
+		FullPortNotBehavioralModelConstraintTest.class,
+		FullPortNotConjugatedModelConstraintTest.class,
+		FullPortNotProxyPortModelConstraintTest.class,
+		InterfaceBlockNoBehaviorConstraintTest.class,
+		InterfaceBlockNoCompositePropertyModelConstraintTest.class,
+		InterfaceBlockPortTypeModelConstraintTest.class,
+		ProxyPortForceInnerProxyPortModelConstraintTest.class,
+		ProxyPortNotFullPortModelConstraintTest.class,
+		ProxyPortTypedByInterfaceBlockModelConstraintTest.class,
+		CopyBetweenRequirementsModelConstraintTest.class,
+		CopyReadOnlyModelConstraintTest.class,
+		DeriveReqtClientModelConstraintTest.class,
+		DeriveReqtSupplierModelConstraintTest.class,
+		RefineDependencyModelConstraintTest.class,
+		RefineOneClientSupplierModelConstraintTest.class,
+		RequirementEmptyOwnedAttributeModelConstraintTest.class,
+		RequirementEmptyOwnedOperationModelConstraintTest.class,
+		RequirementNestedRequirementModelConstraintTest.class,
+		RequirementNoAssociationModelConstraintTest.class,
+		RequirementNoGeneralizationModelConstraintTest.class,
+		RequirementNotTypeModelConstraintTest.class,
+		SatisfySupplierModelConstraintTest.class,
+		TestCaseParameterVerdictKindModelConstraintTest.class,
+		TraceDependencyModelConstraintTest.class,
+		TraceOneClientSupplierModelConstraintTest.class,
+		VerifySupplierModelConstraintTest.class,
+})
+public class AllTests {
+}
\ No newline at end of file
diff --git a/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.classpath b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.project b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.project
new file mode 100644
index 0000000..4d5892e
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.edit.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.settings/edu.umd.cs.findbugs.core.prefs b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.settings/edu.umd.cs.findbugs.core.prefs
new file mode 100644
index 0000000..f181167
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.settings/edu.umd.cs.findbugs.core.prefs
@@ -0,0 +1,143 @@
+#FindBugs User Preferences
+#Mon Aug 31 10:31:13 CEST 2015
+cloud_id=edu.umd.cs.findbugs.cloud.doNothingCloud
+detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true
+detectorAtomicityProblem=AtomicityProblem|true
+detectorBadAppletConstructor=BadAppletConstructor|false
+detectorBadResultSetAccess=BadResultSetAccess|true
+detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true
+detectorBadUseOfReturnValue=BadUseOfReturnValue|true
+detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true
+detectorBooleanReturnNull=BooleanReturnNull|true
+detectorCallToUnsupportedMethod=CallToUnsupportedMethod|false
+detectorCheckExpectedWarnings=CheckExpectedWarnings|false
+detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true
+detectorCheckRelaxingNullnessAnnotation=CheckRelaxingNullnessAnnotation|true
+detectorCheckTypeQualifiers=CheckTypeQualifiers|true
+detectorCloneIdiom=CloneIdiom|true
+detectorComparatorIdiom=ComparatorIdiom|true
+detectorConfusedInheritance=ConfusedInheritance|true
+detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true
+detectorCovariantArrayAssignment=CovariantArrayAssignment|false
+detectorCrossSiteScripting=CrossSiteScripting|true
+detectorDefaultEncodingDetector=DefaultEncodingDetector|true
+detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true
+detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true
+detectorDontIgnoreResultOfPutIfAbsent=DontIgnoreResultOfPutIfAbsent|true
+detectorDontUseEnum=DontUseEnum|true
+detectorDroppedException=DroppedException|true
+detectorDumbMethodInvocations=DumbMethodInvocations|true
+detectorDumbMethods=DumbMethods|true
+detectorDuplicateBranches=DuplicateBranches|true
+detectorEmptyZipFileEntry=EmptyZipFileEntry|false
+detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true
+detectorExplicitSerialization=ExplicitSerialization|true
+detectorFinalizerNullsFields=FinalizerNullsFields|true
+detectorFindBadCast2=FindBadCast2|true
+detectorFindBadForLoop=FindBadForLoop|true
+detectorFindCircularDependencies=FindCircularDependencies|false
+detectorFindComparatorProblems=FindComparatorProblems|true
+detectorFindDeadLocalStores=FindDeadLocalStores|true
+detectorFindDoubleCheck=FindDoubleCheck|true
+detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true
+detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true
+detectorFindFinalizeInvocations=FindFinalizeInvocations|true
+detectorFindFloatEquality=FindFloatEquality|true
+detectorFindHEmismatch=FindHEmismatch|true
+detectorFindInconsistentSync2=FindInconsistentSync2|true
+detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true
+detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true
+detectorFindMaskedFields=FindMaskedFields|true
+detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true
+detectorFindNakedNotify=FindNakedNotify|true
+detectorFindNonShortCircuit=FindNonShortCircuit|true
+detectorFindNullDeref=FindNullDeref|true
+detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true
+detectorFindOpenStream=FindOpenStream|true
+detectorFindPuzzlers=FindPuzzlers|true
+detectorFindRefComparison=FindRefComparison|true
+detectorFindReturnRef=FindReturnRef|true
+detectorFindRoughConstants=FindRoughConstants|true
+detectorFindRunInvocations=FindRunInvocations|true
+detectorFindSelfComparison=FindSelfComparison|true
+detectorFindSelfComparison2=FindSelfComparison2|true
+detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true
+detectorFindSpinLoop=FindSpinLoop|true
+detectorFindSqlInjection=FindSqlInjection|true
+detectorFindTwoLockWait=FindTwoLockWait|true
+detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true
+detectorFindUnconditionalWait=FindUnconditionalWait|true
+detectorFindUninitializedGet=FindUninitializedGet|true
+detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true
+detectorFindUnreleasedLock=FindUnreleasedLock|true
+detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true
+detectorFindUnsyncGet=FindUnsyncGet|true
+detectorFindUseOfNonSerializableValue=FindUseOfNonSerializableValue|true
+detectorFindUselessControlFlow=FindUselessControlFlow|true
+detectorFindUselessObjects=FindUselessObjects|true
+detectorFormatStringChecker=FormatStringChecker|true
+detectorHugeSharedStringConstants=HugeSharedStringConstants|true
+detectorIDivResultCastToDouble=IDivResultCastToDouble|true
+detectorIncompatMask=IncompatMask|true
+detectorInconsistentAnnotations=InconsistentAnnotations|true
+detectorInefficientIndexOf=InefficientIndexOf|false
+detectorInefficientInitializationInsideLoop=InefficientInitializationInsideLoop|false
+detectorInefficientMemberAccess=InefficientMemberAccess|false
+detectorInefficientToArray=InefficientToArray|false
+detectorInfiniteLoop=InfiniteLoop|true
+detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true
+detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true
+detectorInitializationChain=InitializationChain|true
+detectorInitializeNonnullFieldsInConstructor=InitializeNonnullFieldsInConstructor|true
+detectorInstantiateStaticClass=InstantiateStaticClass|true
+detectorIntCast2LongAsInstant=IntCast2LongAsInstant|true
+detectorInvalidJUnitTest=InvalidJUnitTest|true
+detectorIteratorIdioms=IteratorIdioms|true
+detectorLazyInit=LazyInit|true
+detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true
+detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true
+detectorMethodReturnCheck=MethodReturnCheck|true
+detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true
+detectorMutableEnum=MutableEnum|true
+detectorMutableLock=MutableLock|true
+detectorMutableStaticFields=MutableStaticFields|true
+detectorNaming=Naming|true
+detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true
+detectorNumberConstructor=NumberConstructor|true
+detectorOptionalReturnNull=OptionalReturnNull|true
+detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true
+detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true
+detectorPublicSemaphores=PublicSemaphores|false
+detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true
+detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true
+detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true
+detectorRedundantConditions=RedundantConditions|true
+detectorRedundantInterfaces=RedundantInterfaces|true
+detectorRepeatedConditionals=RepeatedConditionals|true
+detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true
+detectorSerializableIdiom=SerializableIdiom|true
+detectorStartInConstructor=StartInConstructor|true
+detectorStaticCalendarDetector=StaticCalendarDetector|true
+detectorStringConcatenation=StringConcatenation|true
+detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true
+detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true
+detectorSwitchFallthrough=SwitchFallthrough|true
+detectorSynchronizationOnSharedBuiltinConstant=SynchronizationOnSharedBuiltinConstant|true
+detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true
+detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true
+detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true
+detectorURLProblems=URLProblems|true
+detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true
+detectorUnnecessaryMath=UnnecessaryMath|true
+detectorUnreadFields=UnreadFields|true
+detectorUselessSubclassMethod=UselessSubclassMethod|false
+detectorVarArgsProblems=VarArgsProblems|true
+detectorVolatileUsage=VolatileUsage|true
+detectorWaitInLoop=WaitInLoop|true
+detectorWrongMapIterator=WrongMapIterator|true
+detectorXMLFactoryBypass=XMLFactoryBypass|true
+detector_threshold=3
+effort=max
+filter_settings=Low|BAD_PRACTICE,CORRECTNESS,MT_CORRECTNESS,PERFORMANCE,STYLE|false|20
+filter_settings_neg=MALICIOUS_CODE,SECURITY,EXPERIMENTAL,NOISE,I18N|
+run_at_full_build=false
diff --git a/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.settings/org.eclipse.core.resources.prefs b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.settings/org.eclipse.jdt.core.prefs b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.settings/org.eclipse.m2e.core.prefs b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/core/org.eclipse.papyrus.sysml16.edit.tests/META-INF/MANIFEST.MF b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..4703f1c
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Bundle-ActivationPolicy: lazy
+Manifest-Version: 1.0
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.edit.tests
+Export-Package: org.eclipse.papyrus.sysml16.edit.tests.requirements.provider
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Description: %Bundle-Description
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.edit;bundle-version="1.0.0"
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.edit.tests
+ 
diff --git a/tests/core/org.eclipse.papyrus.sysml16.edit.tests/about.html b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/core/org.eclipse.papyrus.sysml16.edit.tests/build.properties b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/build.properties
new file mode 100644
index 0000000..1dd8a68
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/build.properties
@@ -0,0 +1,17 @@
+# 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 2.0
+#  which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.properties,\
+               about.html
+jars.compile.order = .
+source.. = src
+output.. = target/classes/
+src.includes = about.html
diff --git a/tests/core/org.eclipse.papyrus.sysml16.edit.tests/plugin.properties b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/plugin.properties
new file mode 100644
index 0000000..36b4211
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/plugin.properties
@@ -0,0 +1,15 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Edit Tests
+Bundle-Description=This plug-in contains the tests for SyML 1.6 edit plugin
+Bundle-Vendor=Eclipse Modeling Project
\ No newline at end of file
diff --git a/tests/core/org.eclipse.papyrus.sysml16.edit.tests/pom.xml b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/pom.xml
new file mode 100644
index 0000000..f2acb9e
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.core.tests</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.edit.tests</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.edit.tests</name>
+	<description>This plug-in contains the unit tests for SyML 1.6 Edit plugin</description>
+</project>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.edit.tests/src/org/eclipse/papyrus/sysml16/edit/tests/requirements/provider/RequirementItemProviderTest.java b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/src/org/eclipse/papyrus/sysml16/edit/tests/requirements/provider/RequirementItemProviderTest.java
new file mode 100644
index 0000000..89829be
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.edit.tests/src/org/eclipse/papyrus/sysml16/edit/tests/requirements/provider/RequirementItemProviderTest.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.edit.tests.requirements.provider;
+
+import org.eclipse.papyrus.sysml16.requirements.provider.RequirementItemProvider;
+import org.eclipse.papyrus.sysml16.requirements.provider.RequirementsItemProviderAdapterFactory;
+import org.eclipse.papyrus.sysml16.requirements.RequirementCustomImpl;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Basic test RequirementItemProvider.
+ */
+public class RequirementItemProviderTest {
+
+	/**
+	 * Check that a Requirement has an image to avoid regression when regeneration
+	 */
+	@Ignore
+	@Test
+	public void testProfilRegistration() {
+		RequirementsItemProviderAdapterFactory requirementsItemProviderAdapterFactory = new RequirementsItemProviderAdapterFactory();
+		RequirementItemProvider createRequirementAdapter = (RequirementItemProvider) requirementsItemProviderAdapterFactory.createRequirementAdapter();
+		Assert.assertNotNull("Requirement should have an image", createRequirementAdapter.getImage(new RequirementCustomImpl())); //$NON-NLS-1$
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.classpath b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.project b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.project
new file mode 100644
index 0000000..d916b1b
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.service.types.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.settings/org.eclipse.core.resources.prefs b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.settings/org.eclipse.jdt.core.prefs b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..8ddd9a8
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,296 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+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/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..34cbdbb
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.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 2.0\n * which accompanies this distribution, and is available at\n * https\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.settings/org.eclipse.m2e.core.prefs b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/META-INF/MANIFEST.MF b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..7be6b0a
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.sysml16.service.types.tests,
+ org.eclipse.papyrus.sysml16.service.types.tests.advice,
+ org.eclipse.papyrus.sysml16.service.types.tests.command,
+ org.eclipse.papyrus.sysml16.service.types.tests.util
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.service.types.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.interactionoverview;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.profile;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.statemachine;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.types;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.sysml16.service.types;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0"
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.service.types.tests
+
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/about.html b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/build.properties b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/build.properties
new file mode 100644
index 0000000..a6d6242
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               plugin.properties
+src.includes = about.html
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/plugin.properties b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/plugin.properties
new file mode 100644
index 0000000..8e4d171
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/plugin.properties
@@ -0,0 +1,14 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Service Types Tests
+Bundle-Vendor=Eclipse Modeling Project
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/pom.xml b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/pom.xml
new file mode 100644
index 0000000..243d012
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.core.tests</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.service.types.tests</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.service.types.tests</name>
+	<description>This plug-in contains the SyML 1.6 element types unit tests.</description>
+</project>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/PrivatePackageImportTest.java b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/PrivatePackageImportTest.java
new file mode 100644
index 0000000..d186fb7
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/PrivatePackageImportTest.java
@@ -0,0 +1,84 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.tests;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Class to test Private package creation
+ */
+public class PrivatePackageImportTest {
+	
+	private static final String ELEMENT_TYPE_ID = "org.eclipse.papyrus.SysML16.PrivatePackageImport"; //$NON-NLS-1$
+ 
+	@BeforeClass
+	public static void loadSysMLDefinition() {
+		ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+		Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = instance.getElementTypeSetConfigurations();
+		Map<String, ElementTypeSetConfiguration> map = elementTypeSetConfigurations.get(SysMLServiceTypeUtil.SYSML16_CONTEXT_ID);
+		ElementTypeSetConfiguration elementTypeSetConfiguration = map.get("org.eclipse.papyrus.sysml16.service.types.elementTypeSet.extension"); //$NON-NLS-1$
+		Assert.assertNotNull("The SysML element type set definition is missing", elementTypeSetConfiguration); //$NON-NLS-1$
+	}	
+	
+    @Test
+	public void testCreation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		
+		IElementType elementType = ElementTypeRegistry.getInstance().getType(ELEMENT_TYPE_ID);
+		CreateRelationshipRequest validRequest = new CreateRelationshipRequest(model, model, elementType);
+		IElementEditService commandService = ElementEditServiceUtils.getCommandProvider(model);
+		ICommand editCommand = commandService.getEditCommand(validRequest);
+		 
+		Assert.assertTrue("The command for creating a private package import should be executable", editCommand.canExecute()); //$NON-NLS-1$
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(editCommand));
+		startTransaction.commit();
+		Object result = editCommand.getCommandResult().getReturnValue();
+		Assert.assertTrue("The result should be a PackageImport", result instanceof PackageImport); //$NON-NLS-1$
+		Assert.assertEquals("The PackageImport is expected a private visibility",VisibilityKind.PRIVATE_LITERAL, ((PackageImport) result).getVisibility()); //$NON-NLS-1$
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/SharedAssociationTest.java b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/SharedAssociationTest.java
new file mode 100644
index 0000000..ec2405f
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/SharedAssociationTest.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.tests;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Class to test SharedAssociation
+ */
+public class SharedAssociationTest {
+	
+	private static final String ELEMENT_TYPE_ID = "org.eclipse.papyrus.uml.AssociationShared"; //$NON-NLS-1$
+ 
+	@BeforeClass
+	public static void loadSysMLDefinition() {
+		ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+		Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = instance.getElementTypeSetConfigurations();
+		Map<String, ElementTypeSetConfiguration> map = elementTypeSetConfigurations.get(SysMLServiceTypeUtil.SYSML16_CONTEXT_ID);
+		ElementTypeSetConfiguration elementTypeSetConfiguration = map.get("org.eclipse.papyrus.sysml16.service.types.elementTypeSet.extension"); //$NON-NLS-1$
+		Assert.assertNotNull("The SysML element type set definition is missing", elementTypeSetConfiguration); //$NON-NLS-1$
+	}	
+	
+	@Ignore // FIXME : fail with NPE to be checked after full switch to independent contextid
+    @Test
+	public void testCreation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+		Class clazz = model.createOwnedClass("Class", false);
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		
+		IElementType elementType = ElementTypeRegistry.getInstance().getType(ELEMENT_TYPE_ID);
+		CreateRelationshipRequest validRequest = new CreateRelationshipRequest(clazz, clazz, elementType);
+		IElementEditService commandService = ElementEditServiceUtils.getCommandProvider(model);
+		ICommand editCommand = commandService.getEditCommand(validRequest);
+		 
+		Assert.assertTrue("The command for creating a provate package import should be executable", editCommand.canExecute()); //$NON-NLS-1$
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(editCommand));
+		startTransaction.commit();
+		Object result = editCommand.getCommandResult().getReturnValue();
+		Assert.assertTrue("The result should be a Association", result instanceof Association); //$NON-NLS-1$
+		Assert.assertEquals("The Association is expected a shared aggregation in the first member end",AggregationKind.SHARED_LITERAL, ((Association) result).getMemberEnds().get(0).getAggregation()); //$NON-NLS-1$
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/SysML16ElementTypesExtensionTest.java b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/SysML16ElementTypesExtensionTest.java
new file mode 100644
index 0000000..e623270
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/SysML16ElementTypesExtensionTest.java
@@ -0,0 +1,129 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.tests;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.infra.types.AbstractMatcherConfiguration;
+import org.eclipse.papyrus.infra.types.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.types.SpecializationTypeConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * This class is to check any change in the SysML 1.6 element type id
+ * (since the ids can be used a specialization they are part of public API)
+ *
+ */
+public class SysML16ElementTypesExtensionTest {
+
+	public static final String ELEMENTTYPE_EXTENSION_MENU_PATH = "org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations"; //$NON-NLS-1$
+	
+	@BeforeClass
+	public static void loadSysMLDefinition() {
+		ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+		Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = instance.getElementTypeSetConfigurations();
+		Map<String, ElementTypeSetConfiguration> map = elementTypeSetConfigurations.get(SysMLServiceTypeUtil.SYSML16_CONTEXT_ID);
+		ElementTypeSetConfiguration elementTypeSetConfiguration = map.get("org.eclipse.papyrus.sysml16.service.types.elementTypeSet.extension"); //$NON-NLS-1$
+		Assert.assertNotNull("The SysML element type set definition is missing", elementTypeSetConfiguration); //$NON-NLS-1$
+	}
+	
+	@Test
+	@Ignore //FIXME Setting a field by model create a working bu invalide model
+	public void validateSysML16ElementTypesExtensionModel() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(ELEMENTTYPE_EXTENSION_MENU_PATH, true);
+		Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The SysML16ElementTypesExtension model is not valid ", Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+	
+	/**
+	 * Check that all SpecializationTypeConfiguration have a matcher 
+	 * (This is no more required for avoiding to broke UML Diagrams since contextid but still a good idea)
+	 */
+	@Test
+	public void checkElementTypeMatcher() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(ELEMENTTYPE_EXTENSION_MENU_PATH, true);
+		ResourceSetImpl resourceSetImpl = new ResourceSetImpl();
+		Resource resource = resourceSetImpl.getResource(createPlatformPluginURI, true);
+
+
+		TreeIterator<EObject> allContents = resource.getAllContents();
+		while (allContents.hasNext()) {
+			EObject eObject = (EObject) allContents.next();
+			if (eObject instanceof ElementTypeSetConfiguration) {
+				ElementTypeSetConfiguration elementTypeSetConfiguration = (ElementTypeSetConfiguration) eObject;
+				EList<ElementTypeConfiguration> elementTypeConfigurations = elementTypeSetConfiguration.getElementTypeConfigurations();
+				for (ElementTypeConfiguration elementTypeConfiguration : elementTypeConfigurations) {
+					if (elementTypeConfiguration instanceof SpecializationTypeConfiguration) {
+						SpecializationTypeConfiguration specializationTypeConfiguration = (SpecializationTypeConfiguration) elementTypeConfiguration;
+						AbstractMatcherConfiguration matcherConfiguration = specializationTypeConfiguration.getMatcherConfiguration();
+						Assert.assertNotNull(specializationTypeConfiguration.getName()+"is missing its matcher. All SysML 1.6 SpecializationTypeConfiguration must have a matcher. By default, use org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher)", matcherConfiguration); //$NON-NLS-1$
+					}
+				}
+			}
+		}
+	}	
+	
+    @Test
+	public void testRegistryContentForUnit() {
+		Assert.assertTrue("Unit element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Unit")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForQuantityKind() {
+		Assert.assertTrue("QuantityKind element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.QuantityKind")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForConstraintProperty() {
+		Assert.assertTrue("ConstraintProperty element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ConstraintProperty")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForActorPart() {
+		Assert.assertTrue("ActorPart element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ActorPart")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForValue() {
+		Assert.assertTrue("Value element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Value")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForReference() {
+		Assert.assertTrue("Reference element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Reference")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForPart() {
+		Assert.assertTrue("Part element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Part")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/SysML16ElementTypesTest.java b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/SysML16ElementTypesTest.java
new file mode 100644
index 0000000..c90a370
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/SysML16ElementTypesTest.java
@@ -0,0 +1,407 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.tests;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+
+/**
+ * This class is to check any change in the SysML 1.6 element type id
+ * (since the ids can be used a specialization they are part of public API)
+ *
+ */
+@SuppressWarnings("nls")
+public class SysML16ElementTypesTest {
+
+	@BeforeClass
+	public static void loadSysML16Defintion() {
+		ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+		Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = instance.getElementTypeSetConfigurations();
+		Map<String, ElementTypeSetConfiguration> map = elementTypeSetConfigurations.get(SysMLServiceTypeUtil.SYSML16_CONTEXT_ID);
+		ElementTypeSetConfiguration elementTypeSetConfiguration = map.get("org.eclipse.papyrus.sysml16.service.types.elementTypeSet"); //$NON-NLS-1$
+		Assert.assertNotNull("The SysML 1.6 element type set definition is missing", elementTypeSetConfiguration); //$NON-NLS-1$
+	}
+
+    @Test
+	public void testRegistryContentForAcceptChangeStructuralFeatureEventAction() {
+		Assert.assertTrue("AcceptChangeStructuralFeatureEventAction element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.AcceptChangeStructuralFeatureEventAction")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForAdjunctProperty() {
+		Assert.assertTrue("AdjunctProperty element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.AdjunctProperty")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForAllocateActivityPartition() {
+		Assert.assertTrue("AllocateActivityPartition element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.AllocateActivityPartition")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForAllocateAbstraction() {
+		Assert.assertTrue("Allocate Abstraction element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Allocate_Abstraction")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForAllocateDirectedRelationship() {
+		Assert.assertTrue("Allocate DirectedRelationship element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Allocate_DirectedRelationship")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForBindingConnector() {
+		Assert.assertTrue("BindingConnector element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.BindingConnector")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForBlock() {
+		Assert.assertTrue("Block element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Block")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForBoundReference() {
+		Assert.assertTrue("BoundReference element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.BoundReference")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForChangeStructuralFeatureEvent() {
+		Assert.assertTrue("ChangeStructuralFeatureEvent element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ChangeStructuralFeatureEvent")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForClassifierBehaviorProperty() {
+		Assert.assertTrue("ClassifierBehaviorProperty element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForConform() {
+		Assert.assertTrue("Conform element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Conform")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForConnectorProperty() {
+		Assert.assertTrue("ConnectorProperty element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ConnectorProperty")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForConstraintBlock() {
+		Assert.assertTrue("ConstraintBlock element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ConstraintBlock")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForContinuousActivityEdge() {
+		Assert.assertTrue("Continuous ActivityEdge element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Continuous_ActivityEdge")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForContinuousObjectNode() {
+		Assert.assertTrue("Continuous ObjectNode element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Continuous_ObjectNode")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForContinuousParameter() {
+		Assert.assertTrue("Continuous Parameter element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Continuous_Parameter")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForControlOperatorBehavior() {
+		Assert.assertTrue("ControlOperator Behavior element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ControlOperator_Behavior")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForControlOperatorOperation() {
+		Assert.assertTrue("ControlOperator Operation element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ControlOperator_Operation")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForCopyAbstraction() {
+		Assert.assertTrue("Copy Abstraction element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Copy_Abstraction")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForCopyDirectedRelationship() {
+		Assert.assertTrue("Copy DirectedRelationship element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Copy_DirectedRelationship")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForDeriveReqtAbstraction() {
+		Assert.assertTrue("DeriveReqt Abstraction element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.DeriveReqt_Abstraction")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForDeriveReqtDirectedRelationship() {
+		Assert.assertTrue("DeriveReqt DirectedRelationship element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.DeriveReqt_DirectedRelationship")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForDirectedFeature() {
+		Assert.assertTrue("DirectedFeature element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.DirectedFeature")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForDirectedRelationshipPropertyPath() {
+		Assert.assertTrue("DirectedRelationshipPropertyPath element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.DirectedRelationshipPropertyPath")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForDiscreteActivityEdge() {
+		Assert.assertTrue("Discrete ActivityEdge element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Discrete_ActivityEdge")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForDiscreteObjectNode() {
+		Assert.assertTrue("Discrete ObjectNode element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Discrete_ObjectNode")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForDiscreteParameter() {
+		Assert.assertTrue("Discrete Parameter element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Discrete_Parameter")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForDistributedProperty() {
+		Assert.assertTrue("DistributedProperty element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.DistributedProperty")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForElementGroup() {
+		Assert.assertTrue("ElementGroup element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ElementGroup")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForElementPropertyPath() {
+		Assert.assertTrue("ElementPropertyPath element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ElementPropertyPath")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForEndPathMultiplicity() {
+		Assert.assertTrue("EndPathMultiplicity element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.EndPathMultiplicity")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForExpose() {
+		Assert.assertTrue("Expose element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Expose")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForFlowPort() {
+		Assert.assertTrue("FlowPort element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.FlowPort")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForFlowProperty() {
+		Assert.assertTrue("FlowProperty element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.FlowProperty")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForFlowSpecification() {
+		Assert.assertTrue("FlowSpecification element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.FlowSpecification")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForFullPort() {
+		Assert.assertTrue("FullPort element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.FullPort")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForInterfaceBlock() {
+		Assert.assertTrue("InterfaceBlock element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.InterfaceBlock")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForInvocationOnNestedPortActionElement() {
+		Assert.assertTrue("InvocationOnNestedPortAction Element element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_Element")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForInvocationOnNestedPortActionInvocationAction() {
+		Assert.assertTrue("InvocationOnNestedPortAction InvocationAction element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_InvocationAction")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForItemFlow() {
+		Assert.assertTrue("ItemFlow element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ItemFlow")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForNestedConnectorEndConnectorEnd() {
+		Assert.assertTrue("NestedConnectorEnd ConnectorEnd element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.NestedConnectorEnd_ConnectorEnd")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForNestedConnectorEndElement() {
+		Assert.assertTrue("NestedConnectorEnd Element element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.NestedConnectorEnd_Element")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForNoBuffer() {
+		Assert.assertTrue("NoBuffer element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.NoBuffer")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForOptional() {
+		Assert.assertTrue("Optional element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Optional")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForOverwrite() {
+		Assert.assertTrue("Overwrite element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Overwrite")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForParticipantProperty() {
+		Assert.assertTrue("ParticipantProperty element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ParticipantProperty")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForProbabilityActivityEdge() {
+		Assert.assertTrue("Probability ActivityEdge element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Probability_ActivityEdge")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForProbabilityParameterSet() {
+		Assert.assertTrue("Probability ParameterSet element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Probability_ParameterSet")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForProblem() {
+		Assert.assertTrue("Problem element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Problem")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForPropertySpecificType() {
+		Assert.assertTrue("PropertySpecificType element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.PropertySpecificType")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForProxyPort() {
+		Assert.assertTrue("ProxyPort element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ProxyPort")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForRateActivityEdge() {
+		Assert.assertTrue("Rate ActivityEdge element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Rate_ActivityEdge")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForRateObjectNode() {
+		Assert.assertTrue("Rate ObjectNode element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Rate_ObjectNode")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForRateParameter() {
+		Assert.assertTrue("Rate Parameter element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Rate_Parameter")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForRationale() {
+		Assert.assertTrue("Rationale element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Rationale")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForRefineAbstraction() {
+		Assert.assertTrue("Refine Abstraction element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Refine_Abstraction")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForRefineDirectedRelationship() {
+		Assert.assertTrue("Refine DirectedRelationship element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Refine_DirectedRelationship")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForRequirement() {
+		Assert.assertTrue("Requirement element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Requirement")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForSatisfyAbstraction() {
+		Assert.assertTrue("Satisfy Abstraction element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Satisfy_Abstraction")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForSatisfyDirectedRelationship() {
+		Assert.assertTrue("Satisfy DirectedRelationship element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Satisfy_DirectedRelationship")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForStakeholder() {
+		Assert.assertTrue("Stakeholder element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Stakeholder")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForTestCaseBehavior() {
+		Assert.assertTrue("TestCase Behavior element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.TestCase_Behavior")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForTestCaseOperation() {
+		Assert.assertTrue("TestCase Operation element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.TestCase_Operation")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForTraceAbstraction() {
+		Assert.assertTrue("Trace Abstraction element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Trace_Abstraction")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForTraceDirectedRelationship() {
+		Assert.assertTrue("Trace DirectedRelationship element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Trace_DirectedRelationship")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForTriggerOnNestedPortElement() {
+		Assert.assertTrue("TriggerOnNestedPort Element element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Element")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForTriggerOnNestedPortTrigger() {
+		Assert.assertTrue("TriggerOnNestedPort Trigger element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Trigger")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForValueType() {
+		Assert.assertTrue("ValueType element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.ValueType")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForVerifyAbstraction() {
+		Assert.assertTrue("Verify Abstraction element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Verify_Abstraction")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForVerifyDirectedRelationship() {
+		Assert.assertTrue("Verify DirectedRelationship element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Verify_DirectedRelationship")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForView() {
+		Assert.assertTrue("View element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.View")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+    @Test
+	public void testRegistryContentForViewpoint() {
+		Assert.assertTrue("Viewpoint element type not found in SysML element type set ", SysMLServiceTypeUtil.isKnown("org.eclipse.papyrus.SysML16.Viewpoint")); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/advice/ConformCreationEditHelperAdviceTest.java b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/advice/ConformCreationEditHelperAdviceTest.java
new file mode 100644
index 0000000..68295b1
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/advice/ConformCreationEditHelperAdviceTest.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.tests.advice;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.service.types.advice.ConformCreationEditHelperAdvice;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test class for conform creation
+ */
+public class ConformCreationEditHelperAdviceTest {
+
+	@BeforeClass
+	public static void loadSysml16Definition() {
+		ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+		Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = instance.getElementTypeSetConfigurations();
+		Map<String, ElementTypeSetConfiguration> map = elementTypeSetConfigurations.get(SysMLServiceTypeUtil.SYSML16_CONTEXT_ID);
+		ElementTypeSetConfiguration elementTypeSetConfiguration = map.get("org.eclipse.papyrus.sysml16.service.types.elementTypeSet"); //$NON-NLS-1$
+		Assert.assertNotNull("The SysML 1.6 element type set definition is missing", elementTypeSetConfiguration); //$NON-NLS-1$
+	}
+
+	/**
+	 * A Class with the stereotype Viewpoint
+	 */
+	private org.eclipse.uml2.uml.Class classStereotypeViewpoint;
+
+	/**
+	 * A Class with the stereotype View
+	 */
+	private org.eclipse.uml2.uml.Class classStereotypeView;
+
+	@Before
+	public void setUp() {
+		// Prepare test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+		StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+		classStereotypeViewpoint = model.createOwnedClass("classStereotypeViewpoint", false);
+		stereotypeApplicationHelper.applyStereotype(classStereotypeViewpoint, ModelElementsPackage.eINSTANCE.getViewpoint(),null);
+		classStereotypeView = model.createOwnedClass("classStereotypeView", false);
+		stereotypeApplicationHelper.applyStereotype(classStereotypeView, ModelElementsPackage.eINSTANCE.getView(),null);
+	}
+
+
+	/**
+	 * Test if the creation of conform following SysML requirements
+	 */
+	@Test
+	public void testApproveRequest() {
+		ConformCreationEditHelperAdvice conformCreationEditHelperAdvice = new ConformCreationEditHelperAdvice();
+		IElementType type = ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONFORM);
+
+		IEditCommandRequest invalidRequest = new CreateRelationshipRequest(type);
+		Assert.assertFalse("Creation should forbiden for a conform not linked to any elements", conformCreationEditHelperAdvice.approveRequest(invalidRequest));
+
+		IEditCommandRequest validRequest = new CreateRelationshipRequest(classStereotypeView, classStereotypeViewpoint, type);
+		Assert.assertTrue("Conform is allow from a View to a Viewpoint", conformCreationEditHelperAdvice.approveRequest(validRequest));
+
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/advice/ConformReorientEditHelperAdviceTest.java b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/advice/ConformReorientEditHelperAdviceTest.java
new file mode 100644
index 0000000..ff05486
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/advice/ConformReorientEditHelperAdviceTest.java
@@ -0,0 +1,138 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.tests.advice;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRequest;
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.service.types.advice.ConformReorientEditHelperAdvice;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test class for conform creation.
+ */
+public class ConformReorientEditHelperAdviceTest {
+
+	@BeforeClass
+	public static void loadSysml16Definition() {
+		ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+		Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = instance.getElementTypeSetConfigurations();
+		Map<String, ElementTypeSetConfiguration> map = elementTypeSetConfigurations.get(SysMLServiceTypeUtil.SYSML16_CONTEXT_ID);
+		ElementTypeSetConfiguration elementTypeSetConfiguration = map.get("org.eclipse.papyrus.sysml16.service.types.elementTypeSet"); //$NON-NLS-1$
+		Assert.assertNotNull("The SysML 1.6 element type set definition is missing", elementTypeSetConfiguration); //$NON-NLS-1$
+
+	}
+
+	/**
+	 * A Class with the stereotype Viewpoint
+	 */
+	private org.eclipse.uml2.uml.Class classStereotypeViewpoint;
+
+	/**
+	 * A Class with the stereotype View
+	 */
+	private org.eclipse.uml2.uml.Class classStereotypeView;
+
+	/**
+	 * a class without stereotype
+	 */
+	private org.eclipse.uml2.uml.Class notStereotypeClass;
+
+	/**
+	 * the link conform
+	 */
+	private Abstraction conformLink;
+
+	/**
+	 * A Class with the stereotype Viewpoint to test re-orient
+	 */
+	private Class classStereotypeView2;
+
+	/**
+	 * A Class with the stereotype View to test re-orient
+	 */
+	private Class classStereotypeViewpoint2;
+
+	@Before
+	public void setUp() {
+		// Prepare test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+		Assert.assertFalse("the SysML profile must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+		StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+		classStereotypeViewpoint = model.createOwnedClass("classStereotypeViewpoint", false);
+		stereotypeApplicationHelper.applyStereotype(classStereotypeViewpoint, ModelElementsPackage.eINSTANCE.getViewpoint(), null);
+		classStereotypeView = model.createOwnedClass("classStereotypeView", false);
+		stereotypeApplicationHelper.applyStereotype(classStereotypeView, ModelElementsPackage.eINSTANCE.getView(), null);
+
+		// class not stereotyped
+		notStereotypeClass = model.createOwnedClass("notStereotypeClass", false);
+
+		// creation of the conform link
+		conformLink = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(conformLink);
+		conformLink.getClients().add(classStereotypeView);
+		conformLink.getSuppliers().add(classStereotypeViewpoint);
+		stereotypeApplicationHelper.applyStereotype(conformLink, ModelElementsPackage.eINSTANCE.getConform(), null);
+
+
+		classStereotypeView2 = model.createOwnedClass("classStereotypeView2", false);
+		stereotypeApplicationHelper.applyStereotype(classStereotypeView2, ModelElementsPackage.eINSTANCE.getView(), null);
+
+
+		classStereotypeViewpoint2 = model.createOwnedClass("classStereotypeViewpoint2", false);
+		stereotypeApplicationHelper.applyStereotype(classStereotypeViewpoint2, ModelElementsPackage.eINSTANCE.getViewpoint(), null);
+	}
+
+
+	/**
+	 * Test if the creation of conform following SysML requirements
+	 */
+	@Test
+	public void testApproveRequest() {
+		ConformReorientEditHelperAdvice conformReorientEditHelperAdvice = new ConformReorientEditHelperAdvice();
+
+		IEditCommandRequest invalidRequest = new ReorientRelationshipRequest(conformLink, notStereotypeClass, classStereotypeViewpoint, ReorientRequest.REORIENT_TARGET);
+		Assert.assertFalse("Target reorient should forbiden for a conform not linked to any elements", conformReorientEditHelperAdvice.approveRequest(invalidRequest)); //$NON-NLS-1$
+
+		IEditCommandRequest validRequest = new ReorientRelationshipRequest(conformLink, classStereotypeViewpoint2, classStereotypeViewpoint, ReorientRequest.REORIENT_TARGET);
+		Assert.assertTrue("Target reorient should allow on view point", conformReorientEditHelperAdvice.approveRequest(validRequest)); //$NON-NLS-1$
+
+		IEditCommandRequest invalidRequest2 = new ReorientRelationshipRequest(conformLink, notStereotypeClass, classStereotypeView, ReorientRequest.REORIENT_SOURCE);
+		Assert.assertFalse("Source reotient should forbiden for a conform not linked to any elements", conformReorientEditHelperAdvice.approveRequest(invalidRequest2)); //$NON-NLS-1$
+
+		IEditCommandRequest validRequest2 = new ReorientRelationshipRequest(conformLink, classStereotypeView2, classStereotypeView, ReorientRequest.REORIENT_SOURCE);
+		Assert.assertTrue("Source reorient should should allow on view ", conformReorientEditHelperAdvice.approveRequest(validRequest2)); //$NON-NLS-1$
+
+
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/advice/DirectedRelationshipPropertyPathEditHelperAdviceTest.java b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/advice/DirectedRelationshipPropertyPathEditHelperAdviceTest.java
new file mode 100644
index 0000000..806ecd0
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/advice/DirectedRelationshipPropertyPathEditHelperAdviceTest.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.tests.advice;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.service.types.advice.DirectedRelationshipPropertyPathEditHelperAdvice;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Model;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test class for DirectedRelationshipPropertyPathEditHelperAdvice
+ */
+public class DirectedRelationshipPropertyPathEditHelperAdviceTest {
+
+	@BeforeClass
+	public static void loadSysml16Definition() {
+		ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+		Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = instance.getElementTypeSetConfigurations();
+		Map<String, ElementTypeSetConfiguration> map = elementTypeSetConfigurations.get(SysMLServiceTypeUtil.SYSML16_CONTEXT_ID);
+		ElementTypeSetConfiguration elementTypeSetConfiguration = map.get("org.eclipse.papyrus.sysml16.service.types.elementTypeSet"); //$NON-NLS-1$
+		Assert.assertNotNull("The SysML 1.6 element type set definition is missing", elementTypeSetConfiguration); //$NON-NLS-1$
+	}
+
+	@Before
+	public void setUp() {
+		// Prepare test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+	}
+
+
+	/**
+	 * Test if the call of after create with null parameter
+	 * Seems to happen sometimes https://bugs.eclipse.org/bugs/show_bug.cgi?id=492564
+	 */
+	@Test
+	public void testGetAfterCreateRelationshipCommand() {
+		DirectedRelationshipPropertyPathEditHelperAdvice directedRelationshipPropertyPathEditHelperAdvice = new DirectedRelationshipPropertyPathEditHelperAdvice();
+		IElementType type = ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_ALLOCATE_ABSTRACTION);
+		IEditCommandRequest invalidRequest = new CreateRelationshipRequest(null, null, type);
+		Assert.assertNull("Conform is allow from a View to a Viewpoint", directedRelationshipPropertyPathEditHelperAdvice.getAfterEditCommand(invalidRequest)); //$NON-NLS-1$
+
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/command/CreateAssociationCommandTest.java b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/command/CreateAssociationCommandTest.java
new file mode 100644
index 0000000..71055f0
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/command/CreateAssociationCommandTest.java
@@ -0,0 +1,142 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.tests.command;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.sysml16.service.types.command.CreateAssociationCommand;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CreateAssociationCommand
+ *
+ */
+public class CreateAssociationCommandTest {
+
+	
+	/**
+	 * Test method for {@link org.eclipse.papyrus.sysml16.service.types.command.CreateAssociationCommand#canExecute()}.
+	 */
+	@Test
+	public void testCanExecute() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profile must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+		
+		Class sourceClass = model.createOwnedClass("C1", false); //$NON-NLS-1$
+		Class targetClass = model.createOwnedClass("C2", false); //$NON-NLS-1$
+		Property property = sourceClass.createOwnedAttribute("P1", targetClass); //$NON-NLS-1$
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		
+		IElementType type = ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_PART);
+		ConfigureRequest validRequest = new ConfigureRequest(editingDomain, property, type);
+		CreateAssociationCommand createAssociationCommand = new CreateAssociationCommand(validRequest, null);
+		Assert.assertFalse("The createAssociationCommand should'nt be executable", createAssociationCommand.canExecute()); //$NON-NLS-1$
+	}	
+	
+	/**
+	 * Test method for {@link org.eclipse.papyrus.sysml16.service.types.command.CreateAssociationCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)}.
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */	
+	@Test
+	public void testExecution() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profile must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+		
+		Class sourceClass = model.createOwnedClass("C1", false); //$NON-NLS-1$
+		Class targetClass = model.createOwnedClass("C2", false); //$NON-NLS-1$
+		Property property = sourceClass.createOwnedAttribute("P1", targetClass); //$NON-NLS-1$
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		
+		IElementType type = ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_PART);
+		ConfigureRequest validRequest = new ConfigureRequest(editingDomain, property, type);
+		CreateAssociationCommand createAssociationCommand = new CreateAssociationCommand(validRequest, AggregationKind.COMPOSITE_LITERAL);
+		Assert.assertTrue("The createAssociationCommand should be executable", createAssociationCommand.canExecute()); //$NON-NLS-1$
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(createAssociationCommand));
+		startTransaction.commit();
+		Object result = createAssociationCommand.getCommandResult().getReturnValue();
+		Assert.assertTrue("The result of a seNestedPathCommand should be a Connector", result instanceof Property); //$NON-NLS-1$
+		Assert.assertNotNull("The association wasn't created", ((Property) result).getAssociation()); //$NON-NLS-1$
+		Assert.assertEquals("The property has the wrong aggregation",AggregationKind.COMPOSITE_LITERAL, ((Property) result).getAggregation()); //$NON-NLS-1$
+	}
+
+	/**
+	 * Bug 483564 :Test Undo/Redo that invert association end
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */	
+	@Test
+	public void testExecutionUndoRedo() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profile must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+		
+		Class sourceClass = model.createOwnedClass("C1", false); //$NON-NLS-1$
+		Class targetClass = model.createOwnedClass("C2", false); //$NON-NLS-1$
+		Property property = sourceClass.createOwnedAttribute("P1", targetClass); //$NON-NLS-1$
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		
+		IElementType type = ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_PART);
+		ConfigureRequest validRequest = new ConfigureRequest(editingDomain, property, type);
+		CreateAssociationCommand createAssociationCommand = new CreateAssociationCommand(validRequest, AggregationKind.COMPOSITE_LITERAL);
+		Assert.assertTrue("The createAssociationCommand should be executable", createAssociationCommand.canExecute()); //$NON-NLS-1$
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(createAssociationCommand));
+		startTransaction.commit();
+		Object result = createAssociationCommand.getCommandResult().getReturnValue();
+		Assert.assertTrue("The result of a seNestedPathCommand should be a Connector", result instanceof Property); //$NON-NLS-1$
+		Association association = ((Property) result).getAssociation();
+		Assert.assertNotNull("The association wasn't created", association); //$NON-NLS-1$
+		EList<Property> memberEnds = association.getMemberEnds();
+		// save the reference of the first execution
+		Property firstDoMemberEnd = memberEnds.get(0);
+		Property secondDoMemberEnd = memberEnds.get(1);
+		editingDomain.getCommandStack().undo();
+		editingDomain.getCommandStack().redo();
+		Assert.assertEquals("The first member end should stay the same",firstDoMemberEnd, association.getMemberEnds().get(0)); //$NON-NLS-1$
+		Assert.assertEquals("The second member end should stay the same",secondDoMemberEnd, association.getMemberEnds().get(1)); //$NON-NLS-1$
+	}
+	
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/command/UpdateNestedPathConnectorEndTest.java b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/command/UpdateNestedPathConnectorEndTest.java
new file mode 100644
index 0000000..3aa144a
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/command/UpdateNestedPathConnectorEndTest.java
@@ -0,0 +1,188 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.tests.command;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.papyrus.sysml16.service.types.command.UpdateNestedPathConnectorEnd;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test class for connector creation
+ */
+public class UpdateNestedPathConnectorEndTest {
+
+	private ResourceSetImpl resourceSet;
+
+	private Model model;
+	private org.eclipse.uml2.uml.Class blockRoot;
+	private Property p1;
+	private Property p2;
+	private Property p3;
+
+	private Node p1View;
+	private Node p2View;
+	private Node p3ViewInP1;
+	private Node p3ViewInP2;
+
+	/**
+	 * Data structure:
+	 * | blockRoot 		| | classType 	   |
+	 * |----------------| |----------------|
+	 * | p1 : classType | | p3 : classType |
+	 * | p2 : classType | | 			   |
+	 * 
+	 * View structure:
+	 * +-------------------------+
+	 * |      blockRootView      |
+	 * +-------------------------+
+	 * |   p1View   |   p2View   |
+	 * |+----------+|+----------+|
+	 * ||p3ViewInP1|||p3ViewInP2||
+	 * |+----------+|+----------+|
+	 * +-------------------------+
+	 * 
+	 */
+	@Before
+	public void setUp() {
+		// Prepare test
+		resourceSet = new ResourceSetImpl();
+		model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		// Data structure
+		StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+		blockRoot = model.createOwnedClass("blockClass", false); //$NON-NLS-1$
+		stereotypeApplicationHelper.applyStereotype(blockRoot, BlocksPackage.eINSTANCE.getBlock(),null);
+		Class classType = model.createOwnedClass("classType", false);
+		p1 = blockRoot.createOwnedAttribute("p1", classType); //$NON-NLS-1$
+		p2 = blockRoot.createOwnedAttribute("p2", classType); //$NON-NLS-1$
+		p3 = classType.createOwnedAttribute("p3", classType); //$NON-NLS-1$
+
+		// View structure
+		p3ViewInP1 = NotationFactory.eINSTANCE.createNode();
+		p3ViewInP1.setElement(p3);
+		
+		p3ViewInP2 = NotationFactory.eINSTANCE.createNode();
+		p3ViewInP2.setElement(p3);
+
+		p2View = NotationFactory.eINSTANCE.createNode();
+		p2View.setElement(p2);
+		p2View.insertChild(p3ViewInP2);
+
+		p1View = NotationFactory.eINSTANCE.createNode();
+		p1View.setElement(p1);
+		p1View.insertChild(p3ViewInP1);
+
+		Node blockRootView = NotationFactory.eINSTANCE.createNode();
+		blockRootView.setElement(blockRoot);
+		blockRootView.insertChild(p1View);
+		blockRootView.insertChild(p2View);
+	}
+
+	/**
+	 * The connector: connect the property p3 (p3ViewInP1) and the property p2 (p2View)
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void testExecution() throws InterruptedException, RollbackException {
+		Connector connector = blockRoot.createOwnedConnector("bindingConnector");
+		ConnectorEnd sourceEnd = connector.createEnd();
+		sourceEnd.setRole(p3);
+		ConnectorEnd targetEnd = connector.createEnd();
+		targetEnd.setRole(p2);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		IElementType type = ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_BINDINGCONNECTOR);
+		IEditCommandRequest validRequest = new ConfigureRequest(editingDomain, connector, type);
+		UpdateNestedPathConnectorEnd createAssociationCommand = new UpdateNestedPathConnectorEnd("UpdateNestedPathConnectorEnd test source", p3ViewInP1, validRequest, true); //$NON-NLS-1$
+		Assert.assertTrue("The createAssociationCommand should be executable", createAssociationCommand.canExecute()); //$NON-NLS-1$
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(createAssociationCommand));
+		startTransaction.commit();
+		NestedConnectorEnd stereotypeApplication = UMLUtil.getStereotypeApplication(sourceEnd, NestedConnectorEnd.class);
+		Assert.assertTrue("The sourceEnd should have a NestedConnectorEnd applied", stereotypeApplication != null); //$NON-NLS-1$
+	}
+
+	/**
+	 * Test the case when the source connector end and the target connector end roles are equals
+	 * The connector: connect the property p3 (p3ViewInP1) and the property p3 (p3ViewInP2)
+	 * 
+	 * @throws InterruptedException 
+	 * @throws RollbackException 
+	 */
+	@Test
+	public void testExecution_sourceRoleEqualTargetRole() throws InterruptedException, RollbackException {
+		Connector connector = blockRoot.createOwnedConnector("bindingConnector"); //$NON-NLS-1$
+		ConnectorEnd sourceEnd = connector.createEnd();
+		sourceEnd.setRole(p3);
+		ConnectorEnd targetEnd = connector.createEnd();
+		targetEnd.setRole(p3);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		IElementType type = ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_BINDINGCONNECTOR);
+		IEditCommandRequest validRequest = new ConfigureRequest(editingDomain, connector, type);
+		
+		UpdateNestedPathConnectorEnd createAssociationCommand = new UpdateNestedPathConnectorEnd("UpdateNestedPathConnectorEnd test source", p3ViewInP1, validRequest, true); //$NON-NLS-1$
+		Assert.assertTrue("The createAssociationCommand should be executable", createAssociationCommand.canExecute()); //$NON-NLS-1$
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(createAssociationCommand));
+		startTransaction.commit();
+		NestedConnectorEnd stereotypeApplication = UMLUtil.getStereotypeApplication(sourceEnd, NestedConnectorEnd.class);
+		Assert.assertTrue("The sourceEnd should have a NestedConnectorEnd applied", stereotypeApplication != null);
+		
+		UpdateNestedPathConnectorEnd createAssociationCommandTarget = new UpdateNestedPathConnectorEnd("UpdateNestedPathConnectorEnd test target", p3ViewInP2, validRequest, false); //$NON-NLS-1$
+		Assert.assertTrue("The createAssociationCommand should be executable", createAssociationCommandTarget.canExecute()); //$NON-NLS-1$
+
+		InternalTransaction startTransactionTarget = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(createAssociationCommandTarget));
+		startTransactionTarget.commit();
+		NestedConnectorEnd stereotypeApplicationTarget = UMLUtil.getStereotypeApplication(targetEnd, NestedConnectorEnd.class);
+		Assert.assertTrue("The targetEnd should have a NestedConnectorEnd applied", stereotypeApplicationTarget != null); //$NON-NLS-1$
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/util/ConnectorUtilTest.java b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/util/ConnectorUtilTest.java
new file mode 100644
index 0000000..9205adf
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/util/ConnectorUtilTest.java
@@ -0,0 +1,149 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.tests.util;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.papyrus.sysml16.service.types.util.ConnectorUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.junit.Test;
+
+public class ConnectorUtilTest {
+
+	/**
+	 * Data structure:
+	 * | clazzRoot 		|
+	 * | P1: clazzType1 |
+	 * 
+	 * | clazzType1 	| | clazzType2 	   | | clazzType3     |
+	 * | P2: clazzType2 | | P3: clazzType3 | | P4: clazzType1 |
+	 * 
+	 * View structure:
+	 * |clazzRootViewNode |
+	 * | |p1View  		 ||
+	 * | | |p2View 	   	|||
+	 * | | | |p3View    |||
+	 * | | | | |p4View ||||
+	 * 
+	 * results:
+	 * - nested path for p4View : {P1, P2, P3}
+	 * - nested path for p2View : {P1}
+	 * 
+	 * [SysML 1.6 - 8.3.2.9]: "The ordering of properties is from a property of the context block, through a 
+	 * property of each intermediate block that types the preceding property, ending in a property with a type
+	 * that owns or inherits the fully nested property."
+	 */
+	@Test
+	public void testGetNestedPath() {
+		// Data structure
+		Class clazzRoot = UMLFactory.eINSTANCE.createClass();
+		Class clazzType1 = UMLFactory.eINSTANCE.createClass();
+		Class clazzType2 = UMLFactory.eINSTANCE.createClass();
+		Class clazzType3 = UMLFactory.eINSTANCE.createClass();
+		Property p1 = clazzRoot.createOwnedAttribute("P1", clazzType1); //$NON-NLS-1$
+		Property p2 = clazzType1.createOwnedAttribute("P2", clazzType2); //$NON-NLS-1$
+		Property p3 = clazzType2.createOwnedAttribute("P3", clazzType3); //$NON-NLS-1$
+		Property p4 = clazzType3.createOwnedAttribute("P4", clazzType1); //$NON-NLS-1$
+
+		// View structure
+		Node p4View = NotationFactory.eINSTANCE.createNode();
+		p4View.setElement(p4);
+
+		Node p3View = NotationFactory.eINSTANCE.createNode();
+		p3View.setElement(p3);
+		p3View.insertChild(p4View);
+
+		Node p2View = NotationFactory.eINSTANCE.createNode();
+		p2View.setElement(p2);
+		p2View.insertChild(p3View);
+
+		Node p1View = NotationFactory.eINSTANCE.createNode();
+		p1View.setElement(p1);
+		p1View.insertChild(p2View);
+
+		Node clazzRootViewNode = NotationFactory.eINSTANCE.createNode();
+		clazzRootViewNode.setElement(clazzRoot);
+		clazzRootViewNode.insertChild(p1View);
+
+		List<Property> nestedPath = ConnectorUtil.getNestedPath(clazzRoot, p4View);
+		assertEquals("Wrong nested path, expected {P1, P2, P3}", Arrays.asList(p1, p2, p3), nestedPath); //$NON-NLS-1$
+		
+		nestedPath = ConnectorUtil.getNestedPath(clazzRoot, p2View);
+		assertTrue("Wrong nested path, expected {P1}", nestedPath.size() == 1 && nestedPath.get(0) == p1); //$NON-NLS-1$
+	}
+
+	/**
+	 * Data structure:
+	 * | clazzRoot 		|
+	 * | P1: clazzType1 |
+	 * | P2: clazzType1 |
+	 * 
+	 * | clazzType	 	|
+	 * | P3: clazzType1 |
+	 * 
+	 * View structure:
+	 * +-------------------------+
+	 * |      clazzRootView      |
+	 * +-------------------------+
+	 * |   p1View   |   p2View   |
+	 * |+----------+|+----------+|
+	 * ||p3ViewInP1|||p3ViewInP2||
+	 * |+----------+|+----------+|
+	 * +-------------------------+
+	 */
+	@Test
+	public void testGetNestedPath_sameProperty_differentView() {
+		Class clazzRoot = UMLFactory.eINSTANCE.createClass();
+		Class clazzType = UMLFactory.eINSTANCE.createClass();
+		Property p1 = clazzRoot.createOwnedAttribute("P1", clazzType); //$NON-NLS-1$
+		Property p2 = clazzRoot.createOwnedAttribute("P2", clazzType); //$NON-NLS-1$
+		Property p3 = clazzType.createOwnedAttribute("P3", clazzType); //$NON-NLS-1$
+	
+		Node p3ViewInpP1 = NotationFactory.eINSTANCE.createNode();
+		p3ViewInpP1.setElement(p3);
+		
+		Node p3ViewInpP2 = NotationFactory.eINSTANCE.createNode();
+		p3ViewInpP2.setElement(p3);
+		
+		Node p2View = NotationFactory.eINSTANCE.createNode();
+		p2View.setElement(p2);
+		p2View.insertChild(p3ViewInpP2);
+		
+		Node p1View = NotationFactory.eINSTANCE.createNode();
+		p1View.setElement(p1);
+		p1View.insertChild(p3ViewInpP1);
+		
+		Node clazzRootView = NotationFactory.eINSTANCE.createNode();
+		clazzRootView.setElement(clazzRoot);
+		clazzRootView.insertChild(p1View);
+		clazzRootView.insertChild(p2View);
+		
+		List<Property> nestedPath = ConnectorUtil.getNestedPath(clazzRoot, p3ViewInpP1);
+		assertEquals("Wrong nested path, expected {P1}", Arrays.asList(p1), nestedPath); //$NON-NLS-1$
+		
+		nestedPath = ConnectorUtil.getNestedPath(clazzRoot, p3ViewInpP2);
+		assertEquals("Wrong nested path, expected {P2}", Arrays.asList(p2), nestedPath); //$NON-NLS-1$
+	
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/util/SysMLServiceTypeUtilTest.java b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/util/SysMLServiceTypeUtilTest.java
new file mode 100644
index 0000000..bc52d83
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.service.types.tests/src/org/eclipse/papyrus/sysml16/service/types/tests/util/SysMLServiceTypeUtilTest.java
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.tests.util;
+
+import java.lang.reflect.Field;
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * The class should test that all constant in SysMLServiceTypeUtil should be referring
+ * to an existing element type
+ */
+public class SysMLServiceTypeUtilTest {
+
+	/**
+	 * Check that the required element type set are correctly loaded
+	 */
+	@BeforeClass
+	public static void loadSysml16Defintion() {
+		ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+		Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = instance.getElementTypeSetConfigurations();
+		Map<String, ElementTypeSetConfiguration> map = elementTypeSetConfigurations.get(SysMLServiceTypeUtil.SYSML16_CONTEXT_ID);
+		ElementTypeSetConfiguration elementTypeSetConfiguration = map.get("org.eclipse.papyrus.sysml16.service.types.elementTypeSet"); //$NON-NLS-1$
+		Assert.assertNotNull("The SysML 1.6 element type set definition is missing", elementTypeSetConfiguration); //$NON-NLS-1$
+		ElementTypeSetConfiguration elementTypeSetConfigurationExtension = map.get("org.eclipse.papyrus.sysml16.service.types.elementTypeSet.extension"); //$NON-NLS-1$
+		Assert.assertNotNull("The SysML 1.6 element type set extension definition is missing", elementTypeSetConfigurationExtension); //$NON-NLS-1$
+
+	}
+
+
+	/**
+	 * Check that each field is referencing an existing element type
+	 * 
+	 * @throws IllegalArgumentException
+	 * @throws IllegalAccessException
+	 * @throws ServiceException
+	 */
+	@Test
+	public void testElementTypeIdsDefinedAsConstant() throws IllegalArgumentException, IllegalAccessException, ServiceException {
+		Field[] declaredFields = SysMLServiceTypeUtil.class.getDeclaredFields();
+		for (int i = 0; i < declaredFields.length; i++) {
+			Field field = declaredFields[i];
+			if (field.isAccessible()) {
+				String name = field.getName();
+				Object value = field.get(SysMLServiceTypeUtil.class);
+				Assert.assertTrue(name + " value should define as a String", value instanceof String); //$NON-NLS-1$
+				boolean knownElementType = SysMLServiceTypeUtil.isKnown((String) value);
+				Assert.assertTrue(name + " value should define an existing elementtype id", knownElementType); //$NON-NLS-1$
+			}
+		}
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/.classpath b/tests/core/org.eclipse.papyrus.sysml16.tests/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/.project b/tests/core/org.eclipse.papyrus.sysml16.tests/.project
new file mode 100644
index 0000000..3c63e94
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/.settings/edu.umd.cs.findbugs.core.prefs b/tests/core/org.eclipse.papyrus.sysml16.tests/.settings/edu.umd.cs.findbugs.core.prefs
new file mode 100644
index 0000000..f181167
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/.settings/edu.umd.cs.findbugs.core.prefs
@@ -0,0 +1,143 @@
+#FindBugs User Preferences
+#Mon Aug 31 10:31:13 CEST 2015
+cloud_id=edu.umd.cs.findbugs.cloud.doNothingCloud
+detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true
+detectorAtomicityProblem=AtomicityProblem|true
+detectorBadAppletConstructor=BadAppletConstructor|false
+detectorBadResultSetAccess=BadResultSetAccess|true
+detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true
+detectorBadUseOfReturnValue=BadUseOfReturnValue|true
+detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true
+detectorBooleanReturnNull=BooleanReturnNull|true
+detectorCallToUnsupportedMethod=CallToUnsupportedMethod|false
+detectorCheckExpectedWarnings=CheckExpectedWarnings|false
+detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true
+detectorCheckRelaxingNullnessAnnotation=CheckRelaxingNullnessAnnotation|true
+detectorCheckTypeQualifiers=CheckTypeQualifiers|true
+detectorCloneIdiom=CloneIdiom|true
+detectorComparatorIdiom=ComparatorIdiom|true
+detectorConfusedInheritance=ConfusedInheritance|true
+detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true
+detectorCovariantArrayAssignment=CovariantArrayAssignment|false
+detectorCrossSiteScripting=CrossSiteScripting|true
+detectorDefaultEncodingDetector=DefaultEncodingDetector|true
+detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true
+detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true
+detectorDontIgnoreResultOfPutIfAbsent=DontIgnoreResultOfPutIfAbsent|true
+detectorDontUseEnum=DontUseEnum|true
+detectorDroppedException=DroppedException|true
+detectorDumbMethodInvocations=DumbMethodInvocations|true
+detectorDumbMethods=DumbMethods|true
+detectorDuplicateBranches=DuplicateBranches|true
+detectorEmptyZipFileEntry=EmptyZipFileEntry|false
+detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true
+detectorExplicitSerialization=ExplicitSerialization|true
+detectorFinalizerNullsFields=FinalizerNullsFields|true
+detectorFindBadCast2=FindBadCast2|true
+detectorFindBadForLoop=FindBadForLoop|true
+detectorFindCircularDependencies=FindCircularDependencies|false
+detectorFindComparatorProblems=FindComparatorProblems|true
+detectorFindDeadLocalStores=FindDeadLocalStores|true
+detectorFindDoubleCheck=FindDoubleCheck|true
+detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true
+detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true
+detectorFindFinalizeInvocations=FindFinalizeInvocations|true
+detectorFindFloatEquality=FindFloatEquality|true
+detectorFindHEmismatch=FindHEmismatch|true
+detectorFindInconsistentSync2=FindInconsistentSync2|true
+detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true
+detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true
+detectorFindMaskedFields=FindMaskedFields|true
+detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true
+detectorFindNakedNotify=FindNakedNotify|true
+detectorFindNonShortCircuit=FindNonShortCircuit|true
+detectorFindNullDeref=FindNullDeref|true
+detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true
+detectorFindOpenStream=FindOpenStream|true
+detectorFindPuzzlers=FindPuzzlers|true
+detectorFindRefComparison=FindRefComparison|true
+detectorFindReturnRef=FindReturnRef|true
+detectorFindRoughConstants=FindRoughConstants|true
+detectorFindRunInvocations=FindRunInvocations|true
+detectorFindSelfComparison=FindSelfComparison|true
+detectorFindSelfComparison2=FindSelfComparison2|true
+detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true
+detectorFindSpinLoop=FindSpinLoop|true
+detectorFindSqlInjection=FindSqlInjection|true
+detectorFindTwoLockWait=FindTwoLockWait|true
+detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true
+detectorFindUnconditionalWait=FindUnconditionalWait|true
+detectorFindUninitializedGet=FindUninitializedGet|true
+detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true
+detectorFindUnreleasedLock=FindUnreleasedLock|true
+detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true
+detectorFindUnsyncGet=FindUnsyncGet|true
+detectorFindUseOfNonSerializableValue=FindUseOfNonSerializableValue|true
+detectorFindUselessControlFlow=FindUselessControlFlow|true
+detectorFindUselessObjects=FindUselessObjects|true
+detectorFormatStringChecker=FormatStringChecker|true
+detectorHugeSharedStringConstants=HugeSharedStringConstants|true
+detectorIDivResultCastToDouble=IDivResultCastToDouble|true
+detectorIncompatMask=IncompatMask|true
+detectorInconsistentAnnotations=InconsistentAnnotations|true
+detectorInefficientIndexOf=InefficientIndexOf|false
+detectorInefficientInitializationInsideLoop=InefficientInitializationInsideLoop|false
+detectorInefficientMemberAccess=InefficientMemberAccess|false
+detectorInefficientToArray=InefficientToArray|false
+detectorInfiniteLoop=InfiniteLoop|true
+detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true
+detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true
+detectorInitializationChain=InitializationChain|true
+detectorInitializeNonnullFieldsInConstructor=InitializeNonnullFieldsInConstructor|true
+detectorInstantiateStaticClass=InstantiateStaticClass|true
+detectorIntCast2LongAsInstant=IntCast2LongAsInstant|true
+detectorInvalidJUnitTest=InvalidJUnitTest|true
+detectorIteratorIdioms=IteratorIdioms|true
+detectorLazyInit=LazyInit|true
+detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true
+detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true
+detectorMethodReturnCheck=MethodReturnCheck|true
+detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true
+detectorMutableEnum=MutableEnum|true
+detectorMutableLock=MutableLock|true
+detectorMutableStaticFields=MutableStaticFields|true
+detectorNaming=Naming|true
+detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true
+detectorNumberConstructor=NumberConstructor|true
+detectorOptionalReturnNull=OptionalReturnNull|true
+detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true
+detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true
+detectorPublicSemaphores=PublicSemaphores|false
+detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true
+detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true
+detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true
+detectorRedundantConditions=RedundantConditions|true
+detectorRedundantInterfaces=RedundantInterfaces|true
+detectorRepeatedConditionals=RepeatedConditionals|true
+detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true
+detectorSerializableIdiom=SerializableIdiom|true
+detectorStartInConstructor=StartInConstructor|true
+detectorStaticCalendarDetector=StaticCalendarDetector|true
+detectorStringConcatenation=StringConcatenation|true
+detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true
+detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true
+detectorSwitchFallthrough=SwitchFallthrough|true
+detectorSynchronizationOnSharedBuiltinConstant=SynchronizationOnSharedBuiltinConstant|true
+detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true
+detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true
+detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true
+detectorURLProblems=URLProblems|true
+detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true
+detectorUnnecessaryMath=UnnecessaryMath|true
+detectorUnreadFields=UnreadFields|true
+detectorUselessSubclassMethod=UselessSubclassMethod|false
+detectorVarArgsProblems=VarArgsProblems|true
+detectorVolatileUsage=VolatileUsage|true
+detectorWaitInLoop=WaitInLoop|true
+detectorWrongMapIterator=WrongMapIterator|true
+detectorXMLFactoryBypass=XMLFactoryBypass|true
+detector_threshold=3
+effort=max
+filter_settings=Low|BAD_PRACTICE,CORRECTNESS,MT_CORRECTNESS,PERFORMANCE,STYLE|false|20
+filter_settings_neg=MALICIOUS_CODE,SECURITY,EXPERIMENTAL,NOISE,I18N|
+run_at_full_build=false
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/.settings/org.eclipse.core.resources.prefs b/tests/core/org.eclipse.papyrus.sysml16.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/.settings/org.eclipse.jdt.core.prefs b/tests/core/org.eclipse.papyrus.sysml16.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/.settings/org.eclipse.m2e.core.prefs b/tests/core/org.eclipse.papyrus.sysml16.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/META-INF/MANIFEST.MF b/tests/core/org.eclipse.papyrus.sysml16.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a31a365
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Bundle-ActivationPolicy: lazy
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.sysml16.tests,
+ org.eclipse.papyrus.sysml16.tests.blocks,
+ org.eclipse.papyrus.sysml16.tests.constraintblocks,
+ org.eclipse.papyrus.sysml16.tests.deprecatedelements,
+ org.eclipse.papyrus.sysml16.tests.library,
+ org.eclipse.papyrus.sysml16.tests.modelelements,
+ org.eclipse.papyrus.sysml16.tests.portsandflows,
+ org.eclipse.papyrus.sysml16.tests.requirements,
+ org.eclipse.papyrus.sysml16.tests.resources,
+ org.eclipse.papyrus.sysml16.tests.util
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Description: %Bundle-Description
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0"
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.tests
+ 
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/about.html b/tests/core/org.eclipse.papyrus.sysml16.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/core/org.eclipse.papyrus.sysml16.tests/build.properties b/tests/core/org.eclipse.papyrus.sysml16.tests/build.properties
new file mode 100644
index 0000000..24f5074
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/build.properties
@@ -0,0 +1,16 @@
+# 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 2.0
+#  which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.properties
+jars.compile.order = .
+source.. = src
+output.. = target/classes/
+src.includes = about.html
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/plugin.properties b/tests/core/org.eclipse.papyrus.sysml16.tests/plugin.properties
new file mode 100644
index 0000000..16fb88e
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/plugin.properties
@@ -0,0 +1,15 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Profile Tests
+Bundle-Description=This plug-in contains the tests for SyML 1.6 profile
+Bundle-Vendor=Eclipse Modeling Project
\ No newline at end of file
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/pom.xml b/tests/core/org.eclipse.papyrus.sysml16.tests/pom.xml
new file mode 100644
index 0000000..4ae6f51
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.core.tests</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.tests</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.tests</name>
+	<description>This plug-in contains the unit tests for SyML 1.6 profile.</description>
+</project>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/CDOIntegration.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/CDOIntegration.java
new file mode 100644
index 0000000..aa98e6d
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/CDOIntegration.java
@@ -0,0 +1,134 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests;
+
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EGenericType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.junit.Test;
+
+/**
+ * This class is here to check that the profile will work correctly with CDO
+ * The solution to have something working is:
+ *  - adding a DummyElement in the .ecore (not in the profile)
+ *  - it will generate the correct code
+ *  - this test will catch any regression
+ *  
+ *  This is clearly not a "good" solution and is open to improvement, but:
+ *    - avoid changing the profile (Keep the normative file)
+ *    - avoid using/maintain a custom generator
+ */
+public class CDOIntegration {
+
+	
+	@Test
+	public void testBlock() {
+		checkCrossResourceURIs(BlocksPackage.eINSTANCE); 
+		checkCrossResourceURIs(SysMLPackage.eINSTANCE);		
+	}
+	
+	 // This method is copy-pasted from CDOUTIL (do not modify it)
+	  public static void checkCrossResourceURIs(EPackage ePackage)
+	  {
+	    TreeIterator<EObject> it = ePackage.eAllContents();
+	    while (it.hasNext())
+	    {
+	      EObject e = it.next();
+
+	      if (e instanceof EAnnotation)
+	      {
+	        // we don't need to validate the structure of annotations. The applications that
+	        // define annotations will have to take what they can get
+	        it.prune();
+	      }
+	      else
+	      {
+	        for (EObject r : e.eCrossReferences())
+	        {
+	          EObject refTarget = null;
+
+	          if (r.eIsProxy())
+	          {
+	            String msg = "Package '%s' contains unresolved proxy '%s'"; //$NON-NLS-1$
+	            msg = String.format(msg, ePackage.getNsURI(), ((InternalEObject)r).eProxyURI());
+	            throw new IllegalStateException(msg);
+	          }
+
+	          if (r.eResource() != null && r.eResource() != e.eResource())
+	          {
+	            // It's a ref into another resource
+	            EPackage pkg = null;
+	            if (r instanceof EClassifier)
+	            {
+	              refTarget = r;
+	              pkg = ((EClassifier)r).getEPackage();
+	            }
+	            else if (r instanceof EStructuralFeature)
+	            {
+	              refTarget = r;
+	              EStructuralFeature feature = (EStructuralFeature)r;
+	              EClass ownerClass = (EClass)feature.eContainer();
+	              pkg = ownerClass.getEPackage();
+	            }
+	            else if (r instanceof EGenericType)
+	            {
+	              EGenericType genType = (EGenericType)r;
+	              EClassifier c = genType.getEClassifier();
+	              if (c != null)
+	              {
+	                refTarget = c;
+	                pkg = c.getEPackage();
+	              }
+	            }
+
+	            if (pkg == null)
+	            {
+	              continue;
+	            }
+
+	            while (pkg.getESuperPackage() != null)
+	            {
+	              pkg = pkg.getESuperPackage();
+	            }
+
+	            Resource eResource = refTarget.eResource();
+				String resourceURI = eResource.getURI().toString();
+	            if (!resourceURI.equals(pkg.getNsURI()))
+	            {
+	              String msg = "URI of the resource (%s) does not match the nsURI (%s) of the top-level package;%n" //$NON-NLS-1$
+	                  + "this can be fixed by calling Resource.setURI(URI) after loading the packages,%n" //$NON-NLS-1$
+	                  + "or by configuring a URI mapping from nsURI's to location URI's before loading the packages,%n" //$NON-NLS-1$
+	                  + "and then loading them with their nsURI's"; //$NON-NLS-1$
+	              msg = String.format(msg, resourceURI, pkg.getNsURI());
+	              throw new IllegalStateException(msg);
+	            }
+	          }
+	        }
+	      }
+	    }
+	  }
+
+	
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/SysmlProfileTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/SysmlProfileTest.java
new file mode 100644
index 0000000..e63ed3a
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/SysmlProfileTest.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests;
+
+import static org.junit.Assert.assertNotNull;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.uml2.uml.UMLPlugin;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+/**
+ * Basic test for SysML 1.6 profile.
+ */
+@RunWith(Parameterized.class)
+public class SysmlProfileTest {
+
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] {
+				{ "http://www.eclipse.org/papyrus/sysml/1.6/SysML" }, //$NON-NLS-1$
+				{ "http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities" }, //$NON-NLS-1$
+				{ "http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations" }, //$NON-NLS-1$
+				{ "http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks" }, //$NON-NLS-1$
+				{ "http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks" }, //$NON-NLS-1$
+				{ "http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements" }, //$NON-NLS-1$
+				{ "http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows" }, //$NON-NLS-1$
+				{ "http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements" }, //$NON-NLS-1$
+				{ "http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements" } //$NON-NLS-1$
+		});
+	}
+
+	private String uri;
+
+	public SysmlProfileTest(String uri) {
+		this.uri = uri;
+	}
+
+	/**
+	 * Check that we have a location for the uri
+	 * and that the location point to some existing EObject
+	 */
+	@Test
+	public void testProfilRegistration() {
+		URI location = UMLPlugin.getEPackageNsURIToProfileLocationMap().get(uri);
+		assertNotNull("Location missing for this uri :" + uri, location); //$NON-NLS-1$
+		assertNotNull("Location is refering to a non existing EObject :" + location, new ResourceSetImpl().getEObject(location, true)); //$NON-NLS-1$
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/blocks/BlockTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/blocks/BlockTest.java
new file mode 100644
index 0000000..d63b82b
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/blocks/BlockTest.java
@@ -0,0 +1,159 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.blocks;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * A test case for the model object '<em><b>Block</b></em>'.
+ * 
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.blocks.Block#getReferences <em>References</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.blocks.Block#getParts <em>Parts</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.blocks.Block#getFlowProperties <em>FlowProperties</em>}</li>
+ * </ul>
+ * </p>
+ */
+public class BlockTest {
+
+	private Block owningAgregationBlock=null;
+
+	private Block owningCompositionBlock=null;
+	
+	private Block flowPropertiesBlock=null;
+
+	/**
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	@Before
+	public void setUp()  {
+		// Prepare Model test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+		/*
+		 * create an association
+		 */
+		Class owningAgregationBlockClass1=model.createOwnedClass("Block1", false); //$NON-NLS-1$
+		owningAgregationBlock = (Block) stereotypeApplicationHelper.applyStereotype(owningAgregationBlockClass1, BlocksPackage.eINSTANCE.getBlock(),null);
+
+		Class ownedBlockClass2=model.createOwnedClass("Block2", false); //$NON-NLS-1$
+		stereotypeApplicationHelper.applyStereotype(ownedBlockClass2, BlocksPackage.eINSTANCE.getBlock(),null);
+
+		Property p1Inblock1 = owningAgregationBlockClass1.createOwnedAttribute("P1", ownedBlockClass2); //$NON-NLS-1$
+
+		Association associationAgregation = UMLFactory.eINSTANCE.createAssociation();
+		Property p1InAsso = associationAgregation.createOwnedEnd("P1", owningAgregationBlockClass1); //$NON-NLS-1$
+		associationAgregation.getMemberEnds().add(p1Inblock1);
+		associationAgregation.getMemberEnds().add(p1InAsso);
+
+		p1Inblock1.setAggregation(AggregationKind.SHARED_LITERAL);
+		p1InAsso.setAggregation(AggregationKind.NONE_LITERAL);
+
+		associationAgregation.setPackage(model);
+
+		/*
+		 * create a composition
+		 */
+		Class owningCompositionBlockClass3 = model.createOwnedClass("Block3", false); //$NON-NLS-1$
+		owningCompositionBlock = (Block) stereotypeApplicationHelper.applyStereotype(owningCompositionBlockClass3, BlocksPackage.eINSTANCE.getBlock(),null);
+
+		Property p1Inblock3 = owningCompositionBlockClass3.createOwnedAttribute("P1", ownedBlockClass2); //$NON-NLS-1$
+
+		Association compositionAssociation = UMLFactory.eINSTANCE.createAssociation();
+		Property p1InAsso3 = compositionAssociation.createOwnedEnd("P1", owningCompositionBlockClass3); //$NON-NLS-1$
+		compositionAssociation.getMemberEnds().add(p1Inblock3);
+		compositionAssociation.getMemberEnds().add(p1InAsso3);
+
+		p1Inblock3.setAggregation(AggregationKind.COMPOSITE_LITERAL);
+		p1InAsso3.setAggregation(AggregationKind.NONE_LITERAL);
+
+		compositionAssociation.setPackage(model);
+		
+		/*
+		 * create a flow property and add it to the Block
+		 */
+		Class flowPropertyClass = model.createOwnedClass("FPClass1", false); //$NON-NLS-1$
+		flowPropertiesBlock = (Block) stereotypeApplicationHelper.applyStereotype(flowPropertyClass, BlocksPackage.eINSTANCE.getBlock(),null);
+		Property p0 = flowPropertyClass.createOwnedAttribute("p0", null); //$NON-NLS-1$
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(p0, PortsAndFlowsPackage.eINSTANCE.getFlowProperty(),null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.blocks.Block#getReferences()
+	 * <em>Reference</em>}' feature getter. 
+	 * @see org.eclipse.papyrus.sysml16.blocks.Block#getReferences()
+	 */
+	@Test
+	public void testGetReferences() {  
+		/*
+		 * Test if association Aggregation is operational
+		 */
+		Assert.assertNotNull("References should not be null", owningAgregationBlock.getReferences()); //$NON-NLS-1$
+		Assert.assertEquals("References size should be 1", 1,owningAgregationBlock.getReferences().size()); //$NON-NLS-1$
+		/*
+		 * Test if association Composition is not interfering
+		 */
+		Assert.assertNotNull("References should not be null", owningCompositionBlock.getReferences()); //$NON-NLS-1$
+		Assert.assertEquals("References size should be 0", 0,owningCompositionBlock.getReferences().size()); //$NON-NLS-1$
+
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.blocks.Block#getParts()
+	 * <em>Part</em>}' feature getter. 
+	 * @see org.eclipse.papyrus.sysml16.blocks.Block#getParts()
+	 */
+	@Test
+	public void testGetParts() {  
+		/*
+		 * Test if association Composition is not interfering
+		 */
+		Assert.assertNotNull("References should not be null", owningCompositionBlock.getParts()); //$NON-NLS-1$
+		Assert.assertEquals("References size should be 1", 1,owningCompositionBlock.getParts().size()); //$NON-NLS-1$
+
+	}
+
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.blocks.Block#getFlowProperties()
+	 * <em>FlowProperty</em>}' feature getter. 
+	 * @see org.eclipse.papyrus.sysml16.blocks.Block#getFlowProperties()
+	 */
+	@Test
+	public void testGetFlowProperties() {  
+		Assert.assertNotNull("FlowProperties should not be null", flowPropertiesBlock.getFlowProperties()); //$NON-NLS-1$
+		Assert.assertEquals("FlowProperties size should be 1", 1, flowPropertiesBlock.getFlowProperties().size()); //$NON-NLS-1$
+	}
+
+} 
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/blocks/BoundReferenceTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/blocks/BoundReferenceTest.java
new file mode 100644
index 0000000..faea45e
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/blocks/BoundReferenceTest.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.blocks;
+
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.BoundReference;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * A test case for the model object '<em><b>BoundReference</b></em>'.
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.blocks.BoundReferenceTest#testGetBindingPath <em>BindingPath</em>}</li>
+ * </ul>
+ * </p>
+ */
+public class BoundReferenceTest {
+
+	private BoundReference defaultBoundReference = null;
+
+	private Property p1 = null;
+
+	/**
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	@Before
+	public void setUp() {
+		// Prepare test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+		Assert.assertFalse("the SysML profile must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+
+
+		Class composite = model.createOwnedClass("mainComposite", false); //$NON-NLS-1$
+		stereotypeApplicationHelper.applyStereotype(composite, BlocksPackage.eINSTANCE.getBlock(), null);
+		Class block1 = model.createOwnedClass("Block1", false); //$NON-NLS-1$
+		stereotypeApplicationHelper.applyStereotype(block1, BlocksPackage.eINSTANCE.getBlock(), null);
+
+		Class block2 = model.createOwnedClass("Block2", false); //$NON-NLS-1$
+		stereotypeApplicationHelper.applyStereotype(block2, BlocksPackage.eINSTANCE.getBlock(), null);
+		p1 = composite.createOwnedAttribute("P1", block1); //$NON-NLS-1$
+
+		Property p2 = composite.createOwnedAttribute("P2", block2); //$NON-NLS-1$
+		defaultBoundReference = (BoundReference) stereotypeApplicationHelper.applyStereotype(p2, BlocksPackage.eINSTANCE.getBoundReference(), null);
+
+		Connector connector = composite.createOwnedConnector("connector"); //$NON-NLS-1$
+		stereotypeApplicationHelper.applyStereotype(connector, BlocksPackage.eINSTANCE.getBindingConnector(), null);
+
+		ConnectorEnd connectorEnd1 = connector.createEnd();
+		connectorEnd1.setRole(p1);
+		stereotypeApplicationHelper.applyStereotype(connector, BlocksPackage.eINSTANCE.getNestedConnectorEnd(), null);
+
+		ConnectorEnd connectorEnd2 = connector.createEnd();
+		connectorEnd2.setRole(p2);
+		defaultBoundReference.setBoundEnd(connectorEnd1);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.blocks.BoundReference#testGetBindingPath()
+	 * <em>BindingPath</em>}' feature getter.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.blocks.BoundReference#getBindingPath()
+	 */
+	@Test
+	public void testGetBindingPath() {
+		Assert.assertNotNull("bindingpath of bound reference can never be null", defaultBoundReference.getBindingPath()); //$NON-NLS-1$
+		Assert.assertEquals("In this context the binding paht must be equals to 1", 1, defaultBoundReference.getBindingPath().size()); //$NON-NLS-1$
+		Assert.assertTrue("The boundEnd is not contained in the BindingPath", defaultBoundReference.getBindingPath().contains(p1)); //$NON-NLS-1$
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/constraintblocks/ConstraintBlockTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/constraintblocks/ConstraintBlockTest.java
new file mode 100644
index 0000000..b9b95bf
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/constraintblocks/ConstraintBlockTest.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.constraintblocks;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * A test case for the model object '<em><b>Block</b></em>'.
+ * 
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock#getParameters <em>Parameters</em>}</li>
+ * </ul>
+ * </p>
+ */
+public class ConstraintBlockTest {
+
+	private ConstraintBlock constraintBlock = null;
+
+	/**
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	@Before
+	public void setUp() {
+		// Prepare Model test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+
+		/*
+		 * Constraint blocks support a special form of compartment, with the label “parameters,” which may contain declarations for
+		 * some or all of its constraint parameters. Properties of a constraint block should be shown either in the constraints
+		 * compartment, for org eclipse uml2 create nested constraint properties, or within the parameters compartment.
+		 */
+
+		Class ownedBlockClass3 = model.createOwnedClass("Block3", false); //$NON-NLS-1$
+		stereotypeApplicationHelper.applyStereotype(ownedBlockClass3, BlocksPackage.eINSTANCE.getBlock(), null);
+
+		// The root constraintBlock
+		Class constraintBlockClass = model.createOwnedClass("ConstraintBlock", false); //$NON-NLS-1$
+		constraintBlock = (ConstraintBlock) stereotypeApplicationHelper.applyStereotype(constraintBlockClass, ConstraintBlocksPackage.eINSTANCE.getConstraintBlock(), null);
+
+		Class ownedBlockClass2 = model.createOwnedClass("Block2", false); //$NON-NLS-1$
+		stereotypeApplicationHelper.applyStereotype(ownedBlockClass2, BlocksPackage.eINSTANCE.getBlock(), null);
+
+		// create a owned property type by a ConstraintBlock
+		constraintBlockClass.createOwnedAttribute("cbProperty", constraintBlockClass); //$NON-NLS-1$
+		// create a owned property type by a Block
+		constraintBlockClass.createOwnedAttribute("uncbProperty", ownedBlockClass2); //$NON-NLS-1$
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock#getParameters()
+	 * <em>FlowProperty</em>}' feature getter.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock#getParameters
+	 */
+	@Test
+	public void testGetParameters() {
+		Assert.assertNotNull("Parameters should not be null", constraintBlock.getParameters()); //$NON-NLS-1$
+		Assert.assertEquals("Parameters size should be 1", 1, constraintBlock.getParameters().size()); //$NON-NLS-1$
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/deprecatedelements/FlowPortTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/deprecatedelements/FlowPortTest.java
new file mode 100644
index 0000000..615d15d
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/deprecatedelements/FlowPortTest.java
@@ -0,0 +1,145 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.deprecatedelements;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPortCustomImpl;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+import org.eclipse.papyrus.sysml16.util.DeprecatedElementUtil;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * A test case for the model object '
+ * <em><b>Flow Port</b></em>'.
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort#isAtomic()
+ * <em>Is Atomic</em>}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort#getIcon()
+ * <em>Get Icon</em>}</li>
+ * </ul>
+ * </p>
+ *
+ */
+public class FlowPortTest {
+
+	private Port p0 = null;
+
+	private FlowPort fpDefault = null;
+
+	private FlowPort fpOut = null;
+
+	private FlowPort fpIn = null;
+
+	/**
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	@Before
+	public void setUp() {
+		// Prepare test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+		Assert.assertFalse("the SysML profile must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		// Create classes & interface
+		Class c0 = model.createOwnedClass("c0", false); //$NON-NLS-1$
+		Interface i2 = model.createOwnedInterface("i2"); //$NON-NLS-1$
+
+		// Create type
+		PrimitiveType ptype = model.createOwnedPrimitiveType("type"); //$NON-NLS-1$
+
+		// Create ports
+		p0 = c0.createOwnedPort("p0", null); //$NON-NLS-1$
+		Port p1 = c0.createOwnedPort("p1", ptype); //$NON-NLS-1$
+		Port p2 = c0.createOwnedPort("p2", i2); //$NON-NLS-1$
+
+		// Add FlowPort stereotypes
+		StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+		fpDefault = (FlowPort) stereotypeApplicationHelper.applyStereotype(p0, DeprecatedElementsPackage.eINSTANCE.getFlowPort(), null);
+
+		fpOut = (FlowPort) stereotypeApplicationHelper.applyStereotype(p1, DeprecatedElementsPackage.eINSTANCE.getFlowPort(), null);
+		fpOut.setDirection(FlowDirectionKind.OUT);
+		fpIn = (FlowPort) stereotypeApplicationHelper.applyStereotype(p2, DeprecatedElementsPackage.eINSTANCE.getFlowPort(), null);
+		fpIn.setDirection(FlowDirectionKind.IN);
+
+		p2.setIsConjugated(true);
+
+		// Add FlowSpecification
+		stereotypeApplicationHelper.applyStereotype(i2, DeprecatedElementsPackage.eINSTANCE.getFlowSpecification(), null);
+	}
+
+	/**
+	 * Tests the '
+	 * {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort#isAtomic()
+	 * <em>Is Atomic</em>}' feature getter.
+	 *
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort#isAtomic()
+	 */
+	@Test
+	public void testIsAtomic() {
+		Assert.assertTrue("FlowPort without type is Atomic", fpDefault.isAtomic()); //$NON-NLS-1$
+		Assert.assertTrue("FlowPort type is not a FlowSpecification", fpOut.isAtomic()); //$NON-NLS-1$
+		Assert.assertFalse("FlowPort type is a FlowSpecification", fpIn.isAtomic()); //$NON-NLS-1$
+	}
+
+	/**
+	 * Tests the '
+	 * {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort#getIcon() <em>Get Icon</em>}' operation.
+	 *
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort#getIcon()
+	 * 
+	 */
+	@Test
+	public void testGetIcon() {
+		Image imageIn = FlowPortCustomImpl.getIcons(fpIn).get("FlowPort_IN"); //$NON-NLS-1$
+		Image imageOut = FlowPortCustomImpl.getIcons(fpOut).get("FlowPort_OUT"); //$NON-NLS-1$
+		Image imageInOut = FlowPortCustomImpl.getIcons(fpDefault).get("FlowPort_INOUT"); //$NON-NLS-1$
+
+		Assert.assertEquals("A Flow property with an INOUT direction must have the INOUT image", imageInOut, fpDefault.getIcon()); //$NON-NLS-1$
+		Assert.assertEquals("A Flow property with an OUT direction must have the OUT image", imageOut, fpOut.getIcon()); //$NON-NLS-1$
+		Assert.assertEquals("A Flow property with an IN direction must have the IN image", imageIn, fpIn.getIcon()); //$NON-NLS-1$
+	}
+
+	/**
+	 * Tests the '
+	 * {@link org.eclipse.papyrus.sysml16.util.DeprecatedElementUtil#isDeprecatedElement()
+	 * <em>Is Deprecated</em>}' feature getter.
+	 *
+	 * @see org.eclipse.papyrus.sysml16.util.DeprecatedElementUtil#isDeprecatedElement()
+	 */
+	@Test
+	public void testIsDeprecated() {
+		Assert.assertTrue("FlowPort is deprecated", DeprecatedElementUtil.isDeprecatedElement(p0)); //$NON-NLS-1$
+		Assert.assertTrue("FlowPort is deprecated", DeprecatedElementUtil.isDeprecatedElement(fpOut)); //$NON-NLS-1$
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/deprecatedelements/FlowSpecificationTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/deprecatedelements/FlowSpecificationTest.java
new file mode 100644
index 0000000..a998a55
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/deprecatedelements/FlowSpecificationTest.java
@@ -0,0 +1,98 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.deprecatedelements;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * A test case for the model object '<em><b>FlowSpecification</b></em>'.
+ * 
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification#getFlowProperties <em>FlowProperties</em>}</li>
+ * </ul>
+ * </p>
+ */
+public class FlowSpecificationTest {
+
+	private FlowSpecification flowSpecification=null;
+
+	/**
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	@Before
+	public void setUp()  {
+		// Prepare Model test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+		/*
+		 * create a FlowSpecification
+		 */
+		Interface flowSpecificationInterface=model.createOwnedInterface("FlowSpecification1"); //$NON-NLS-1$
+		flowSpecification = (FlowSpecification) stereotypeApplicationHelper.applyStereotype(flowSpecificationInterface, DeprecatedElementsPackage.eINSTANCE.getFlowSpecification(),null);
+
+		/*
+		 * create a flow property and add it to the FlowSpecification
+		 */
+		Property property1 = flowSpecificationInterface.createOwnedAttribute("property1", null); //$NON-NLS-1$
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(property1, PortsAndFlowsPackage.eINSTANCE.getFlowProperty(),null);
+		
+	}
+	
+	/**
+	 * @pap.req Flow specifications cannot own operations or receptions (they can only own FlowProperties)
+	 */
+	@Test
+	public void testGetOperations() { 
+		Assert.assertEquals("Operations size should be 0", 0, flowSpecification.getBase_Interface().getAllOperations().size()); //$NON-NLS-1$
+	}
+	
+	/**
+	 * @pap.req Flow specifications cannot own operations or receptions (they can only own FlowProperties)
+	 */
+	@Test
+	public void testGetReceptions() { 
+		Assert.assertEquals("Receptions size should be 0", 0, flowSpecification.getBase_Interface().getOwnedReceptions().size()); //$NON-NLS-1$
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification#getFlowProperties()
+	 * <em>FlowProperty</em>}' feature getter. 
+	 * @see org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification#getFlowProperties()
+	 */
+	@Test
+	public void testGetFlowProperties() {  
+		Assert.assertNotNull("FlowProperties should not be null", flowSpecification.getFlowProperties()); //$NON-NLS-1$
+		Assert.assertEquals("FlowProperties size should be 1", 1, flowSpecification.getFlowProperties().size()); //$NON-NLS-1$
+	}
+	
+
+
+} 
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/library/QUDVTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/library/QUDVTest.java
new file mode 100644
index 0000000..0ab8555
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/library/QUDVTest.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.library;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.sysml16.Activator;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test the QUDV model :
+ * - validate the model
+ */
+public class QUDVTest {
+
+	public static final String QUDV_PATH = Activator.PLUGIN_ID + "/resources/library/QUDV.uml"; //$NON-NLS-1$
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validatePropertiesModel() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(QUDV_PATH, true);
+		Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		// FIXME the model provided by OMG is raising warnings
+		Assert.assertEquals("The QUDV.uml model is not valid ", Diagnostic.WARNING, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/library/SysMLStandardLibraryTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/library/SysMLStandardLibraryTest.java
new file mode 100644
index 0000000..3af48d5
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/library/SysMLStandardLibraryTest.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.library;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.sysml16.Activator;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test the library model :
+ * - validate the model
+ */
+public class SysMLStandardLibraryTest {
+
+	public static final String LIBRARY_PATH = Activator.PLUGIN_ID + "/resources/library/SysML-Standard-Library.uml"; //$NON-NLS-1$
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validatePropertiesModel() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(LIBRARY_PATH, true);
+		Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The SysML-Standard-Library is not valid ", Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/modelelements/ElementGroupTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/modelelements/ElementGroupTest.java
new file mode 100644
index 0000000..503098a
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/modelelements/ElementGroupTest.java
@@ -0,0 +1,102 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.modelelements;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml16.modelelements.ElementGroup;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * A test case for the model object '<em><b>ElementGroupTest</b></em>'.
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getCriterion <em>Criterion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getSize <em>Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getMember <em>Member</em>}</li>
+ * </ul>
+ * </p>
+ */
+public class ElementGroupTest {
+
+	private static final String CRITERION = "Authored by Patrick"; //$NON-NLS-1$
+
+	private ElementGroup defaultElementgroup=null;
+
+	private Class class1=null;
+
+	private Class class2=null;
+
+	/**
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	@Before
+	public void setUp()  {
+
+		// Prepare test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+
+		Assert.assertFalse("the SysML profile must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		// Create comments & class
+		Comment defaultComment= model.createOwnedComment();
+		defaultElementgroup = (ElementGroup)StereotypeApplicationHelper.getInstance(null).applyStereotype(defaultComment, ModelElementsPackage.eINSTANCE.getElementGroup(),null);
+		defaultComment.setBody(CRITERION);
+		class1 = model.createOwnedClass("Class1", false); //$NON-NLS-1$
+		class2 = model.createOwnedClass("Class2", false); //$NON-NLS-1$
+		defaultComment.getAnnotatedElements().add(class1);
+		defaultComment.getAnnotatedElements().add(class2);
+		
+
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getCriterion()
+	 * <em>criterion</em>}' feature getter. 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getCriterion()
+	 */
+	@Test
+	public void testGetCriterion() {
+		Assert.assertEquals("The criterion of Elementgroup is badly computed, it must be equals to the body of the comment",CRITERION, defaultElementgroup.getCriterion()); //$NON-NLS-1$
+	}
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getSize()
+	 * <em>Size</em>}' feature getter. 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getSize()
+	 */
+	@Test
+	public void testGetSize() {
+		Assert.assertEquals("Size of ElementGroup is badly computed. It must contain two elements",2,defaultElementgroup.getSize()); //$NON-NLS-1$
+	}
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getMember()
+	 * <em>Member</em>}' feature getter. 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.ElementGroup#getMember()
+	 */
+	@Test
+	public void testGetMember() {
+		Assert.assertEquals("Member of elementGroup is badly computed, the content of the list member is not correct",class1,defaultElementgroup.getMember().get(0)); //$NON-NLS-1$
+		Assert.assertEquals("Member of elementGroup is badly computed, the content of the list member is not correct",class2,defaultElementgroup.getMember().get(1)); //$NON-NLS-1$
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/modelelements/StakeholderTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/modelelements/StakeholderTest.java
new file mode 100644
index 0000000..0bd52dc
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/modelelements/StakeholderTest.java
@@ -0,0 +1,86 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.modelelements;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.modelelements.Stakeholder;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * A test case for the model object '<em><b>Stakeholder</b></em>'.
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.modelelements.StakeholderTest#testGetConcern <em>Concern</em>}</li>
+ * </ul>
+ * </p>
+ */
+public class StakeholderTest {
+
+	private static final String THIS_IS_THE_BODY_OF_COMMENT2 = "this is the body of comment2"; //$NON-NLS-1$
+
+	private static final String THIS_IS_THE_BODY_OF_COMMENT1 = "this is the body of comment1"; //$NON-NLS-1$
+
+	private Stakeholder defaultStakeholder= null;
+
+	/**
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	@Before
+	public void setUp()  {
+		// Prepare test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+		
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		// Create classes & interface
+		Class defaultClass = model.createOwnedClass("defaultClass", false); //$NON-NLS-1$
+
+		// Add stakeholder stereotypes
+		defaultStakeholder = (Stakeholder)StereotypeApplicationHelper.getInstance(null).applyStereotype(defaultClass, ModelElementsPackage.eINSTANCE.getStakeholder(),null);
+		Comment comment1=UMLFactory.eINSTANCE.createComment();
+		comment1.setBody(THIS_IS_THE_BODY_OF_COMMENT1);
+		model.getOwnedComments().add(comment1);
+		Comment comment2=UMLFactory.eINSTANCE.createComment();
+		comment2.setBody(THIS_IS_THE_BODY_OF_COMMENT2);
+		model.getOwnedComments().add(comment2);
+		defaultStakeholder.getConcernList().add(comment1);
+		defaultStakeholder.getConcernList().add(comment2);
+	}
+
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder#getConcern()
+	 * <em>concern</em>}' feature getter. 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.Stakeholder#getConcern()
+	 */
+	@Test
+	public void testGetConcern() {
+		Assert.assertEquals("The derived property concern is badly calculated, the size of the list must be 2.", 2, defaultStakeholder.getConcern().size()); //$NON-NLS-1$
+		Assert.assertEquals("The derived property concern is badly calculated, the body of the first comment is not at the first place",THIS_IS_THE_BODY_OF_COMMENT1,defaultStakeholder.getConcern().get(0)); //$NON-NLS-1$
+		Assert.assertEquals("The derived property concern is badly calculated, the body of the second comment is not à the second place",THIS_IS_THE_BODY_OF_COMMENT2,defaultStakeholder.getConcern().get(1)); //$NON-NLS-1$
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/modelelements/ViewPointTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/modelelements/ViewPointTest.java
new file mode 100644
index 0000000..50ea443
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/modelelements/ViewPointTest.java
@@ -0,0 +1,113 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.modelelements;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * A test case for the model object '<em><b>ViewPoint</b></em>'.
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getConcern <em>Concern</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint#getMethod <em>Method</em>}</li>
+ * </ul>
+ * </p>
+ */
+@SuppressWarnings("nls")
+public class ViewPointTest {
+
+	private static final String THIS_IS_THE_BODY_OF_COMMENT2 = "this is the body of comment2"; //$NON-NLS-1$
+
+	private static final String THIS_IS_THE_BODY_OF_COMMENT1 = "this is the body of comment1"; //$NON-NLS-1$
+
+	private Viewpoint defaultViewpoint = null;
+
+	private Behavior ownedBehavior = null;
+
+	/**
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	@Before
+	public void setUp() {
+
+		// Prepare test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		// Create classes & interface
+		Class defaultClass = model.createOwnedClass("defaultClass", false); //$NON-NLS-1$
+
+		// Add viewPoint stereotypes
+		StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+		defaultViewpoint = (Viewpoint) stereotypeApplicationHelper.applyStereotype(defaultClass, ModelElementsPackage.eINSTANCE.getViewpoint(), null);
+		Comment comment1 = UMLFactory.eINSTANCE.createComment();
+		comment1.setBody(THIS_IS_THE_BODY_OF_COMMENT1);
+		model.getOwnedComments().add(comment1);
+		Comment comment2 = UMLFactory.eINSTANCE.createComment();
+		comment2.setBody(THIS_IS_THE_BODY_OF_COMMENT2);
+		model.getOwnedComments().add(comment2);
+		defaultViewpoint.getConcernList().add(comment1);
+		defaultViewpoint.getConcernList().add(comment2);
+		Operation createOperation = UMLFactory.eINSTANCE.createOperation();
+		createOperation.setName("View"); //$NON-NLS-1$
+		defaultClass.getOwnedOperations().add(createOperation);
+		ownedBehavior = defaultClass.createOwnedBehavior("aBehavior", UMLPackage.eINSTANCE.getActivity()); //$NON-NLS-1$
+		createOperation.getMethods().add(ownedBehavior);
+		stereotypeApplicationHelper.applyStereotype(createOperation, StandardPackage.eINSTANCE.getCreate(), null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.modelelements.viewpoint#getConcern()
+	 * <em>concern</em>}' feature getter.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.viewpoint#getConcern()
+	 */
+	@Test
+	public void testGetConcern() {
+		Assert.assertEquals("The derived property concern is badly calculated.The size of the list must 2.", 2, defaultViewpoint.getConcern().size()); //$NON-NLS-1$
+		Assert.assertEquals("The derived property concern is badly calculated. Concern must contain at the first place the body of the first comment", THIS_IS_THE_BODY_OF_COMMENT1, defaultViewpoint.getConcern().get(0)); //$NON-NLS-1$
+		Assert.assertEquals("The derived property concern is badly calculated. Concern must contain at the second place the body of the second comment", THIS_IS_THE_BODY_OF_COMMENT2, defaultViewpoint.getConcern().get(1)); //$NON-NLS-1$
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.modelelements.viewpoint#getBehavior()
+	 * <em>behavior</em>}' feature getter.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.viewpoint#getBehavior()
+	 */
+	@Test
+	public void testGetMethod() {
+		Assert.assertEquals("The derived property method is badly calculated. The size of the list must 1", 1, defaultViewpoint.getMethod().size()); //$NON-NLS-1$
+		Assert.assertEquals("The derived property method is badly calculated. The view point must contained in the list", ownedBehavior, defaultViewpoint.getMethod().get(0)); //$NON-NLS-1$
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/modelelements/ViewTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/modelelements/ViewTest.java
new file mode 100644
index 0000000..769bb00
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/modelelements/ViewTest.java
@@ -0,0 +1,105 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.modelelements;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.modelelements.Stakeholder;
+import org.eclipse.papyrus.sysml16.modelelements.View;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * A test case for the model object '<em><b>View</b></em>'.
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.modelelements.View#getViewPoint() <em>View Point</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.modelelements.View#getStakeholder() <em>Stakeholder</em>}</li>
+ * </ul>
+ * </p>
+ */
+public class ViewTest {
+
+	private Viewpoint viewpoint = null;
+
+	private View defaultView = null;
+
+	private Stakeholder stakeholder;
+
+	/**
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	@Before
+	public void setUp()  {
+
+		// Prepare test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+
+		Assert.assertFalse("the SysML profile must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		// Create class
+		Class defaultClass = model.createOwnedClass("View1", false); //$NON-NLS-1$
+
+		Class class1 = model.createOwnedClass("Viewpoint1", false); //$NON-NLS-1$
+		Class class2= model.createOwnedClass("stakeholder", false); //$NON-NLS-1$
+
+		// Add View stereotype
+
+		defaultView = (View)StereotypeApplicationHelper.getInstance(null).applyStereotype(defaultClass, ModelElementsPackage.eINSTANCE.getView(),null);
+
+		// Add ViewPoint stereotype
+		viewpoint = (Viewpoint)StereotypeApplicationHelper.getInstance(null).applyStereotype(class1, ModelElementsPackage.eINSTANCE.getViewpoint(),null);
+		stakeholder = (Stakeholder)StereotypeApplicationHelper.getInstance(null).applyStereotype(class2, ModelElementsPackage.eINSTANCE.getStakeholder(),null);
+
+
+		// create conform link based on Generalization
+		Generalization generalization=defaultClass.createGeneralization(class1);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(generalization, ModelElementsPackage.eINSTANCE.getConform(),null);
+		
+		//add stakeholder to the viewpoint
+		viewpoint.getStakeholder().add(stakeholder);
+
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.modelelements.View#getViewPoint()
+	 * <em>View Point</em>}' feature getter. 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.View#getViewPoint()
+	 */
+	@Test
+	public void testGetViewPoint() {
+		Assert.assertNotNull("The derived property viewpoint is baldy computed for View, it must not be null", defaultView.getViewPoint()); //$NON-NLS-1$
+		Assert.assertEquals("The derived property viewpoint is baldy computed for View, it must not be equal to view point",viewpoint, defaultView.getViewPoint()); //$NON-NLS-1$
+	}
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.modelelements.View#getStakeholder()
+	 * <em>Stakeholder</em>}' feature getter. 
+	 * @see org.eclipse.papyrus.sysml16.modelelements.View#getStakeholder()
+	 */
+	@Test
+	public void testGetStakeholder() {
+		Assert.assertEquals("The derived property Stakeholder is baldy computed for View, it must not be equal to 1",1, defaultView.getStakeholder().size()); //$NON-NLS-1$
+		Assert.assertTrue("The derived property Stakeholder is baldy computed for View, it must not be equal to the stakeholder",defaultView.getStakeholder().contains(stakeholder)); //$NON-NLS-1$
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/portsandflows/FlowPropertyTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/portsandflows/FlowPropertyTest.java
new file mode 100644
index 0000000..5853929
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/portsandflows/FlowPropertyTest.java
@@ -0,0 +1,105 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.portsandflows;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowPropertyCustomImpl;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * A test case for the model object '<em><b>Flow Property</b></em>'.
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.portsandflows.FlowProperty#getIcon() <em>Get Icon</em>}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysm16.portsandflows.FlowProperty#getIcon()
+ * <em>Get Icon</em>}</li>
+ * </ul>
+ * </p>
+ */
+public class FlowPropertyTest {
+
+	private FlowProperty fpIn = null;
+
+	private FlowProperty fpOut = null;
+
+	private FlowProperty fpInOut = null;
+
+	/**
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	@Before
+	public void setUp() {
+		// Prepare test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		// Create interface
+		Interface i = model.createOwnedInterface("i"); //$NON-NLS-1$
+
+		// Create properties
+		Property p0 = i.createOwnedAttribute("p0", null); //$NON-NLS-1$
+		Property p1 = i.createOwnedAttribute("p1", null); //$NON-NLS-1$
+		Property p2 = i.createOwnedAttribute("p2", null); //$NON-NLS-1$
+
+		// Add FlowPort stereotypes
+		fpIn = (FlowProperty) StereotypeApplicationHelper.getInstance(null).applyStereotype(p0, PortsAndFlowsPackage.eINSTANCE.getFlowProperty(), null);
+		fpIn.setDirection(FlowDirectionKind.IN);
+
+		fpOut = (FlowProperty) StereotypeApplicationHelper.getInstance(null).applyStereotype(p1, PortsAndFlowsPackage.eINSTANCE.getFlowProperty(), null);
+		fpOut.setDirection(FlowDirectionKind.OUT);
+
+		fpInOut = (FlowProperty) StereotypeApplicationHelper.getInstance(null).applyStereotype(p2, PortsAndFlowsPackage.eINSTANCE.getFlowProperty(), null);
+		fpInOut.setDirection(FlowDirectionKind.INOUT);
+
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysm16.portsandflows.FlowProperty#getIcon()
+	 * <em>Get Icon</em>}' operation.
+	 *
+	 * @see org.eclipse.papyrus.sysm16.portsandflows.FlowProperty#getIcon()
+	 * 
+	 */
+	@Test
+	public void testGetIcon() {
+		Image imageIn = FlowPropertyCustomImpl.getIcons(fpIn).get("FlowProperty_IN"); //$NON-NLS-1$
+		Image imageOut = FlowPropertyCustomImpl.getIcons(fpOut).get("FlowProperty_OUT"); //$NON-NLS-1$
+		Image imageInOut = FlowPropertyCustomImpl.getIcons(fpInOut).get("FlowProperty_INOUT"); //$NON-NLS-1$
+
+		Assert.assertEquals("A Flow property with an INOUT direction must have the INOUT image", imageInOut, fpInOut.getIcon()); //$NON-NLS-1$
+		Assert.assertEquals("A Flow property with an OUT direction must have the OUT image", imageOut, fpOut.getIcon()); //$NON-NLS-1$
+		Assert.assertEquals("A Flow property with an IN direction must have the IN image", imageIn, fpIn.getIcon()); //$NON-NLS-1$
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/requirements/RequirementTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/requirements/RequirementTest.java
new file mode 100644
index 0000000..f40c175
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/requirements/RequirementTest.java
@@ -0,0 +1,413 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.requirements;
+
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.requirements.TestCase;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * A test case for the model object '<em><b>Requirement</b></em>'.
+ *
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getDerived() <em>Derived</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getDerivedFrom() <em>Derived From</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getSatéisfiedBy() <em>Satisfied By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getRefinedBy() <em>Refined By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getTracedTo() <em>Traced To</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getVerifiedBy() <em>Verified By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getMaster() <em>Master</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * 
+ */
+public class RequirementTest {
+
+	private Requirement defaultReq = null;
+
+	private Class copy = null;
+
+	private Requirement copyReq = null;
+
+	private Requirement masterReq = null;
+
+	private Class derived1 = null;
+
+	private Class derived2 = null;
+
+	private Requirement derive1Req = null;
+
+	private Requirement derive2Req = null;
+
+	private Requirement derived1Req = null;
+
+	private Requirement derived2Req = null;
+
+	private Class satisfyingNE1 = null;
+
+	private Class satisfyingNE2 = null;
+
+	private Requirement satisfiedReq = null;
+
+	private Class refiningNE1 = null;
+
+	private Class refiningNE2 = null;
+
+	private Requirement refinedReq = null;
+
+	private Class traced1 = null;
+
+	private Class traced2 = null;
+
+	private Requirement traceReq = null;
+
+	private Requirement verifiedReq = null;
+
+	private TestCase testCase1 = null;
+
+	private NamedElement verifierNamedElement = null;
+
+	private TestCase testCase2 = null;
+
+	/**
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	@Before
+	public void setUp() {
+		// Prepare test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+
+		Assert.assertFalse("the SysML profile must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		// Create classes & interface
+		Class defaultClass = model.createOwnedClass("defaultClass", false); //$NON-NLS-1$
+
+		// Add Requirement stereotypes
+		defaultReq = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(defaultClass, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		// ////////////////////////////////////////////////////////////////////
+		// Prepare getMaster test elements
+		// ////////////////////////////////////////////////////////////////////
+
+		Class master = model.createOwnedClass("master", false); //$NON-NLS-1$
+		masterReq = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(master, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		copy = model.createOwnedClass("copy", false); //$NON-NLS-1$
+		copyReq = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(copy, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		// Add "copy" (Abstraction) between master and copy
+		// copy -> master
+		Abstraction copy2Master = UMLFactory.eINSTANCE.createAbstraction();
+		copy2Master.getClients().add(copy);
+		copy2Master.getSuppliers().add(master);
+		model.getPackagedElements().add(copy2Master);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(copy2Master, RequirementsPackage.eINSTANCE.getCopy(), null);
+
+		// ////////////////////////////////////////////////////////////////////
+
+		// ////////////////////////////////////////////////////////////////////
+		// Prepare getDerived / getDerivedFrom test elements
+		// ////////////////////////////////////////////////////////////////////
+
+		Class derive1 = model.createOwnedClass("d1", false); //$NON-NLS-1$
+		derive1Req = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(derive1, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		Class derive2 = model.createOwnedClass("d2", false); //$NON-NLS-1$
+		derive2Req = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(derive2, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		derived1 = model.createOwnedClass("dd1", false); //$NON-NLS-1$
+		derived1Req = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(derived1, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		derived2 = model.createOwnedClass("dd2", false); //$NON-NLS-1$
+		derived2Req = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(derived2, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		// Add "DeriveReqt" (Abstraction) between derive and derived
+		// derived1 -> derive1, derive2
+		// derived2 -> derive2
+		Abstraction d11 = UMLFactory.eINSTANCE.createAbstraction();
+		d11.getClients().add(derived1);
+		d11.getSuppliers().add(derive1);
+		model.getPackagedElements().add(d11);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(d11, RequirementsPackage.eINSTANCE.getDeriveReqt(), null);
+
+		Abstraction d12 = UMLFactory.eINSTANCE.createAbstraction();
+		d12.getClients().add(derived1);
+		d12.getSuppliers().add(derive2);
+		model.getPackagedElements().add(d12);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(d12, RequirementsPackage.eINSTANCE.getDeriveReqt(), null);
+
+		Abstraction d22 = UMLFactory.eINSTANCE.createAbstraction();
+		d22.getClients().add(derived2);
+		d22.getSuppliers().add(derive2);
+		model.getPackagedElements().add(d22);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(d22, RequirementsPackage.eINSTANCE.getDeriveReqt(), null);
+
+		// ////////////////////////////////////////////////////////////////////
+
+		// ////////////////////////////////////////////////////////////////////
+		// Prepare getSatisfiedBy test elements
+		// ////////////////////////////////////////////////////////////////////
+
+		Class satisfied = model.createOwnedClass("satisfied", false); //$NON-NLS-1$
+		satisfiedReq = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(satisfied, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		satisfyingNE1 = model.createOwnedClass("sNE1", false); //$NON-NLS-1$
+		satisfyingNE2 = model.createOwnedClass("sNE2", false); //$NON-NLS-1$
+
+		// Add "Satisfy" (Realization) between satisfyingNE(s) and satisfied
+		// requirement
+		// satisfyingNE1, satisfyingNE2 -> satisfied
+		Realization ne12S1 = UMLFactory.eINSTANCE.createRealization();
+		ne12S1.getClients().add(satisfyingNE1);
+		ne12S1.getSuppliers().add(satisfied);
+		model.getPackagedElements().add(ne12S1);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(ne12S1, RequirementsPackage.eINSTANCE.getSatisfy(), null);
+
+		Realization ne22S1 = UMLFactory.eINSTANCE.createRealization();
+		ne22S1.getClients().add(satisfyingNE2);
+		ne22S1.getSuppliers().add(satisfied);
+		model.getPackagedElements().add(ne22S1);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(ne22S1, RequirementsPackage.eINSTANCE.getSatisfy(), null);
+
+		// ////////////////////////////////////////////////////////////////////
+
+		// ////////////////////////////////////////////////////////////////////
+		// Prepare getRefinedBy test elements
+		// ////////////////////////////////////////////////////////////////////
+
+		Class refined = model.createOwnedClass("refined", false); //$NON-NLS-1$
+		refinedReq = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(refined, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		refiningNE1 = model.createOwnedClass("rNE1", false); //$NON-NLS-1$
+		refiningNE2 = model.createOwnedClass("rNE2", false); //$NON-NLS-1$
+
+		// Add "Refine" (Abstraction) between refiningNE(s) and refined
+		// requirement
+		// refiningNE1, refiningNE2 -> refined
+		Abstraction rne12S1 = UMLFactory.eINSTANCE.createAbstraction();
+		rne12S1.getClients().add(refiningNE1);
+		rne12S1.getSuppliers().add(refined);
+		model.getPackagedElements().add(rne12S1);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(rne12S1, RequirementsPackage.eINSTANCE.getRefine(), null);
+
+		Abstraction rne22S1 = UMLFactory.eINSTANCE.createAbstraction();
+		rne22S1.getClients().add(refiningNE2);
+		rne22S1.getSuppliers().add(refined);
+		model.getPackagedElements().add(rne22S1);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(rne22S1, RequirementsPackage.eINSTANCE.getRefine(), null);
+
+		// ////////////////////////////////////////////////////////////////////
+
+		// ////////////////////////////////////////////////////////////////////
+		// Prepare getTracedTo test elements
+		// ////////////////////////////////////////////////////////////////////
+
+		traced1 = model.createOwnedClass("traced1", false); //$NON-NLS-1$
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(traced1, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		traced2 = model.createOwnedClass("traced2", false); //$NON-NLS-1$
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(traced2, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		Class trace = model.createOwnedClass("trace", false); //$NON-NLS-1$
+		traceReq = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(trace, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		// Add "Trace" (Abstraction)
+		// [traced1, traced2] -> trace
+		Abstraction t11 = UMLFactory.eINSTANCE.createAbstraction();
+		t11.getClients().add(traced1);
+		t11.getSuppliers().add(trace);
+		model.getPackagedElements().add(t11);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(t11, RequirementsPackage.eINSTANCE.getTrace(), null);
+
+		Abstraction t12 = UMLFactory.eINSTANCE.createAbstraction();
+		t12.getClients().add(traced2);
+		t12.getSuppliers().add(trace);
+		model.getPackagedElements().add(t12);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(t12, RequirementsPackage.eINSTANCE.getTrace(), null);
+
+		// ////////////////////////////////////////////////////////////////////
+
+		// ////////////////////////////////////////////////////////////////////
+		// Prepare getVerifiedBy test elements
+		// ////////////////////////////////////////////////////////////////////
+
+		verifierNamedElement = model.createOwnedClass("verifierNamedElement", false); //$NON-NLS-1$
+
+		Class verified = model.createOwnedClass("verified", false); //$NON-NLS-1$
+		verifiedReq = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(verified, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		Class testClass = model.createOwnedClass("testClass", false); //$NON-NLS-1$
+		Operation op1 = testClass.createOwnedOperation("op1", null, null, null); //$NON-NLS-1$
+		Operation op2 = testClass.createOwnedOperation("op2", null, null, null); //$NON-NLS-1$
+
+		testCase1 = (TestCase) StereotypeApplicationHelper.getInstance(null).applyStereotype(op1, RequirementsPackage.eINSTANCE.getTestCase(), null);
+		testCase2 = (TestCase) StereotypeApplicationHelper.getInstance(null).applyStereotype(op2, RequirementsPackage.eINSTANCE.getTestCase(), null);
+
+		// Add "Verify" (Abstraction)
+		// testCase1, testCase2 -> verified
+		Abstraction t12V = UMLFactory.eINSTANCE.createAbstraction();
+		t12V.getClients().add(op1);
+		t12V.getSuppliers().add(verified);
+		model.getPackagedElements().add(t12V);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(t12V, RequirementsPackage.eINSTANCE.getVerify(), null);
+
+		Abstraction t22V = UMLFactory.eINSTANCE.createAbstraction();
+		t22V.getClients().add(op2);
+		t22V.getSuppliers().add(verified);
+		model.getPackagedElements().add(t22V);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(t22V, RequirementsPackage.eINSTANCE.getVerify(), null);
+
+		// Add "Verify" (Abstraction)
+		// verifierNamedElement -> verified
+		Abstraction t32V = UMLFactory.eINSTANCE.createAbstraction();
+		t32V.getClients().add(verifierNamedElement);
+		t32V.getSuppliers().add(verified);
+		model.getPackagedElements().add(t32V);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(t32V, RequirementsPackage.eINSTANCE.getVerify(), null);
+
+		// ////////////////////////////////////////////////////////////////////
+	}
+
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getDerived()
+	 * <em>Derived</em>}' feature getter.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.requirements.Requirement#getDerived()
+	 */
+	@Test
+	public void testGetDerived() {
+		Assert.assertTrue("Isolated requirement : default_req.getDerived() = []", defaultReq.getDerived().isEmpty()); //$NON-NLS-1$
+		Assert.assertTrue("Verifies : derive1_req.getDerived() = [derived1_req]", derive1Req.getDerived().contains(derived1Req)); //$NON-NLS-1$
+		Assert.assertTrue("Verifies : derive2_req.getDerived() = [derived1_req, derived2_req]", derive2Req.getDerived().contains(derived1Req)); //$NON-NLS-1$
+		Assert.assertTrue("Verifies : derive2_req.getDerived() = [derived1_req, derived2_req]", derive2Req.getDerived().contains(derived2Req)); //$NON-NLS-1$
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getDerivedFrom()
+	 * <em>Derived From</em>}' feature getter.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.requirements.Requirement#getDerivedFrom()
+	 */
+	@Test
+	public void testGetDerivedFrom() {
+		Assert.assertTrue("Isolated requirement : default_req.getDerivedFrom() = []", defaultReq.getDerivedFrom().isEmpty()); //$NON-NLS-1$
+		Assert.assertTrue("Verifies : derived2_req.getDerivedFrom() = [derive2_req]", derived2Req.getDerivedFrom().contains(derive2Req)); //$NON-NLS-1$
+		Assert.assertTrue("Verifies : derived1_req.getDerivedFrom() = [derive1_req, derive2_req]", derived1Req.getDerivedFrom().contains(derive1Req)); //$NON-NLS-1$
+		Assert.assertTrue("Verifies : derived1_req.getDerivedFrom() = [derive1_req, derive2_req]", derived1Req.getDerivedFrom().contains(derive2Req)); //$NON-NLS-1$
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getMaster()
+	 * <em>Master</em>}' feature getter.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.requirements.Requirement#getMaster()
+	 */
+	@Test
+	public void testGetMaster() {
+		Assert.assertTrue("Isolated requirement : default_req.getMaster() need to be empty", defaultReq.getMaster().isEmpty()); //$NON-NLS-1$
+		Assert.assertEquals("Try retrieving Master from Copy requirement", masterReq, copyReq.getMaster().get(0)); //$NON-NLS-1$
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getRefinedBy()
+	 * <em>Refined By</em>}' feature getter.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.requirements.Requirement#getRefinedBy()
+	 */
+	@Test
+	public void testGetRefinedBy() {
+		Assert.assertTrue("Isolated requirement : default_req.getRefinedBy() = []", defaultReq.getRefinedBy().isEmpty()); //$NON-NLS-1$
+		Assert.assertTrue("Verifies : refined_req.getRefinedBy() = [refiningNE1, refiningNE2]", refinedReq.getRefinedBy().contains(refiningNE1)); //$NON-NLS-1$
+		Assert.assertTrue("Verifies : refined_req.getRefinedBy() = [refiningNE1, refiningNE2]", refinedReq.getRefinedBy().contains(refiningNE2)); //$NON-NLS-1$
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getSatisfiedBy()
+	 * <em>Satisfied By</em>}' feature getter.
+	 *
+	 * @see org.eclipse.papyrus.sysml16.requirements.Requirement#getSatisfiedBy()
+	 */
+	@Test
+	public void testGetSatisfiedBy() {
+		Assert.assertTrue("Isolated requirement : default_req.getSatisfiedBy() = []", defaultReq.getSatisfiedBy().isEmpty()); //$NON-NLS-1$
+		Assert.assertTrue("Verifies : satisfied_req.getSatisfiedBy() = [satisfyingNE1, satisfyingNE2]", satisfiedReq.getSatisfiedBy().contains(satisfyingNE1)); //$NON-NLS-1$
+		Assert.assertTrue("Verifies : satisfied_req.getSatisfiedBy() = [satisfyingNE1, satisfyingNE2]", satisfiedReq.getSatisfiedBy().contains(satisfyingNE2)); //$NON-NLS-1$
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getTracedTo()
+	 * <em>Traced To</em>}' feature getter.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.requirements.Requirement#getTracedTo()
+	 */
+	@Test
+	public void testGetTracedTo() {
+		Assert.assertTrue("Isolated requirement : default_req.getTracedTo = []", defaultReq.getTracedTo().isEmpty()); //$NON-NLS-1$
+		// DeriveReqt / Verify / Copy inherits from Trace
+		Assert.assertFalse("Test getter through Copy (should not be taken into account see bug #352563)", masterReq.getTracedTo().contains(copy)); //$NON-NLS-1$
+		// Test getter through DeriveReqt (tracedTo = Clients)
+		Assert.assertFalse("derived1 -> [derive1_req, derive2_req] (should not be taken into account see bug #352563)", derive1Req.getTracedTo().contains(derived1)); //$NON-NLS-1$
+		Assert.assertFalse("derived1 -> [derive1_req, derive2_req] (should not be taken into account see bug #352563)", derive2Req.getTracedTo().contains(derived1)); //$NON-NLS-1$
+		Assert.assertFalse("derived2 -> [derive2_req] (should not be taken into account see bug #352563)", derive2Req.getTracedTo().contains(derived2)); //$NON-NLS-1$
+		// Should not happen...
+		// Direct test
+		Assert.assertTrue("Test getter through Verify (should not be taken into account see bug #352563)", traceReq.getTracedTo().contains(traced1)); //$NON-NLS-1$
+		Assert.assertTrue("Test getter through Verify (should not be taken into account see bug #352563)", traceReq.getTracedTo().contains(traced2)); //$NON-NLS-1$
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.papyrus.sysml16.requirements.Requirement#getVerifiedBy()
+	 * <em>Verified By</em>}' feature getter.
+	 * 
+	 * @see org.eclipse.papyrus.sysml16.requirements.Requirement#getVerifiedBy()
+	 */
+	@Test
+	public void testGetVerifiedBy() {
+		Assert.assertTrue("Isolated requirement : default_req.getVerifiedBy() = []", defaultReq.getVerifiedBy().isEmpty()); //$NON-NLS-1$
+		Assert.assertTrue("Test getVerifiedBy getter for [testCase1, testCase2, verifierNamedElement] -> verified_req", verifiedReq.getVerifiedBy().contains(testCase1.getBase_Operation())); //$NON-NLS-1$
+		Assert.assertTrue("Test getVerifiedBy getter for [testCase1, testCase2, verifierNamedElement] -> verified_req", verifiedReq.getVerifiedBy().contains(testCase2.getBase_Operation())); //$NON-NLS-1$
+		Assert.assertTrue("Test getVerifiedBy getter for [testCase1, testCase2, verifierNamedElement] -> verified_req", verifiedReq.getVerifiedBy().contains(verifierNamedElement)); //$NON-NLS-1$
+	}
+
+	/**
+	 * Verify that derived attribute is read only (Not present in the official SysML 1.6, hop fully will in SysML 1.5)
+	 * This is required to have a working copy paste in Papyrus
+	 */
+	@Test(expected = IllegalArgumentException.class)
+	public void testReadOnlyDerived() {
+		EReference derivedEReference = RequirementsPackage.eINSTANCE.getAbstractRequirement_Derived();
+		defaultReq.eSet(derivedEReference, ""); //$NON-NLS-1$
+	}
+
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/resources/ModelValidationTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/resources/ModelValidationTest.java
new file mode 100644
index 0000000..a7ad018
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/resources/ModelValidationTest.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.resources;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.sysml16.Activator;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+/**
+ * This is a parameterized test to validate all model in the plugin.
+ */
+@RunWith(Parameterized.class)
+public class ModelValidationTest {
+
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] {
+				// FIXME Invalid {"/resources/library/QUDV.uml"},
+				// FIXME Invalid {"/resources/profile/SysML.profile.uml"}, @See ProfileValidationTest
+				{ "/resources/library/SysML-Standard-Library.uml" }, //$NON-NLS-1$
+		});
+	}
+
+	private String modelPath;
+
+	public ModelValidationTest(String modelPath) {
+		this.modelPath = modelPath;
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validateModel() {
+		String fullPath = Activator.PLUGIN_ID + this.modelPath;
+		URI modelPlatformURI = URI.createPlatformPluginURI(fullPath, true);
+		Resource resource = new ResourceSetImpl().getResource(modelPlatformURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The " + modelPath + " model is invalid " + print(diagnostic), Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+	// FIXME : Something should exist in API to do that
+	private String print(Diagnostic diagnostic) {
+		List<Diagnostic> children = diagnostic.getChildren();
+		StringBuilder stringBuilder = new StringBuilder(diagnostic.getMessage());
+		for (Diagnostic diagnosticChildren : children) {
+			stringBuilder.append("\n"); //$NON-NLS-1$
+			stringBuilder.append(diagnosticChildren.getMessage());
+		}
+		return stringBuilder.toString();
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/resources/ProfileValidationTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/resources/ProfileValidationTest.java
new file mode 100644
index 0000000..5d1ed24
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/resources/ProfileValidationTest.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.resources;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.sysml16.Activator;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Specific test checking that profile doesn't have any errors (only warnings...)
+ */
+public class ProfileValidationTest {
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validateModel() {
+		String fullPath = Activator.PLUGIN_ID + "/resources/profile/SysML.profile.uml"; //$NON-NLS-1$
+		URI modelPlatformURI = URI.createPlatformPluginURI(fullPath, true);
+		Resource resource = new ResourceSetImpl().getResource(modelPlatformURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertNotEquals("The /resources/profile/SysML.profile.uml model is invalid " + print(diagnostic), Diagnostic.ERROR, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+
+	// FIXME : Something should exist in API to do that
+	private String print(Diagnostic diagnostic) {
+		List<Diagnostic> children = diagnostic.getChildren();
+		StringBuilder stringBuilder = new StringBuilder(diagnostic.getMessage());
+		for (Diagnostic diagnosticChildren : children) {
+			stringBuilder.append("\n"); //$NON-NLS-1$
+			stringBuilder.append(diagnosticChildren.getMessage());
+		}
+		return stringBuilder.toString();
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/util/DeprecatedElementUtilTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/util/DeprecatedElementUtilTest.java
new file mode 100644
index 0000000..da25617
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/util/DeprecatedElementUtilTest.java
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.util;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification;
+import org.eclipse.papyrus.sysml16.util.DeprecatedElementUtil;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Tests for deprecated utility class
+ * 
+ */
+public class DeprecatedElementUtilTest {
+
+	/**
+	 * Check that FlowPort and FlowSpecification are deprecated
+	 */
+	@Test
+	public void testIsDeprecatedElement()  {
+		// Prepare Model test
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+		Assert.assertFalse("the SysML profile must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+		Class c0 = model.createOwnedClass("class", false); //$NON-NLS-1$
+
+		// Create ports
+		Port port = c0.createOwnedPort("port", null); //$NON-NLS-1$
+
+		FlowPort fpDefault = (FlowPort) stereotypeApplicationHelper.applyStereotype(port, DeprecatedElementsPackage.eINSTANCE.getFlowPort(),null);
+
+		Assert.assertTrue("FlowPort should be deprecated", DeprecatedElementUtil.isDeprecatedElement(fpDefault)); //$NON-NLS-1$
+		Assert.assertTrue("FlowPort should be deprecated", DeprecatedElementUtil.isDeprecatedElement(port)); //$NON-NLS-1$
+		
+		Interface flowSpecificationInterface=model.createOwnedInterface("FlowSpecification1"); //$NON-NLS-1$
+		FlowSpecification flowSpecification = (FlowSpecification) stereotypeApplicationHelper.applyStereotype(flowSpecificationInterface, DeprecatedElementsPackage.eINSTANCE.getFlowSpecification(),null);
+		Assert.assertTrue("FlowSpecification should be deprecated", DeprecatedElementUtil.isDeprecatedElement(flowSpecificationInterface)); //$NON-NLS-1$
+		Assert.assertTrue("FlowSpecification should be deprecated", DeprecatedElementUtil.isDeprecatedElement(flowSpecification)); //$NON-NLS-1$
+		
+		Class blockClass=model.createOwnedClass("Block1", false); //$NON-NLS-1$
+		Block block = (Block) stereotypeApplicationHelper.applyStereotype(blockClass, BlocksPackage.eINSTANCE.getBlock(),null);
+		Assert.assertFalse("Class should not be deprecated", DeprecatedElementUtil.isDeprecatedElement(blockClass)); //$NON-NLS-1$
+		Assert.assertFalse("Block should not be deprecated", DeprecatedElementUtil.isDeprecatedElement(block));	//$NON-NLS-1$
+		
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/util/SysmlResourceTest.java b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/util/SysmlResourceTest.java
new file mode 100644
index 0000000..8f7b0b5
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.tests/src/org/eclipse/papyrus/sysml16/tests/util/SysmlResourceTest.java
@@ -0,0 +1,115 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.tests.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Basic test for Sysml 1.6 profile.
+ */
+public class SysmlResourceTest {
+
+	/**
+	 * Check that profile application lookup is well implemented
+	 */
+	@Test
+	public void testGetFirstSysMLMatchingContainerProfiledBySysMLProfile4UMLModel() {
+		// Model tree is umlModel>nestedPackage,rootPackage>secondPackage
+		Package rootPackage, secondPackage, nestedPackage;
+		Package resultPackage, pakage;
+
+		Model umlModel = UMLFactory.eINSTANCE.createModel();
+		pakage = SysMLResource.getFirstSysMLMatchingContainerProfiledBySysMLProfile(umlModel);
+		Assert.assertNull("Initial model should not match any SysML profile", pakage); //$NON-NLS-1$
+
+		nestedPackage = umlModel.createNestedPackage("myNestedPackage"); //$NON-NLS-1$
+		pakage = SysMLResource.getFirstSysMLMatchingContainerProfiledBySysMLProfile(nestedPackage);
+		Assert.assertNull("Nested package should not match any SysML profile", pakage); //$NON-NLS-1$
+
+		rootPackage = (Package) umlModel.createPackagedElement("myRootPackage", UMLPackage.eINSTANCE.getPackage()); //$NON-NLS-1$
+		resultPackage = SysMLResource.getFirstSysMLMatchingContainerProfiledBySysMLProfile(rootPackage);
+		Assert.assertNull("Root package should not match any SysML profil", resultPackage); //$NON-NLS-1$
+
+		secondPackage = (Package) rootPackage.createPackagedElement("myPackage2", UMLPackage.eINSTANCE.getPackage()); //$NON-NLS-1$
+		resultPackage = SysMLResource.getFirstSysMLMatchingContainerProfiledBySysMLProfile(pakage);
+		Assert.assertNull("Secund level package should not match any SysML profile", resultPackage); //$NON-NLS-1$
+
+		ResourceSet resourceSet = new ResourceSetImpl();
+		Resource sysmlProfileResource = resourceSet.getResource(URI.createURI(SysMLResource.PROFILE_PATH), true);
+		Profile sysmlProfile = (Profile) EcoreUtil.getObjectByType(sysmlProfileResource.getContents(), UMLPackage.Literals.PACKAGE);
+		rootPackage.applyProfile(sysmlProfile);
+		resultPackage = SysMLResource.getFirstSysMLMatchingContainerProfiledBySysMLProfile(rootPackage);
+		Assert.assertNotNull("Should retrieve a root package with SysML applied profile", resultPackage); //$NON-NLS-1$
+		Assert.assertEquals("Should retrieve the root package with SysML applied profile", rootPackage, resultPackage); //$NON-NLS-1$
+
+		resultPackage = SysMLResource.getFirstSysMLMatchingContainerProfiledBySysMLProfile(secondPackage);
+		Assert.assertNotNull("Should retrieve a root package from the level2 package with SysML applied profile", resultPackage); //$NON-NLS-1$
+		Assert.assertEquals("Should retrieve the root package from the level2 package with SysML applied profile", rootPackage, resultPackage); //$NON-NLS-1$
+	}
+
+	/**
+	 * Check that profile application lookup is well implemented
+	 */
+	@Test
+	public void testGetFirstSysMLMatchingContainerProfiledBySysMLProfile4SysMLModel() {
+		// Model tree is model>rootPackage>secondPackage
+		Package rootPackage, secondPackage;
+		Package resultPackage;
+
+		Model model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty()); //$NON-NLS-1$
+
+		resultPackage = SysMLResource.getFirstSysMLMatchingContainerProfiledBySysMLProfile(model);
+		Assert.assertNotNull("Model is the first lvel with SysML applied profil", resultPackage); //$NON-NLS-1$
+		Assert.assertEquals(model, resultPackage);
+
+		rootPackage = (Package) model.createPackagedElement("rootPackage", UMLPackage.eINSTANCE.getPackage()); //$NON-NLS-1$
+		resultPackage = SysMLResource.getFirstSysMLMatchingContainerProfiledBySysMLProfile(rootPackage);
+		Assert.assertNotNull("Should retrieve a package", resultPackage); //$NON-NLS-1$
+		Assert.assertEquals("Should retrieve the root model", model, resultPackage); //$NON-NLS-1$
+
+		secondPackage = (Package) rootPackage.createPackagedElement("myPackage2", UMLPackage.eINSTANCE.getPackage()); //$NON-NLS-1$
+		resultPackage = SysMLResource.getFirstSysMLMatchingContainerProfiledBySysMLProfile(secondPackage);
+		Assert.assertNotNull("Should retrieve a result from the level2 package", resultPackage); //$NON-NLS-1$
+		Assert.assertEquals("Should retrieve the root model", model, resultPackage); //$NON-NLS-1$
+
+		ResourceSet resourceSet = new ResourceSetImpl();
+		Resource sysmlProfileResource = resourceSet.getResource(URI.createURI(SysMLResource.PROFILE_PATH), true);
+		Profile sysmlProfile = (Profile) EcoreUtil.getObjectByType(sysmlProfileResource.getContents(), UMLPackage.Literals.PACKAGE);
+		rootPackage.applyProfile(sysmlProfile);
+		resultPackage = SysMLResource.getFirstSysMLMatchingContainerProfiledBySysMLProfile(rootPackage);
+		Assert.assertNotNull("Should retrieve a package with applied sysml profil", resultPackage); //$NON-NLS-1$
+		Assert.assertEquals("Should retrieve the root package with applied sysml profil", rootPackage, resultPackage); //$NON-NLS-1$
+
+		resultPackage = SysMLResource.getFirstSysMLMatchingContainerProfiledBySysMLProfile(secondPackage);
+		Assert.assertNotNull("Should retrieve a package from the level2 package with applied sysml profil ", resultPackage); //$NON-NLS-1$
+		Assert.assertEquals("Should retrieve the root package from the level2 package with applied sysml profil", rootPackage, resultPackage); //$NON-NLS-1$
+
+	}
+
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/.classpath b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/.project b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/.project
new file mode 100644
index 0000000..c8c94f4
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.validation.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>		
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>	
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/.settings/org.eclipse.jdt.core.prefs b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/META-INF/MANIFEST.MF b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..6dc0374
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.validation.tests
+Bundle-Version: 1.0.0.qualifier
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.papyrus.uml.service.validation;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.sysml16.validation;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.services.validation;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Localization: plugin
+Export-Package: org.eclipse.papyrus.sysml16.validation.tests.ocl,
+ org.eclipse.papyrus.sysml16.validation.tests.rules.activities,
+ org.eclipse.papyrus.sysml16.validation.tests.rules.allocations,
+ org.eclipse.papyrus.sysml16.validation.tests.rules.blocks,
+ org.eclipse.papyrus.sysml16.validation.tests.rules.modelelements,
+ org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows,
+ org.eclipse.papyrus.sysml16.validation.tests.rules.requirements
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.validation.tests
+Bundle-Vendor: %Bundle-Vendor
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/about.html b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/core/org.eclipse.papyrus.sysml16.validation.tests/build.properties b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/build.properties
new file mode 100644
index 0000000..73dca0f
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.properties,\
+               about.html
+src.includes = about.html
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/plugin.properties b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/plugin.properties
new file mode 100644
index 0000000..debe133
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/plugin.properties
@@ -0,0 +1,15 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Validation Test
+Bundle-Description=This plug-in contains test for SyML 1.6 model validation
+Bundle-Vendor=Eclipse Modeling Project
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/pom.xml b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/pom.xml
new file mode 100644
index 0000000..56b2ac4
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.core.tests</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.validation.tests</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.validation.tests</name>
+	<description>This plug-in contains the unit tests for SyML 1.6 ocl validation.</description>
+</project>
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/ocl/RequirementIdTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/ocl/RequirementIdTest.java
new file mode 100644
index 0000000..b44360a
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/ocl/RequirementIdTest.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.ocl;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on RequirementId constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class RequirementIdTest {
+
+	public static final String CONSTRAINT_ID = "constraint.requirement.requireId"; 
+
+	/**
+	 * Test method for {@link org.eclipse.papyrus.sysml16.service.types.command.SetNestedPathCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)}.
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+		
+		Class valid = model.createOwnedClass("valid", false);
+		Requirement req1 = (Requirement)StereotypeApplicationHelper.getInstance(null).applyStereotype(valid, RequirementsPackage.eINSTANCE.getRequirement(),null);
+		req1.setId("1");
+		Class invalid = model.createOwnedClass("invalid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalid, RequirementsPackage.eINSTANCE.getRequirement(),null);	
+		
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+		
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing "+CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+				
+		Assert.assertEquals("The rule "+CONSTRAINT_ID+" should not trigger an issue for this requirement", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, valid).size());
+		Assert.assertEquals("The rule "+CONSTRAINT_ID+" should trigger an issue for this requirement", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalid).size());		
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/ocl/RequirementTextTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/ocl/RequirementTextTest.java
new file mode 100644
index 0000000..746bfd6
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/ocl/RequirementTextTest.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.ocl;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on RequirementId constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class RequirementTextTest {
+
+	public static final String CONSTRAINT_ID = "constraint.requirement.requireText";
+
+	/**
+	 * Test method for {@link org.eclipse.papyrus.sysml16.service.types.command.SetNestedPathCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)}.
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class valid = model.createOwnedClass("valid", false);
+		Requirement req1 = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(valid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		req1.setText("1");
+		Class invalid = model.createOwnedClass("invalid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this requirement", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, valid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this requirement", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/DiscreteNoContinuousModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/DiscreteNoContinuousModelConstraintTest.java
new file mode 100644
index 0000000..827c15a
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/DiscreteNoContinuousModelConstraintTest.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.activities;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on RequirementId constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class DiscreteNoContinuousModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.discrete.nocontinuous";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+		Activity activity = UMLFactory.eINSTANCE.createActivity();
+		activity.setPackage(model);
+		Parameter validParameter = activity.createOwnedParameter("validParameter", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validParameter, ActivitiesPackage.eINSTANCE.getDiscrete(), null);
+
+		Parameter invalidParameter = activity.createOwnedParameter("invalidParameter", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidParameter, ActivitiesPackage.eINSTANCE.getDiscrete(), null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidParameter, ActivitiesPackage.eINSTANCE.getContinuous(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validParameter).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidParameter).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/NoBufferNoOverwriteModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/NoBufferNoOverwriteModelConstraintTest.java
new file mode 100644
index 0000000..94ca80d
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/NoBufferNoOverwriteModelConstraintTest.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.activities;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on RequirementId constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class NoBufferNoOverwriteModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.nobuffer.nooverwrite";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+		Activity activity = UMLFactory.eINSTANCE.createActivity();
+		activity.setPackage(model);
+		StructuredActivityNode structuredNode = activity.createStructuredNode("StructuredNode");
+		InputPin validStructuredNodeInput = structuredNode.createStructuredNodeInput("validStructuredNodeInput", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validStructuredNodeInput, ActivitiesPackage.eINSTANCE.getNoBuffer(), null);
+
+		InputPin invalidStructuredNodeInput = structuredNode.createStructuredNodeInput("invalidStructuredNodeInput", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidStructuredNodeInput, ActivitiesPackage.eINSTANCE.getNoBuffer(), null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidStructuredNodeInput, ActivitiesPackage.eINSTANCE.getOverwrite(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validStructuredNodeInput).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidStructuredNodeInput).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/OptionalMultiplicityModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/OptionalMultiplicityModelConstraintTest.java
new file mode 100644
index 0000000..b304a47
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/OptionalMultiplicityModelConstraintTest.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.activities;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on RequirementId constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class OptionalMultiplicityModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.optional.multiplicity";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+		Activity activity = UMLFactory.eINSTANCE.createActivity();
+		activity.setPackage(model);
+		Parameter validParameter = activity.createOwnedParameter("validParameter", null);
+		validParameter.setLower(0);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validParameter, ActivitiesPackage.eINSTANCE.getOptional(), null);
+
+		Parameter invalidParameter = activity.createOwnedParameter("invalidParameter", null);
+		invalidParameter.setLower(1);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidParameter, ActivitiesPackage.eINSTANCE.getOptional(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validParameter).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidParameter).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/OverwriteNoNoBufferModelConstraintModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/OverwriteNoNoBufferModelConstraintModelConstraintTest.java
new file mode 100644
index 0000000..2d15211
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/OverwriteNoNoBufferModelConstraintModelConstraintTest.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.activities;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class OverwriteNoNoBufferModelConstraintModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.overwrite.nonobuffer";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+		Activity activity = UMLFactory.eINSTANCE.createActivity();
+		activity.setPackage(model);
+		StructuredActivityNode structuredNode = activity.createStructuredNode("StructuredNode");
+		InputPin validStructuredNodeInput = structuredNode.createStructuredNodeInput("validStructuredNodeInput", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validStructuredNodeInput, ActivitiesPackage.eINSTANCE.getOverwrite(), null);
+
+		InputPin invalidStructuredNodeInput = structuredNode.createStructuredNodeInput("invalidStructuredNodeInput", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidStructuredNodeInput, ActivitiesPackage.eINSTANCE.getOverwrite(), null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidStructuredNodeInput, ActivitiesPackage.eINSTANCE.getNoBuffer(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validStructuredNodeInput).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidStructuredNodeInput).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/RateParameterIsStreamModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/RateParameterIsStreamModelConstraintTest.java
new file mode 100644
index 0000000..1d83698
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/activities/RateParameterIsStreamModelConstraintTest.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.activities;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on RequirementId constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class RateParameterIsStreamModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.rate.parameterisstream";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+		Activity activity = UMLFactory.eINSTANCE.createActivity();
+		activity.setPackage(model);
+
+		Parameter validParameter = activity.createOwnedParameter("validParameter", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validParameter, ActivitiesPackage.eINSTANCE.getRate(), null);
+		validParameter.setIsStream(true);
+
+		Parameter invalidParameter = activity.createOwnedParameter("invalidParameter", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidParameter, ActivitiesPackage.eINSTANCE.getRate(), null);
+		invalidParameter.setIsStream(false);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validParameter).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidParameter).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/allocations/AllocateOneClientSupplierModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/allocations/AllocateOneClientSupplierModelConstraintTest.java
new file mode 100644
index 0000000..900297c
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/allocations/AllocateOneClientSupplierModelConstraintTest.java
@@ -0,0 +1,100 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.allocations;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class AllocateOneClientSupplierModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.allocate.oneclientsupplier";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class class1 = model.createOwnedClass("Class1", false);
+		Abstraction validAbstraction = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(validAbstraction);
+		validAbstraction.getSuppliers().add(class1);
+		validAbstraction.getClients().add(class1);
+
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validAbstraction, AllocationsPackage.eINSTANCE.getAllocate(), null);
+
+		Abstraction invalidAbstraction = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(invalidAbstraction);
+		invalidAbstraction.getSuppliers().add(class1);
+		Class class2 = model.createOwnedClass("Class2", false);
+		invalidAbstraction.getSuppliers().add(class2);
+		invalidAbstraction.getClients().add(class1);
+
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidAbstraction, AllocationsPackage.eINSTANCE.getAllocate(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validAbstraction).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidAbstraction).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/allocations/AllocateOnlyAbstractionModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/allocations/AllocateOnlyAbstractionModelConstraintTest.java
new file mode 100644
index 0000000..28c0f38
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/allocations/AllocateOnlyAbstractionModelConstraintTest.java
@@ -0,0 +1,96 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.allocations;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class AllocateOnlyAbstractionModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.allocate.onlyabstraction";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Abstraction validAllocate = UMLFactory.eINSTANCE.createAbstraction();
+		validAllocate.setName("validAllocate");
+		model.getPackagedElements().add(validAllocate);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validAllocate, AllocationsPackage.eINSTANCE.getAllocate(), null);
+
+		Realization invalidAllocate = UMLFactory.eINSTANCE.createRealization();
+		invalidAllocate.setName("invalidAllocate");
+		model.getPackagedElements().add(invalidAllocate);
+
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidAllocate, AllocationsPackage.eINSTANCE.getAllocate(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validAllocate).size());
+
+		// FIXME the diagnostic is returning 2 failures instead of one
+		// Assert.assertEquals("The rule "+CONSTRAINT_ID+" should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidAllocate).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/AssociationBlockModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/AssociationBlockModelConstraintTest.java
new file mode 100644
index 0000000..c0b4873
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/AssociationBlockModelConstraintTest.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+@Ignore // test not working Selector seems to be not working
+public class AssociationBlockModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.block.associationBlock";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class validBlock = model.createOwnedClass("validBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validBlock, BlocksPackage.eINSTANCE.getBlock(), null);
+		Association validassociation = validBlock.createAssociation(true, AggregationKind.NONE_LITERAL, "", 0, 0, validBlock, true, AggregationKind.NONE_LITERAL, "", 0, 0);
+		validassociation.setPackage(model);
+
+		Class invalidBlock = model.createOwnedClass("invalidBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidBlock, BlocksPackage.eINSTANCE.getBlock(), null);
+		Association invalidassociation = invalidBlock.createAssociation(true, AggregationKind.NONE_LITERAL, "", 0, 0, invalidBlock, true, AggregationKind.NONE_LITERAL, "", 0, 0);
+		Property invalidAttribute = invalidBlock.createOwnedAttribute("invalidAttribute", null);
+		invalidassociation.getMemberEnds().add(invalidAttribute);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validassociation).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidassociation).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/BindingConnectorSameEndsTypeModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/BindingConnectorSameEndsTypeModelConstraintTest.java
new file mode 100644
index 0000000..1127627
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/BindingConnectorSameEndsTypeModelConstraintTest.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class BindingConnectorSameEndsTypeModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.bindingconnector.sameendstype";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Class clazz2 = model.createOwnedClass("Class2", false);
+		Property sameType1 = clazz.createOwnedAttribute("sameType", clazz);
+		Property sameType2 = clazz.createOwnedAttribute("sameType", clazz);
+		Property differentType = clazz.createOwnedAttribute("differentType", clazz2);
+
+		Connector validBindingConnector = clazz.createOwnedConnector("validBindingConnector");
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validBindingConnector, BlocksPackage.eINSTANCE.getBindingConnector(), null);
+
+		// Add source connector end
+		ConnectorEnd connectorEndSameType1 = UMLFactory.eINSTANCE.createConnectorEnd();
+		connectorEndSameType1.setRole(sameType1);
+		ConnectorEnd connectorEndSameType2 = UMLFactory.eINSTANCE.createConnectorEnd();
+		connectorEndSameType2.setRole(sameType2);
+		validBindingConnector.getEnds().add(connectorEndSameType1);
+		validBindingConnector.getEnds().add(connectorEndSameType2);
+
+		Connector invalidBindingConnector = clazz.createOwnedConnector("invalidBindingConnector");
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidBindingConnector, BlocksPackage.eINSTANCE.getBindingConnector(), null);
+		ConnectorEnd connectorEndDifferentType = UMLFactory.eINSTANCE.createConnectorEnd();
+		connectorEndDifferentType.setRole(differentType);
+		invalidBindingConnector.getEnds().add(connectorEndSameType1);
+		invalidBindingConnector.getEnds().add(connectorEndDifferentType);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validBindingConnector).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidBindingConnector).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/BlockPropertyCompositeModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/BlockPropertyCompositeModelConstraintTest.java
new file mode 100644
index 0000000..9420b80
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/BlockPropertyCompositeModelConstraintTest.java
@@ -0,0 +1,98 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class BlockPropertyCompositeModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.block.propertycomposite";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+		DataType valueType = UMLFactory.eINSTANCE.createDataType();
+		valueType.setPackage(model);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(valueType, BlocksPackage.eINSTANCE.getValueType(), null);
+
+		Class validBlock = model.createOwnedClass("validBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validBlock, BlocksPackage.eINSTANCE.getBlock(), null);
+		Property validAttribute = validBlock.createOwnedAttribute("validAttribute", valueType);
+		validAttribute.setAggregation(AggregationKind.COMPOSITE_LITERAL);
+
+		Class invalidBlock = model.createOwnedClass("invalidBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidBlock, BlocksPackage.eINSTANCE.getBlock(), null);
+		Property invalidAttribute = invalidBlock.createOwnedAttribute("invalidAttribute", valueType);
+		invalidAttribute.setAggregation(AggregationKind.NONE_LITERAL);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validBlock).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidBlock).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/BlockPropertyNoNameModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/BlockPropertyNoNameModelConstraintTest.java
new file mode 100644
index 0000000..b0eacbb
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/BlockPropertyNoNameModelConstraintTest.java
@@ -0,0 +1,98 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class BlockPropertyNoNameModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.block.propertynoname";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class validBlock = model.createOwnedClass("validBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validBlock, BlocksPackage.eINSTANCE.getBlock(), null);
+		Property validAttribute = validBlock.createOwnedAttribute("", validBlock);
+		Association validassociation = validBlock.createAssociation(true, AggregationKind.NONE_LITERAL, "", 0, 0, validBlock, true, AggregationKind.NONE_LITERAL, "", 0, 0);
+		validAttribute.setOwningAssociation(validassociation);
+		validassociation.getMemberEnds().add(validAttribute);
+
+		Class invalidBlock = model.createOwnedClass("invalidBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidBlock, BlocksPackage.eINSTANCE.getBlock(), null);
+		Property invalidAttribute = invalidBlock.createOwnedAttribute("invalidAttribute", invalidBlock);
+		Association invalidassociation = validBlock.createAssociation(true, AggregationKind.NONE_LITERAL, "", 0, 0, validBlock, true, AggregationKind.NONE_LITERAL, "", 0, 0);
+		invalidAttribute.setOwningAssociation(invalidassociation);
+		invalidassociation.getMemberEnds().add(invalidAttribute);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validAttribute).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidAttribute).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/BlockSpecializationModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/BlockSpecializationModelConstraintTest.java
new file mode 100644
index 0000000..0e8ef89
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/BlockSpecializationModelConstraintTest.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class BlockSpecializationModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.block.specialization";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class validBlock = model.createOwnedClass("validBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validBlock, BlocksPackage.eINSTANCE.getBlock(), null);
+
+		Class parentValidBlock = model.createOwnedClass("parentValidBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(parentValidBlock, BlocksPackage.eINSTANCE.getBlock(), null);
+		validBlock.createGeneralization(parentValidBlock);
+
+		Class invalidBlock = model.createOwnedClass("invalidBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidBlock, BlocksPackage.eINSTANCE.getBlock(), null);
+		Class invalidClass = model.createOwnedClass("invalidClass", false);
+		invalidClass.createGeneralization(invalidBlock);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validBlock).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidClass).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ClassifierBehaviorPropertyIsCompositeModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ClassifierBehaviorPropertyIsCompositeModelConstraintTest.java
new file mode 100644
index 0000000..37cb56e
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ClassifierBehaviorPropertyIsCompositeModelConstraintTest.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ClassifierBehaviorPropertyIsCompositeModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.classifierbehaviorproperty.iscomposite";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+
+		Property validClassifierBehaviorProperty = clazz.createOwnedAttribute("validClassifierBehaviorProperty", clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validClassifierBehaviorProperty, BlocksPackage.eINSTANCE.getClassifierBehaviorProperty(), null);
+		validClassifierBehaviorProperty.setAggregation(AggregationKind.COMPOSITE_LITERAL);
+
+		Property invalidClassifierBehaviorProperty = clazz.createOwnedAttribute("invalidClassifierBehaviorProperty", clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidClassifierBehaviorProperty, BlocksPackage.eINSTANCE.getClassifierBehaviorProperty(), null);
+		invalidClassifierBehaviorProperty.setAggregation(AggregationKind.NONE_LITERAL);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validClassifierBehaviorProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidClassifierBehaviorProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ClassifierBehaviorPropertyOnBlockModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ClassifierBehaviorPropertyOnBlockModelConstraintTest.java
new file mode 100644
index 0000000..f44aec4
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ClassifierBehaviorPropertyOnBlockModelConstraintTest.java
@@ -0,0 +1,95 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ClassifierBehaviorPropertyOnBlockModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.classifierbehaviorproperty.onblock";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class validBlock = model.createOwnedClass("validBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validBlock, BlocksPackage.eINSTANCE.getBlock(), null);
+		validBlock.createClassifierBehavior("validClassifierBehavior", UMLPackage.eINSTANCE.getActivity());
+
+		Property validClassifierBehaviorProperty = validBlock.createOwnedAttribute("validClassifierBehaviorProperty", validBlock);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validClassifierBehaviorProperty, BlocksPackage.eINSTANCE.getClassifierBehaviorProperty(), null);
+
+		Class invalidBlock = model.createOwnedClass("invalidBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidBlock, BlocksPackage.eINSTANCE.getBlock(), null);
+		Property invalidClassifierBehaviorProperty = invalidBlock.createOwnedAttribute("invalidClassifierBehaviorProperty", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidClassifierBehaviorProperty, BlocksPackage.eINSTANCE.getClassifierBehaviorProperty(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validClassifierBehaviorProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidClassifierBehaviorProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ClassifierBehaviorPropertyTypedByModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ClassifierBehaviorPropertyTypedByModelConstraintTest.java
new file mode 100644
index 0000000..5579ae4
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ClassifierBehaviorPropertyTypedByModelConstraintTest.java
@@ -0,0 +1,98 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ClassifierBehaviorPropertyTypedByModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.classifierbehaviorproperty.typedby";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class validBlock = model.createOwnedClass("validBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validBlock, BlocksPackage.eINSTANCE.getBlock(), null);
+		Behavior createClassifierBehavior = validBlock.createClassifierBehavior("validClassifierBehavior", UMLPackage.eINSTANCE.getActivity());
+
+		Property validClassifierBehaviorProperty = validBlock.createOwnedAttribute("validClassifierBehaviorProperty", validBlock);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validClassifierBehaviorProperty, BlocksPackage.eINSTANCE.getClassifierBehaviorProperty(), null);
+		validClassifierBehaviorProperty.setType(createClassifierBehavior);
+
+		Class invalidBlock = model.createOwnedClass("invalidBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidBlock, BlocksPackage.eINSTANCE.getBlock(), null);
+		Property invalidClassifierBehaviorProperty = invalidBlock.createOwnedAttribute("invalidClassifierBehaviorProperty", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidClassifierBehaviorProperty, BlocksPackage.eINSTANCE.getClassifierBehaviorProperty(), null);
+		invalidClassifierBehaviorProperty.setType(validBlock);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validClassifierBehaviorProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidClassifierBehaviorProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertyOnlyCompositeModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertyOnlyCompositeModelConstraintTest.java
new file mode 100644
index 0000000..5cd1cad
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertyOnlyCompositeModelConstraintTest.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ConnectorPropertyOnlyCompositeModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.connectorproperty.onlycomposite";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+
+		Property validConnectorProperty = clazz.createOwnedAttribute("validConnectorProperty", clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validConnectorProperty, BlocksPackage.eINSTANCE.getConnectorProperty(), null);
+		validConnectorProperty.setIsComposite(true);
+
+
+		Property invalidConnectorProperty = clazz.createOwnedAttribute("invalidConnectorProperty", clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidConnectorProperty, BlocksPackage.eINSTANCE.getConnectorProperty(), null);
+		invalidConnectorProperty.setIsComposite(false);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validConnectorProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidConnectorProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertyOnlyOnBlockModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertyOnlyOnBlockModelConstraintTest.java
new file mode 100644
index 0000000..b0ee996
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertyOnlyOnBlockModelConstraintTest.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ConnectorPropertyOnlyOnBlockModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.connectorproperty.onlyonblock";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Class block = model.createOwnedClass("Block", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(block, BlocksPackage.eINSTANCE.getBlock(), null);
+
+		Property validConnectorProperty = block.createOwnedAttribute("validConnectorProperty", block);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validConnectorProperty, BlocksPackage.eINSTANCE.getConnectorProperty(), null);
+
+		Property invalidConnectorProperty = clazz.createOwnedAttribute("invalidConnectorProperty", clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidConnectorProperty, BlocksPackage.eINSTANCE.getConnectorProperty(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validConnectorProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidConnectorProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertyReferOwnedConnectorModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertyReferOwnedConnectorModelConstraintTest.java
new file mode 100644
index 0000000..b28185a
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertyReferOwnedConnectorModelConstraintTest.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ConnectorPropertyReferOwnedConnectorModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.connectorproperty.referownedconnector";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Class block = model.createOwnedClass("Block", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(block, BlocksPackage.eINSTANCE.getBlock(), null);
+
+		Property validProperty = block.createOwnedAttribute("validProperty", block);
+		ConnectorProperty validConnectorProperty = (ConnectorProperty) StereotypeApplicationHelper.getInstance(null).applyStereotype(validProperty, BlocksPackage.eINSTANCE.getConnectorProperty(), null);
+		Connector ownedConnector = block.createOwnedConnector("ownedConnector");
+		validConnectorProperty.setConnector(ownedConnector);
+
+		Property invalidProperty = clazz.createOwnedAttribute("invalidProperty", clazz);
+		ConnectorProperty invalidConnectorProperty = (ConnectorProperty) StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidProperty, BlocksPackage.eINSTANCE.getConnectorProperty(), null);
+		invalidConnectorProperty.setConnector(ownedConnector);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertySameNameModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertySameNameModelConstraintTest.java
new file mode 100644
index 0000000..c0b9329
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertySameNameModelConstraintTest.java
@@ -0,0 +1,105 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ConnectorPropertySameNameModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.connectorproperty.samename";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Class block = model.createOwnedClass("Block", false);
+
+		Association association = clazz.createAssociation(true, AggregationKind.NONE_LITERAL, "", 0, 0, clazz, true, AggregationKind.NONE_LITERAL, "", 0, 0);
+
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(block, BlocksPackage.eINSTANCE.getBlock(), null);
+
+		Property validProperty = block.createOwnedAttribute("validProperty", block);
+		validProperty.setType(association);
+		ConnectorProperty validConnectorProperty = (ConnectorProperty) StereotypeApplicationHelper.getInstance(null).applyStereotype(validProperty, BlocksPackage.eINSTANCE.getConnectorProperty(), null);
+		Connector ownedConnector = block.createOwnedConnector("ownedConnector");
+		validConnectorProperty.setConnector(ownedConnector);
+		ownedConnector.setName("validProperty");
+		ownedConnector.setType(association);
+
+		Property invalidProperty = clazz.createOwnedAttribute("invalidProperty", clazz);
+		ConnectorProperty invalidConnectorProperty = (ConnectorProperty) StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidProperty, BlocksPackage.eINSTANCE.getConnectorProperty(), null);
+		invalidConnectorProperty.setConnector(ownedConnector);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertyTypedByAssociationBlockModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertyTypedByAssociationBlockModelConstraintTest.java
new file mode 100644
index 0000000..ca6411d
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ConnectorPropertyTypedByAssociationBlockModelConstraintTest.java
@@ -0,0 +1,111 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ConnectorPropertyTypedByAssociationBlockModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.connectorproperty.typedbyassociationblock";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Class block = model.createOwnedClass("Block", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(block, BlocksPackage.eINSTANCE.getBlock(), null);
+
+		AssociationClass createAssociationClass = UMLFactory.eINSTANCE.createAssociationClass();
+		createAssociationClass.setPackage(model);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(createAssociationClass, BlocksPackage.eINSTANCE.getBlock(), null);
+
+		Property validProperty = block.createOwnedAttribute("validProperty", block);
+		ConnectorProperty validConnectorProperty = (ConnectorProperty) StereotypeApplicationHelper.getInstance(null).applyStereotype(validProperty, BlocksPackage.eINSTANCE.getConnectorProperty(), null);
+		Connector validOwnedConnector = block.createOwnedConnector("validOwnedConnector");
+		validConnectorProperty.setConnector(validOwnedConnector);
+		validOwnedConnector.setType(createAssociationClass);
+
+		Property invalidProperty = clazz.createOwnedAttribute("invalidProperty", clazz);
+		ConnectorProperty invalidConnectorProperty = (ConnectorProperty) StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidProperty, BlocksPackage.eINSTANCE.getConnectorProperty(), null);
+		Connector invalidOwnedConnector = block.createOwnedConnector("invalidOwnedConnector");
+		invalidConnectorProperty.setConnector(invalidOwnedConnector);
+		Association association = clazz.createAssociation(true, AggregationKind.NONE_LITERAL, "", 0, 0, clazz, true, AggregationKind.NONE_LITERAL, "", 0, 0);
+		invalidOwnedConnector.setType(association);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidProperty).size());
+	}
+
+}
+
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/DistributedPropertyTypedByModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/DistributedPropertyTypedByModelConstraintTest.java
new file mode 100644
index 0000000..5dad16a
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/DistributedPropertyTypedByModelConstraintTest.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class DistributedPropertyTypedByModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.distributedproperty.typedby";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Class block = model.createOwnedClass("Block", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(block, BlocksPackage.eINSTANCE.getBlock(), null);
+
+		Property validDistributedProperty = block.createOwnedAttribute("validDistributedProperty", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validDistributedProperty, BlocksPackage.eINSTANCE.getDistributedProperty(), null);
+
+		Property invalidDistributedProperty = clazz.createOwnedAttribute("invalidDistributedProperty", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidDistributedProperty, BlocksPackage.eINSTANCE.getDistributedProperty(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validDistributedProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidDistributedProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/EndPathMultiplicityNotNegativeModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/EndPathMultiplicityNotNegativeModelConstraintTest.java
new file mode 100644
index 0000000..69a1395
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/EndPathMultiplicityNotNegativeModelConstraintTest.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class EndPathMultiplicityNotNegativeModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.endpathmultiplicity.notnegative";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+
+		Property validEndPathMultiplicity = clazz.createOwnedAttribute("validEndPathMultiplicity", clazz);
+		EndPathMultiplicity validEndPathMultiplicityStereotype = (EndPathMultiplicity) StereotypeApplicationHelper.getInstance(null).applyStereotype(validEndPathMultiplicity, BlocksPackage.eINSTANCE.getEndPathMultiplicity(), null);
+		validEndPathMultiplicityStereotype.setLower(1);
+
+		Property invalidEndPathMultiplicity = clazz.createOwnedAttribute("invalidEndPathMultiplicity", clazz);
+		EndPathMultiplicity invalidEndPathMultiplicityStereotype = (EndPathMultiplicity) StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidEndPathMultiplicity, BlocksPackage.eINSTANCE.getEndPathMultiplicity(), null);
+		invalidEndPathMultiplicityStereotype.setLower(-1);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validEndPathMultiplicity).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidEndPathMultiplicity).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertyEndMultiplicityModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertyEndMultiplicityModelConstraintTest.java
new file mode 100644
index 0000000..17bc4b3
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertyEndMultiplicityModelConstraintTest.java
@@ -0,0 +1,94 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ParticipantPropertyEndMultiplicityModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.participantproperty.endmultiplicity";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+
+		Property validProperty = clazz.createOwnedAttribute("validProperty", clazz);
+		validProperty.setUpper(1);
+		validProperty.setLower(1);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validProperty, BlocksPackage.eINSTANCE.getParticipantProperty(), null);
+
+		Property invalidProperty = clazz.createOwnedAttribute("invalidProperty", clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidProperty, BlocksPackage.eINSTANCE.getParticipantProperty(), null);
+		invalidProperty.setUpper(2);
+		invalidProperty.setLower(0);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertyNoAssociationMemberEndsModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertyNoAssociationMemberEndsModelConstraintTest.java
new file mode 100644
index 0000000..2da3b35
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertyNoAssociationMemberEndsModelConstraintTest.java
@@ -0,0 +1,95 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ParticipantPropertyNoAssociationMemberEndsModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.participantproperty.noassociationmemberends";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+
+
+		Property validProperty = clazz.createOwnedAttribute("validProperty", clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validProperty, BlocksPackage.eINSTANCE.getParticipantProperty(), null);
+
+		Property invalidProperty = clazz.createOwnedAttribute("invalidProperty", clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidProperty, BlocksPackage.eINSTANCE.getParticipantProperty(), null);
+		Association association = clazz.createAssociation(true, AggregationKind.NONE_LITERAL, "", 0, 0, clazz, true, AggregationKind.NONE_LITERAL, "", 0, 0);
+		invalidProperty.setAssociation(association);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertyOnlyAssociationBlockModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertyOnlyAssociationBlockModelConstraintTest.java
new file mode 100644
index 0000000..b997486
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertyOnlyAssociationBlockModelConstraintTest.java
@@ -0,0 +1,96 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ParticipantPropertyOnlyAssociationBlockModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.participantproperty.onlyassociationblock";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+
+		AssociationClass createAssociationClass = UMLFactory.eINSTANCE.createAssociationClass();
+		createAssociationClass.setPackage(model);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(createAssociationClass, BlocksPackage.eINSTANCE.getBlock(), null);
+
+		Property validProperty = createAssociationClass.createOwnedAttribute("validProperty", clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validProperty, BlocksPackage.eINSTANCE.getParticipantProperty(), null);
+
+		Property invalidProperty = clazz.createOwnedAttribute("invalidProperty", clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidProperty, BlocksPackage.eINSTANCE.getParticipantProperty(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertyOnlyNoneAggregationModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertyOnlyNoneAggregationModelConstraintTest.java
new file mode 100644
index 0000000..5c99761
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertyOnlyNoneAggregationModelConstraintTest.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ParticipantPropertyOnlyNoneAggregationModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.participantproperty.onlynoneaggregation";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+
+		Property validProperty = clazz.createOwnedAttribute("validProperty", clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validProperty, BlocksPackage.eINSTANCE.getParticipantProperty(), null);
+		validProperty.setAggregation(AggregationKind.NONE_LITERAL);
+
+		Property invalidProperty = clazz.createOwnedAttribute("invalidProperty", clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidProperty, BlocksPackage.eINSTANCE.getParticipantProperty(), null);
+		invalidProperty.setAggregation(AggregationKind.COMPOSITE_LITERAL);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertySameEndModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertySameEndModelConstraintTest.java
new file mode 100644
index 0000000..4392d2f
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertySameEndModelConstraintTest.java
@@ -0,0 +1,107 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ParticipantPropertySameEndModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.participantproperty.sameend";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Class clazz2 = model.createOwnedClass("Class2", false);
+
+		AssociationClass createAssociationClass = UMLFactory.eINSTANCE.createAssociationClass();
+		createAssociationClass.setPackage(model);
+
+
+		Property endSameType = createAssociationClass.createOwnedAttribute("endSameType", clazz);
+		Property endDiffType = createAssociationClass.createOwnedAttribute("endDiffType", clazz2);
+
+		createAssociationClass.getMemberEnds().add(endSameType);
+
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(createAssociationClass, BlocksPackage.eINSTANCE.getBlock(), null);
+
+		Property validProperty = createAssociationClass.createOwnedAttribute("validProperty", clazz);
+		ParticipantProperty validParticipantProperty = (ParticipantProperty) StereotypeApplicationHelper.getInstance(null).applyStereotype(validProperty, BlocksPackage.eINSTANCE.getParticipantProperty(), null);
+		validParticipantProperty.setEnd(endSameType);
+
+		Property invalidProperty = createAssociationClass.createOwnedAttribute("invalidProperty", clazz);
+		ParticipantProperty invalidParticipantProperty = (ParticipantProperty) StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidProperty, BlocksPackage.eINSTANCE.getParticipantProperty(), null);
+		invalidParticipantProperty.setEnd(endDiffType);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertySameTypeModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertySameTypeModelConstraintTest.java
new file mode 100644
index 0000000..ca7205d
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/ParticipantPropertySameTypeModelConstraintTest.java
@@ -0,0 +1,96 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ParticipantPropertySameTypeModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.participantproperty.sametype";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Class clazz2 = model.createOwnedClass("Class2", false);
+		Property endSameType = clazz.createOwnedAttribute("validProperty", clazz);
+		Property endDiffType = clazz.createOwnedAttribute("validProperty", clazz2);
+
+		Property validProperty = clazz.createOwnedAttribute("validProperty", clazz);
+		ParticipantProperty validParticipantProperty = (ParticipantProperty) StereotypeApplicationHelper.getInstance(null).applyStereotype(validProperty, BlocksPackage.eINSTANCE.getParticipantProperty(), null);
+		validParticipantProperty.setEnd(endSameType);
+
+		Property invalidProperty = clazz.createOwnedAttribute("invalidProperty", clazz);
+		ParticipantProperty invalidParticipantProperty = (ParticipantProperty) StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidProperty, BlocksPackage.eINSTANCE.getParticipantProperty(), null);
+		invalidParticipantProperty.setEnd(endDiffType);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/PropertySpecificTypeMissingNameModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/PropertySpecificTypeMissingNameModelConstraintTest.java
new file mode 100644
index 0000000..18f643c
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/PropertySpecificTypeMissingNameModelConstraintTest.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class PropertySpecificTypeMissingNameModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.propertyspecifictype.missingname";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class validClass = model.createOwnedClass(null, false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validClass, BlocksPackage.eINSTANCE.getPropertySpecificType(), null);
+
+		Class invalidClass = model.createOwnedClass("invalidClass", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidClass, BlocksPackage.eINSTANCE.getPropertySpecificType(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validClass).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidClass).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/PropertySpecificTypeUniquePropertyModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/PropertySpecificTypeUniquePropertyModelConstraintTest.java
new file mode 100644
index 0000000..f81af22
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/blocks/PropertySpecificTypeUniquePropertyModelConstraintTest.java
@@ -0,0 +1,90 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.blocks;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class PropertySpecificTypeUniquePropertyModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.propertyspecifictype.uniqueproperty";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class validClass = model.createOwnedClass("validClass", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validClass, BlocksPackage.eINSTANCE.getPropertySpecificType(), null);
+		validClass.createOwnedAttribute("typeUniqueAttribute", validClass);
+
+		Class invalidClass = model.createOwnedClass("invalidClass", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidClass, BlocksPackage.eINSTANCE.getPropertySpecificType(), null);
+		invalidClass.createOwnedAttribute("typeDoubleAttribute", invalidClass);
+		invalidClass.createOwnedAttribute("typeDoubleAttribute2", invalidClass);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validClass).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidClass).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ConformGeneralClassifierViewpointModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ConformGeneralClassifierViewpointModelConstraintTest.java
new file mode 100644
index 0000000..a170772
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ConformGeneralClassifierViewpointModelConstraintTest.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.modelelements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ConformGeneralClassifierViewpointModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.conform.generalviewpoint";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Class viewpoint = model.createOwnedClass("Viewpoint", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(viewpoint, ModelElementsPackage.eINSTANCE.getViewpoint(), null);
+
+		Generalization validConform = clazz.createGeneralization(viewpoint);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validConform, ModelElementsPackage.eINSTANCE.getConform(), null);
+
+		Generalization invalidConform = clazz.createGeneralization(clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidConform, ModelElementsPackage.eINSTANCE.getConform(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validConform).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidConform).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ConformSpecificClassifierViewModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ConformSpecificClassifierViewModelConstraintTest.java
new file mode 100644
index 0000000..b3788ba
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ConformSpecificClassifierViewModelConstraintTest.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.modelelements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ConformSpecificClassifierViewModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.conform.specificview";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Class view = model.createOwnedClass("View", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(view, ModelElementsPackage.eINSTANCE.getView(), null);
+
+		Generalization validConform = view.createGeneralization(clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validConform, ModelElementsPackage.eINSTANCE.getConform(), null);
+
+		Generalization invalidConform = clazz.createGeneralization(clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidConform, ModelElementsPackage.eINSTANCE.getConform(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validConform).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidConform).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ExposeClientStereotypedByViewModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ExposeClientStereotypedByViewModelConstraintTest.java
new file mode 100644
index 0000000..0ccd83d
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ExposeClientStereotypedByViewModelConstraintTest.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.modelelements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ExposeClientStereotypedByViewModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.expose.clientview";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Class view = model.createOwnedClass("View", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(view, ModelElementsPackage.eINSTANCE.getView(), null);
+
+		Dependency validExpose = view.createDependency(clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validExpose, ModelElementsPackage.eINSTANCE.getExpose(), null);
+
+		Dependency invalidExpose = clazz.createDependency(clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidExpose, ModelElementsPackage.eINSTANCE.getExpose(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validExpose).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidExpose).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ViewSingleViewpointModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ViewSingleViewpointModelConstraintTest.java
new file mode 100644
index 0000000..891057e
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ViewSingleViewpointModelConstraintTest.java
@@ -0,0 +1,100 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.modelelements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ViewSingleViewpointModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.view.singleviewpoint";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class viewpoint = model.createOwnedClass("viewpoint", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(viewpoint, ModelElementsPackage.eINSTANCE.getViewpoint(), null);
+
+		Class validView = model.createOwnedClass("validView", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validView, ModelElementsPackage.eINSTANCE.getView(), null);
+
+		Generalization validConform = validView.createGeneralization(viewpoint);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validConform, ModelElementsPackage.eINSTANCE.getConform(), null);
+
+		Class invalidView = model.createOwnedClass("invalidView", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidView, ModelElementsPackage.eINSTANCE.getView(), null);
+
+		Generalization invalidConform1 = invalidView.createGeneralization(viewpoint);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidConform1, ModelElementsPackage.eINSTANCE.getConform(), null);
+		Generalization invalidConform2 = invalidView.createGeneralization(viewpoint);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidConform2, ModelElementsPackage.eINSTANCE.getConform(), null);
+
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validView).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidView).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ViewpointOwnedViewModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ViewpointOwnedViewModelConstraintTest.java
new file mode 100644
index 0000000..af3595a
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/modelelements/ViewpointOwnedViewModelConstraintTest.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.modelelements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID
+ *
+ */
+@SuppressWarnings("nls")
+public class ViewpointOwnedViewModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.viewpoint.ownedview";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class validViewpoint = model.createOwnedClass("validViewpoint", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validViewpoint, ModelElementsPackage.eINSTANCE.getViewpoint(), null);
+
+		Operation validOwnedOperation = validViewpoint.createOwnedOperation("View", null, null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validOwnedOperation, StandardPackage.eINSTANCE.getCreate(), null);
+
+		Class invalidViewpoint = model.createOwnedClass("invalidViewpoint", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidViewpoint, ModelElementsPackage.eINSTANCE.getViewpoint(), null);
+
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validViewpoint).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidViewpoint).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/FlowPropertyTypedByModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/FlowPropertyTypedByModelConstraintTest.java
new file mode 100644
index 0000000..4f76be3
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/FlowPropertyTypedByModelConstraintTest.java
@@ -0,0 +1,94 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on FlowPropertyTypedByModelConstraint
+ *
+ */
+@SuppressWarnings("nls")
+public class FlowPropertyTypedByModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.flowproperty.typedby";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Class block = model.createOwnedClass("Block", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(block, BlocksPackage.eINSTANCE.getBlock(), null);
+
+		Property validFlowProperty = clazz.createOwnedAttribute("validFlowProperty", block);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validFlowProperty, PortsAndFlowsPackage.eINSTANCE.getFlowProperty(), null);
+
+
+		Property invalidFlowProperty = clazz.createOwnedAttribute("invalidFlowProperty", clazz);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidFlowProperty, PortsAndFlowsPackage.eINSTANCE.getFlowProperty(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validFlowProperty).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidFlowProperty).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/FullPortNotBehavioralModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/FullPortNotBehavioralModelConstraintTest.java
new file mode 100644
index 0000000..e63634a
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/FullPortNotBehavioralModelConstraintTest.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on FullPortNotBehavioral constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class FullPortNotBehavioralModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.fullport.notbehavioral";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Port validPort = clazz.createOwnedPort("validPort", null);
+		validPort.setIsBehavior(false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validPort, PortsAndFlowsPackage.eINSTANCE.getFullPort(), null);
+
+		Port invalidPort = clazz.createOwnedPort("invalidPort", null);
+		invalidPort.setIsBehavior(true);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidPort, PortsAndFlowsPackage.eINSTANCE.getFullPort(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validPort).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidPort).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/FullPortNotConjugatedModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/FullPortNotConjugatedModelConstraintTest.java
new file mode 100644
index 0000000..4d92b0c
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/FullPortNotConjugatedModelConstraintTest.java
@@ -0,0 +1,90 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on FullPortNotConjugated constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class FullPortNotConjugatedModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.fullport.notconjugated";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Port validPort = clazz.createOwnedPort("validPort", null);
+		validPort.setIsConjugated(false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validPort, PortsAndFlowsPackage.eINSTANCE.getFullPort(), null);
+		Port invalidPort = clazz.createOwnedPort("invalidPort", null);
+		invalidPort.setIsConjugated(true);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidPort, PortsAndFlowsPackage.eINSTANCE.getFullPort(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validPort).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidPort).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/FullPortNotProxyPortModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/FullPortNotProxyPortModelConstraintTest.java
new file mode 100644
index 0000000..74f1934
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/FullPortNotProxyPortModelConstraintTest.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on FullPortNotProxyPort constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class FullPortNotProxyPortModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.fullport.notproxyport";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Port validPort = clazz.createOwnedPort("validPort", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validPort, PortsAndFlowsPackage.eINSTANCE.getFullPort(), null);
+		Port invalidPort = clazz.createOwnedPort("invalidPort", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidPort, PortsAndFlowsPackage.eINSTANCE.getFullPort(), null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidPort, PortsAndFlowsPackage.eINSTANCE.getProxyPort(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validPort).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidPort).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/InterfaceBlockNoBehaviorConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/InterfaceBlockNoBehaviorConstraintTest.java
new file mode 100644
index 0000000..da40b18
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/InterfaceBlockNoBehaviorConstraintTest.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class InterfaceBlockNoBehaviorConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.interfaceblock.nobehavior";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class validInterfaceBlock = model.createOwnedClass("validInterfaceBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validInterfaceBlock, PortsAndFlowsPackage.eINSTANCE.getInterfaceBlock(), null);
+
+		Class invalidInterfaceBlock = model.createOwnedClass("invalidInterfaceBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidInterfaceBlock, PortsAndFlowsPackage.eINSTANCE.getInterfaceBlock(), null);
+		invalidInterfaceBlock.createClassifierBehavior("invalidClassifierBehavior", UMLPackage.eINSTANCE.getActivity());
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validInterfaceBlock).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidInterfaceBlock).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/InterfaceBlockNoCompositePropertyModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/InterfaceBlockNoCompositePropertyModelConstraintTest.java
new file mode 100644
index 0000000..40b7fed
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/InterfaceBlockNoCompositePropertyModelConstraintTest.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class InterfaceBlockNoCompositePropertyModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.interfaceblock.nocompositeproperty";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class validInterfaceBlock = model.createOwnedClass("validInterfaceBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validInterfaceBlock, PortsAndFlowsPackage.eINSTANCE.getInterfaceBlock(), null);
+		validInterfaceBlock.createOwnedAttribute("valideProperty", null);
+
+		Class invalidInterfaceBlock = model.createOwnedClass("invalidInterfaceBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidInterfaceBlock, PortsAndFlowsPackage.eINSTANCE.getInterfaceBlock(), null);
+		Property invalideProperty = invalidInterfaceBlock.createOwnedAttribute("invalideProperty", null);
+		invalideProperty.setAggregation(AggregationKind.COMPOSITE_LITERAL);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validInterfaceBlock).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidInterfaceBlock).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/InterfaceBlockPortTypeModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/InterfaceBlockPortTypeModelConstraintTest.java
new file mode 100644
index 0000000..4c9436b
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/InterfaceBlockPortTypeModelConstraintTest.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class InterfaceBlockPortTypeModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.interfaceblock.porttype";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class validInterfaceBlock = model.createOwnedClass("validInterfaceBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validInterfaceBlock, PortsAndFlowsPackage.eINSTANCE.getInterfaceBlock(), null);
+		Port validePort = validInterfaceBlock.createOwnedPort("validePort", null);
+		validePort.setType(validInterfaceBlock);
+
+		Class invalidInterfaceBlock = model.createOwnedClass("invalidInterfaceBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidInterfaceBlock, PortsAndFlowsPackage.eINSTANCE.getInterfaceBlock(), null);
+		Property invalidePort = invalidInterfaceBlock.createOwnedPort("invalidePort", null);
+		invalidePort.setType(model.createOwnedClass("Class", false));
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validInterfaceBlock).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidInterfaceBlock).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/ProxyPortForceInnerProxyPortModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/ProxyPortForceInnerProxyPortModelConstraintTest.java
new file mode 100644
index 0000000..6e1cfda
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/ProxyPortForceInnerProxyPortModelConstraintTest.java
@@ -0,0 +1,98 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on FullPortNotProxyPort constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class ProxyPortForceInnerProxyPortModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.proxyport.innerproxyport";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Port validPort = clazz.createOwnedPort("validPort", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validPort, PortsAndFlowsPackage.eINSTANCE.getProxyPort(), null);
+
+		Class clazzWithOnlyProxyPort = model.createOwnedClass("clazzWithOnlyProxyPort", false);
+		Port innerProxyPort = clazzWithOnlyProxyPort.createOwnedPort("innerProxyPort", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(innerProxyPort, PortsAndFlowsPackage.eINSTANCE.getProxyPort(), null);
+		validPort.setType(clazzWithOnlyProxyPort);
+
+		Port invalidPort = clazz.createOwnedPort("invalidPort", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidPort, PortsAndFlowsPackage.eINSTANCE.getProxyPort(), null);
+
+		Class clazzWithStandardPort = model.createOwnedClass("clazzWithStandardPort", false);
+		clazzWithStandardPort.createOwnedPort("innerProxyPort", null);
+		invalidPort.setType(clazzWithStandardPort);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validPort).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidPort).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/ProxyPortNotFullPortModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/ProxyPortNotFullPortModelConstraintTest.java
new file mode 100644
index 0000000..5a50f7d
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/ProxyPortNotFullPortModelConstraintTest.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on FullPortNotProxyPort constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class ProxyPortNotFullPortModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.proxyport.notfullport";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Port validPort = clazz.createOwnedPort("validPort", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validPort, PortsAndFlowsPackage.eINSTANCE.getProxyPort(), null);
+		Port invalidPort = clazz.createOwnedPort("invalidPort", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidPort, PortsAndFlowsPackage.eINSTANCE.getProxyPort(), null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidPort, PortsAndFlowsPackage.eINSTANCE.getFullPort(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validPort).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidPort).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/ProxyPortTypedByInterfaceBlockModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/ProxyPortTypedByInterfaceBlockModelConstraintTest.java
new file mode 100644
index 0000000..cea9d59
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/portsandflows/ProxyPortTypedByInterfaceBlockModelConstraintTest.java
@@ -0,0 +1,95 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on FullPortNotProxyPort constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class ProxyPortTypedByInterfaceBlockModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.proxyport.typedinterfaceblock";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clazz = model.createOwnedClass("Class", false);
+		Port validPort = clazz.createOwnedPort("validPort", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validPort, PortsAndFlowsPackage.eINSTANCE.getProxyPort(), null);
+
+		Class interfaceBlock = model.createOwnedClass("interfaceBlock", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(interfaceBlock, PortsAndFlowsPackage.eINSTANCE.getInterfaceBlock(), null);
+		validPort.setType(interfaceBlock);
+
+		Port invalidPort = clazz.createOwnedPort("invalidPort", null);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalidPort, PortsAndFlowsPackage.eINSTANCE.getProxyPort(), null);
+		Class noStereotypeClazz = model.createOwnedClass("noStereotypeClazz", false);
+		invalidPort.setType(noStereotypeClazz);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, validPort).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalidPort).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/CopyBetweenRequirementsModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/CopyBetweenRequirementsModelConstraintTest.java
new file mode 100644
index 0000000..0647a3c
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/CopyBetweenRequirementsModelConstraintTest.java
@@ -0,0 +1,99 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on Refine One Client and One Supplier constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class CopyBetweenRequirementsModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.copy.betweenrequirements";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Abstraction copyValid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(copyValid);
+		Class requirementSupplier = model.createOwnedClass("requirementSupplier", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(requirementSupplier, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		copyValid.getSuppliers().add(requirementSupplier);
+		Class requirementClient = model.createOwnedClass("requirementClient", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(requirementClient, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		copyValid.getClients().add(requirementClient);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(copyValid, RequirementsPackage.eINSTANCE.getCopy(), null);
+
+		Abstraction copyInvalid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(copyInvalid);
+		copyInvalid.getSuppliers().add(model.createOwnedClass("classsupplier", false));
+		copyInvalid.getClients().add(model.createOwnedClass("classclien", false));
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(copyInvalid, RequirementsPackage.eINSTANCE.getCopy(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, copyValid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, copyInvalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/CopyReadOnlyModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/CopyReadOnlyModelConstraintTest.java
new file mode 100644
index 0000000..e53a837
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/CopyReadOnlyModelConstraintTest.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on Refine One Client and One Supplier constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class CopyReadOnlyModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.copy.readonly";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Abstraction copyValid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(copyValid);
+		Class requirementSupplier = model.createOwnedClass("requirementSupplier", false);
+		Requirement requirementSupplierStereotypeplication = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(requirementSupplier, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		requirementSupplierStereotypeplication.setText("Copied text");
+		copyValid.getSuppliers().add(requirementSupplier);
+		Class requirementClient = model.createOwnedClass("requirementClient", false);
+		Requirement requirementSupplierStereotypeplication2 = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(requirementClient, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		requirementSupplierStereotypeplication2.setText("Copied text");
+		copyValid.getClients().add(requirementClient);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(copyValid, RequirementsPackage.eINSTANCE.getCopy(), null);
+
+		Abstraction copyInvalid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(copyInvalid);
+		Class requirementSupplierInvalid = model.createOwnedClass("requirementSupplier", false);
+		Requirement requirementSupplierStereotypeplication3 = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(requirementSupplierInvalid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		requirementSupplierStereotypeplication3.setText("Copied text");
+		copyInvalid.getSuppliers().add(requirementSupplierInvalid);
+		Class requirementClientInvalid = model.createOwnedClass("requirementClient", false);
+		Requirement requirementSupplierStereotypeplication4 = (Requirement) StereotypeApplicationHelper.getInstance(null).applyStereotype(requirementClientInvalid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		requirementSupplierStereotypeplication4.setText("Different Copied text");
+		copyInvalid.getClients().add(requirementClientInvalid);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(copyInvalid, RequirementsPackage.eINSTANCE.getCopy(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, copyValid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, copyInvalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/DeriveReqtClientModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/DeriveReqtClientModelConstraintTest.java
new file mode 100644
index 0000000..c98d6a7
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/DeriveReqtClientModelConstraintTest.java
@@ -0,0 +1,98 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on DeriveReqt Client constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class DeriveReqtClientModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.derivereqt.client";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class clientRequirement = model.createOwnedClass("ClientRequirement", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(clientRequirement, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		Abstraction deriveReqtValid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(deriveReqtValid);
+		deriveReqtValid.getClients().add(clientRequirement);
+		deriveReqtValid.getSuppliers().add(model.createOwnedClass("uselessSupplier1", false));
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(deriveReqtValid, RequirementsPackage.eINSTANCE.getDeriveReqt(), null);
+
+		Class clientClass = model.createOwnedClass("ClientClass", false);
+		Abstraction deriveReqtInvalid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(deriveReqtInvalid);
+		deriveReqtInvalid.getClients().add(clientClass);
+		deriveReqtInvalid.getSuppliers().add(model.createOwnedClass("uselessSupplier2", false));
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(deriveReqtInvalid, RequirementsPackage.eINSTANCE.getDeriveReqt(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, deriveReqtValid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, deriveReqtInvalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/DeriveReqtSupplierModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/DeriveReqtSupplierModelConstraintTest.java
new file mode 100644
index 0000000..af86c87
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/DeriveReqtSupplierModelConstraintTest.java
@@ -0,0 +1,98 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on DeriveReqt Supplier constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class DeriveReqtSupplierModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.derivereqt.supplier";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class supplierRequirement = model.createOwnedClass("SupplierRequirement", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(supplierRequirement, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		Abstraction deriveReqtValid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(deriveReqtValid);
+		deriveReqtValid.getSuppliers().add(supplierRequirement);
+		deriveReqtValid.getClients().add(model.createOwnedClass("uselessClient1", false));
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(deriveReqtValid, RequirementsPackage.eINSTANCE.getDeriveReqt(), null);
+
+		Class supplierClass = model.createOwnedClass("SupplierClass", false);
+		Abstraction deriveReqtInvalid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(deriveReqtInvalid);
+		deriveReqtInvalid.getSuppliers().add(supplierClass);
+		deriveReqtInvalid.getClients().add(model.createOwnedClass("uselessClient2", false));
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(deriveReqtInvalid, RequirementsPackage.eINSTANCE.getDeriveReqt(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, deriveReqtValid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, deriveReqtInvalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RefineDependencyModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RefineDependencyModelConstraintTest.java
new file mode 100644
index 0000000..d21d0bf
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RefineDependencyModelConstraintTest.java
@@ -0,0 +1,90 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on Refine One Client and One Supplier constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class RefineDependencyModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.refine.dependency";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Abstraction refineValid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(refineValid);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(refineValid, RequirementsPackage.eINSTANCE.getRefine(), null);
+
+		Generalization refineInvalid = model.createOwnedClass("Child", false).createGeneralization(model.createOwnedClass("Parent", false));
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(refineInvalid, RequirementsPackage.eINSTANCE.getRefine(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, refineValid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, refineInvalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RefineOneClientSupplierModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RefineOneClientSupplierModelConstraintTest.java
new file mode 100644
index 0000000..0b9f60c
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RefineOneClientSupplierModelConstraintTest.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on Refine One Client and One Supplier constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class RefineOneClientSupplierModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.refine.oneclientsupplier";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Abstraction refineValid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(refineValid);
+		refineValid.getClients().add(model.createOwnedClass("client", false));
+		refineValid.getSuppliers().add(model.createOwnedClass("supplier", false));
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(refineValid, RequirementsPackage.eINSTANCE.getRefine(), null);
+
+		Abstraction refineInvalid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(refineInvalid);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(refineInvalid, RequirementsPackage.eINSTANCE.getRefine(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, refineValid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, refineInvalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementEmptyOwnedAttributeModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementEmptyOwnedAttributeModelConstraintTest.java
new file mode 100644
index 0000000..e3d2c0e
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementEmptyOwnedAttributeModelConstraintTest.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class RequirementEmptyOwnedAttributeModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.requirement.emptyownedattribute";
+
+	/**
+	 * Test method for {@link org.eclipse.papyrus.sysml16.service.types.command.SetNestedPathCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)}.
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class valid = model.createOwnedClass("valid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(valid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		Class invalid = model.createOwnedClass("invalid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		invalid.createOwnedAttribute("invalidAttribute", null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this requirement", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, valid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this requirement", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementEmptyOwnedOperationModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementEmptyOwnedOperationModelConstraintTest.java
new file mode 100644
index 0000000..8cdc458
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementEmptyOwnedOperationModelConstraintTest.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class RequirementEmptyOwnedOperationModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.requirement.emptyownedoperation";
+
+	/**
+	 * Test method for {@link org.eclipse.papyrus.sysml16.service.types.command.SetNestedPathCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)}.
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class valid = model.createOwnedClass("valid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(valid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		Class invalid = model.createOwnedClass("invalid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		invalid.createOwnedOperation("invalidOperation", null, null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this requirement", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, valid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this requirement", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementNestedRequirementModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementNestedRequirementModelConstraintTest.java
new file mode 100644
index 0000000..2df04aa
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementNestedRequirementModelConstraintTest.java
@@ -0,0 +1,90 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class RequirementNestedRequirementModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.requirement.nestedrequirement";
+
+	/**
+	 * Test method for {@link org.eclipse.papyrus.sysml16.service.types.command.SetNestedPathCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)}.
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class valid = model.createOwnedClass("valid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(valid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		Classifier validNestedRequirement = valid.createNestedClassifier("validNestedClassifier", valid.eClass());
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(validNestedRequirement, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		Class invalid = model.createOwnedClass("invalid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		invalid.createNestedClassifier("invalidNestedClassifier", invalid.eClass());
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this requirement", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, valid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this requirement", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementNoAssociationModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementNoAssociationModelConstraintTest.java
new file mode 100644
index 0000000..4e33460
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementNoAssociationModelConstraintTest.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class RequirementNoAssociationModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.requirement.noassociation";
+
+	/**
+	 * Test method for {@link org.eclipse.papyrus.sysml16.service.types.command.SetNestedPathCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)}.
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class valid = model.createOwnedClass("valid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(valid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		Class invalid = model.createOwnedClass("invalid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		invalid.createAssociation(true, AggregationKind.NONE_LITERAL, "", 0, 0, invalid, true, AggregationKind.NONE_LITERAL, "", 0, 0);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this requirement", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, valid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this requirement", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementNoGeneralizationModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementNoGeneralizationModelConstraintTest.java
new file mode 100644
index 0000000..9c3113d
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementNoGeneralizationModelConstraintTest.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class RequirementNoGeneralizationModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.requirement.nogeneralization";
+
+	/**
+	 * Test method for {@link org.eclipse.papyrus.sysml16.service.types.command.SetNestedPathCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)}.
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class valid = model.createOwnedClass("valid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(valid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		Class invalid = model.createOwnedClass("invalid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		invalid.createGeneralization(invalid);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this requirement", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, valid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this requirement", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementNotTypeModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementNotTypeModelConstraintTest.java
new file mode 100644
index 0000000..b97321a
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/RequirementNotTypeModelConstraintTest.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on CONSTRAINT_ID constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class RequirementNotTypeModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.requirement.notype";
+
+	/**
+	 * Test method for {@link org.eclipse.papyrus.sysml16.service.types.command.SetNestedPathCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)}.
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Class valid = model.createOwnedClass("valid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(valid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+
+		Class invalid = model.createOwnedClass("invalid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(invalid, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		invalid.createOwnedAttribute("invalidrequirementType", invalid);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this requirement", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, valid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this requirement", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, invalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/SatisfySupplierModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/SatisfySupplierModelConstraintTest.java
new file mode 100644
index 0000000..c8c68cc
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/SatisfySupplierModelConstraintTest.java
@@ -0,0 +1,95 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on Refine One Client and One Supplier constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class SatisfySupplierModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.satisfy.supplier";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Abstraction satisfyValid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(satisfyValid);
+		Class requirementSupplier = model.createOwnedClass("supplier", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(requirementSupplier, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		satisfyValid.getSuppliers().add(requirementSupplier);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(satisfyValid, RequirementsPackage.eINSTANCE.getSatisfy(), null);
+
+		Abstraction satisfyInvalid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(satisfyInvalid);
+		satisfyInvalid.getSuppliers().add(model.createOwnedClass("fakesupplier", false));
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(satisfyInvalid, RequirementsPackage.eINSTANCE.getSatisfy(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, satisfyValid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, satisfyInvalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/TestCaseParameterVerdictKindModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/TestCaseParameterVerdictKindModelConstraintTest.java
new file mode 100644
index 0000000..7e1090b
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/TestCaseParameterVerdictKindModelConstraintTest.java
@@ -0,0 +1,96 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Test on Refine One Client and One Supplier constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class TestCaseParameterVerdictKindModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.testcase.parameterverdictkind";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Ignore
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+
+		Class testCaseValid = model.createOwnedClass("Class", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(testCaseValid, RequirementsPackage.eINSTANCE.getTestCase(), null);
+		Type returnType = model.createOwnedType("VerdictKind", testCaseValid.eClass());
+		testCaseValid.createOwnedOperation("operation", null, null, returnType);
+
+		Class testCaseInvalid = model.createOwnedClass("testCaseInvalid", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(testCaseInvalid, RequirementsPackage.eINSTANCE.getTestCase(), null);
+		Type returnTypeInvalid = model.createOwnedType("NotVerdictKind", testCaseInvalid.eClass());
+		testCaseInvalid.createOwnedOperation("operation", null, null, returnTypeInvalid);
+
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, testCaseValid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, testCaseInvalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/TraceDependencyModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/TraceDependencyModelConstraintTest.java
new file mode 100644
index 0000000..1a73024
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/TraceDependencyModelConstraintTest.java
@@ -0,0 +1,90 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on Trace One Client and One Supplier constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class TraceDependencyModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.trace.dependency";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Abstraction traceValid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(traceValid);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(traceValid, RequirementsPackage.eINSTANCE.getTrace(), null);
+
+		Generalization traceInvalid = model.createOwnedClass("Child", false).createGeneralization(model.createOwnedClass("Parent", false));
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(traceInvalid, RequirementsPackage.eINSTANCE.getTrace(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, traceValid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, traceInvalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/TraceOneClientSupplierModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/TraceOneClientSupplierModelConstraintTest.java
new file mode 100644
index 0000000..4dfa4af
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/TraceOneClientSupplierModelConstraintTest.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on Trace One Client and One Supplier constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class TraceOneClientSupplierModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.trace.supplier";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Abstraction traceValid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(traceValid);
+		traceValid.getClients().add(model.createOwnedClass("client", false));
+		traceValid.getSuppliers().add(model.createOwnedClass("supplier", false));
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(traceValid, RequirementsPackage.eINSTANCE.getTrace(), null);
+
+		Abstraction traceInvalid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(traceInvalid);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(traceInvalid, RequirementsPackage.eINSTANCE.getTrace(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, traceValid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, traceInvalid).size());
+	}
+}
diff --git a/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/VerifySupplierModelConstraintTest.java b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/VerifySupplierModelConstraintTest.java
new file mode 100644
index 0000000..c0a9b49
--- /dev/null
+++ b/tests/core/org.eclipse.papyrus.sysml16.validation.tests/src/org/eclipse/papyrus/sysml16/validation/tests/rules/requirements/VerifySupplierModelConstraintTest.java
@@ -0,0 +1,95 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.tests.rules.requirements;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.service.ConstraintRegistry;
+import org.eclipse.emf.validation.service.IConstraintDescriptor;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.papyrus.sysml16.validation.internal.utils.DiagnosticUtil;
+import org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on Refine One Client and One Supplier constraint
+ *
+ */
+@SuppressWarnings("nls")
+public class VerifySupplierModelConstraintTest {
+
+	public static final String CONSTRAINT_ID = "constraint.verify.supplier";
+
+	/**
+	 * Test method for the constraint
+	 * 
+	 * @throws InterruptedException
+	 * @throws RollbackException
+	 */
+	@Test
+	public void checkRuleValidation() throws InterruptedException, RollbackException {
+		ResourceSetImpl resourceSet = new ResourceSetImpl();
+		Model model = SysMLResource.createSysMLModel(resourceSet);
+		Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+		Abstraction verifyValid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(verifyValid);
+		Class requirementSupplier = model.createOwnedClass("supplier", false);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(requirementSupplier, RequirementsPackage.eINSTANCE.getRequirement(), null);
+		verifyValid.getSuppliers().add(requirementSupplier);
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(verifyValid, RequirementsPackage.eINSTANCE.getVerify(), null);
+
+		Abstraction verifyInvalid = UMLFactory.eINSTANCE.createAbstraction();
+		model.getPackagedElements().add(verifyInvalid);
+		verifyInvalid.getSuppliers().add(model.createOwnedClass("fakesupplier", false));
+		StereotypeApplicationHelper.getInstance(null).applyStereotype(verifyInvalid, RequirementsPackage.eINSTANCE.getVerify(), null);
+
+		TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain(resourceSet);
+		InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain) TransactionUtil.getEditingDomain(model);
+
+		final ValidateModelCommand validateModelCommand = new ValidateModelCommand(model, new UMLDiagnostician());
+
+		InternalTransaction startTransaction = editingDomain.startTransaction(false, null);
+		editingDomain.getCommandStack().execute(GMFtoEMFCommandWrapper.wrap(validateModelCommand));
+		startTransaction.commit();
+		// check that the constraint exist
+		ConstraintRegistry instance = ConstraintRegistry.getInstance();
+		IConstraintDescriptor descriptor = instance.getDescriptor(Activator.PLUGIN_ID, CONSTRAINT_ID);
+		Assert.assertNotNull("Constraint is missing " + CONSTRAINT_ID, descriptor);
+
+		List<Diagnostic> constraintDiagnosticList = DiagnosticUtil.findDiagnosticBySource(validateModelCommand.getDiagnostic(), Activator.PLUGIN_ID + "." + CONSTRAINT_ID);
+
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should not trigger an issue for this use case ", 0, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, verifyValid).size());
+		Assert.assertEquals("The rule " + CONSTRAINT_ID + " should trigger an issue for this use case ", 1, DiagnosticUtil.filterDiagnosticsByElement(constraintDiagnosticList, verifyInvalid).size());
+	}
+}
diff --git a/tests/core/pom.xml b/tests/core/pom.xml
new file mode 100644
index 0000000..b7a918e
--- /dev/null
+++ b/tests/core/pom.xml
@@ -0,0 +1,33 @@
+<?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.sysml16.plugins.tests</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.core.tests</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML Core Tests</name>
+	<description>SysML Core contains all semantic information for SysML 1.6 profile. These modules shouldn't contain any gui elements.</description>
+	<modules>
+		<module>org.eclipse.papyrus.sysml16.tests</module>
+		<module>org.eclipse.papyrus.sysml16.edit.tests</module>
+		<module>org.eclipse.papyrus.sysml16.service.types.tests</module>
+	</modules>
+	
+	<profiles>
+		<profile>
+			<id>product</id>
+			<activation>
+				<activeByDefault>false</activeByDefault>
+			</activation>
+			<modules>
+				<!-- due to heterogeneous duration of test up to 300s -->
+				<module>org.eclipse.papyrus.sysml14.validation.tests</module>
+			</modules>
+		</profile>
+	</profiles>
+	
+</project>
diff --git a/tests/diagram/.settings/org.eclipse.core.resources.prefs b/tests/diagram/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/diagram/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.classpath b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.project b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.project
new file mode 100644
index 0000000..936576c
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.settings/org.eclipse.core.resources.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.settings/org.eclipse.jdt.core.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..8ddd9a8
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,296 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..34cbdbb
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.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 2.0\n * which accompanies this distribution, and is available at\n * https\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.settings/org.eclipse.m2e.core.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/META-INF/MANIFEST.MF b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..64602b2
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.interactionoverview;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.profile;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.statemachine;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.types;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.sysml16.diagram.blockdefinition;bundle-version="1.0.0"
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests
+Export-Package: org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests.resources
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/about.html b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/build.properties b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/build.properties
new file mode 100644
index 0000000..a6d6242
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               plugin.properties
+src.includes = about.html
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/plugin.properties b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/plugin.properties
new file mode 100644
index 0000000..92cc295
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/plugin.properties
@@ -0,0 +1,14 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Block Definition Diagram Tests
+Bundle-Vendor=Eclipse Modeling Project
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/pom.xml b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/pom.xml
new file mode 100644
index 0000000..ad20f9b
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.diagram.tests</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests</name>
+	<description>This plug-in contains the unit tests relatives to blockdefinition part of SysML 1.6 diagram.</description>
+</project>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/tests/resources/ModelValidationTest.java b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/tests/resources/ModelValidationTest.java
new file mode 100644
index 0000000..7b4a11d
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml16/diagram/blockdefinition/tests/resources/ModelValidationTest.java
@@ -0,0 +1,85 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests.resources;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.diagram.blockdefinition.Activator;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+/**
+ * This is a parameterized test to validate all model in the plugin.
+ */
+@RunWith(Parameterized.class)
+public class ModelValidationTest {
+
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] {
+				// FIXME still invalid {"/resources/style/blockDefinitionDiagram.css"},
+				{ "/resources/configuration/blockDefinitionDiagramConfig.expansionmodel" }, //$NON-NLS-1$
+				{ "/resources/palette/blockDefinitionDiagram.paletteconfiguration" }, //$NON-NLS-1$
+		});
+	}
+
+	private String modelPath;
+
+	public ModelValidationTest(String modelPath) {
+		this.modelPath = modelPath;
+	}
+
+	@BeforeClass
+	public static void forceElementTypeLoads() {
+		ElementTypeSetConfigurationRegistry.getInstance();
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validateModel() {
+		String fullPath = Activator.PLUGIN_ID + this.modelPath;
+		URI modelPlatformURI = URI.createPlatformPluginURI(fullPath, true);
+		Resource resource = new ResourceSetImpl().getResource(modelPlatformURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The " + modelPath + " model is invalid " + print(diagnostic), Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+	// FIXME : Something should exist in API to do that
+	private String print(Diagnostic diagnostic) {
+		List<Diagnostic> children = diagnostic.getChildren();
+		StringBuilder stringBuilder = new StringBuilder(diagnostic.getMessage());
+		for (Diagnostic diagnosticChildren : children) {
+			stringBuilder.append("\n"); //$NON-NLS-1$
+			stringBuilder.append(diagnosticChildren.getMessage());
+		}
+		return stringBuilder.toString();
+	}
+
+}
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.classpath b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.project b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.project
new file mode 100644
index 0000000..0ee9585
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.diagram.common.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.settings/org.eclipse.core.resources.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.settings/org.eclipse.jdt.core.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..8ddd9a8
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,296 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..34cbdbb
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.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 2.0\n * which accompanies this distribution, and is available at\n * https\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.settings/org.eclipse.m2e.core.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/META-INF/MANIFEST.MF b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..aa2b263
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.diagram.common.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.communication;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.diagram.component;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.deployment;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.interactionoverview;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.profile;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.statemachine;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.timing;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.uml.diagram.usecase;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.types;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.sysml16.diagram.common;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.service.types;bundle-version="1.0.0"
+Export-Package: org.eclipse.papyrus.sysml16.diagram.common.tests.resources,
+ org.eclipse.papyrus.sysml16.diagram.common.tests.util
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.diagram.common.tests
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/about.html b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/build.properties b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/build.properties
new file mode 100644
index 0000000..a6d6242
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               plugin.properties
+src.includes = about.html
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/plugin.properties b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/plugin.properties
new file mode 100644
index 0000000..8b40f54
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/plugin.properties
@@ -0,0 +1,14 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Common Diagram Tests
+Bundle-Vendor=Eclipse Modeling Project
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/pom.xml b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/pom.xml
new file mode 100644
index 0000000..d0905eb
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.diagram.tests</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.diagram.common.tests</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.diagram.common.tests</name>
+	<description>This plug-in contains the unit tests relatives to common part of all SysML 1.6 diagrams.</description>
+</project>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/src/org/eclipse/papyrus/sysml16/diagram/common/tests/resources/SysML16ClassDiagramElementTypesExtensionTest.java b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/src/org/eclipse/papyrus/sysml16/diagram/common/tests/resources/SysML16ClassDiagramElementTypesExtensionTest.java
new file mode 100644
index 0000000..b95d978
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/src/org/eclipse/papyrus/sysml16/diagram/common/tests/resources/SysML16ClassDiagramElementTypesExtensionTest.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.tests.resources;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.infra.types.AbstractMatcherConfiguration;
+import org.eclipse.papyrus.infra.types.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.types.SpecializationTypeConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * 
+ */
+public class SysML16ClassDiagramElementTypesExtensionTest {
+
+	public static final String CLASS_DIAGRAM_EXTENSION_ELEMENT_TYPE_PATH = "org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations"; //$NON-NLS-1$
+
+	@BeforeClass
+	public static void loadSysMLDefinition() {
+		ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+		Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = instance.getElementTypeSetConfigurations();
+		Map<String, ElementTypeSetConfiguration> map = elementTypeSetConfigurations.get(SysMLServiceTypeUtil.SYSML16_CONTEXT_ID);
+		ElementTypeSetConfiguration elementTypeSetConfiguration = map.get("org.eclipse.papyrus.sysml16di.elementTypeSet.extension"); //$NON-NLS-1$
+		Assert.assertNotNull("The SysML element type set definition is missing", elementTypeSetConfiguration); //$NON-NLS-1$
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validateSysML16ClassDiagramElementTypesExtensionModel() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(CLASS_DIAGRAM_EXTENSION_ELEMENT_TYPE_PATH, true);
+		Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The element type model is not valid ", Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+
+	/**
+	 * Check that all SpecializationTypeConfiguration have a matcher
+	 * (This is no more required for avoiding to broke UML Diagrams since contextid but still a good idea)
+	 */
+	@Test
+	public void checkElementTypeMatcher() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(CLASS_DIAGRAM_EXTENSION_ELEMENT_TYPE_PATH, true);
+		ResourceSetImpl resourceSetImpl = new ResourceSetImpl();
+		Resource resource = resourceSetImpl.getResource(createPlatformPluginURI, true);
+		TreeIterator<EObject> allContents = resource.getAllContents();
+		while (allContents.hasNext()) {
+			EObject eObject = (EObject) allContents.next();
+			if (eObject instanceof ElementTypeSetConfiguration) {
+				ElementTypeSetConfiguration elementTypeSetConfiguration = (ElementTypeSetConfiguration) eObject;
+				EList<ElementTypeConfiguration> elementTypeConfigurations = elementTypeSetConfiguration.getElementTypeConfigurations();
+				for (ElementTypeConfiguration elementTypeConfiguration : elementTypeConfigurations) {
+					if (elementTypeConfiguration instanceof SpecializationTypeConfiguration) {
+						SpecializationTypeConfiguration specializationTypeConfiguration = (SpecializationTypeConfiguration) elementTypeConfiguration;
+						AbstractMatcherConfiguration matcherConfiguration = specializationTypeConfiguration.getMatcherConfiguration();
+						Assert.assertNotNull(specializationTypeConfiguration.getName()
+								+ "is missing its matcher. All SysML 1.6 SpecializationTypeConfiguration must have a matcher. By default, use org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher)", matcherConfiguration); //$NON-NLS-1$ //$NON-NLS-2$
+					}
+				}
+			}
+		}
+	}
+
+}
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/src/org/eclipse/papyrus/sysml16/diagram/common/tests/resources/SysML16CompositeDiagramElementTypesExtensionTest.java b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/src/org/eclipse/papyrus/sysml16/diagram/common/tests/resources/SysML16CompositeDiagramElementTypesExtensionTest.java
new file mode 100644
index 0000000..22013fd
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/src/org/eclipse/papyrus/sysml16/diagram/common/tests/resources/SysML16CompositeDiagramElementTypesExtensionTest.java
@@ -0,0 +1,94 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.tests.resources;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.infra.types.AbstractMatcherConfiguration;
+import org.eclipse.papyrus.infra.types.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.types.SpecializationTypeConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * This class is to check any change in the SysML 1.6 Composite Structure Diagram element type id
+ * (since the ids can be used a specialization they are part of public API)
+ *
+ */
+public class SysML16CompositeDiagramElementTypesExtensionTest {
+
+	public static final String COMPOSITE_DIAGRAM_EXTENSION_ELEMENT_TYPE_PATH = "org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16Di-extension.elementtypesconfigurations"; //$NON-NLS-1$
+
+	@BeforeClass
+	public static void loadSysMLDefinition() {
+		ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+		Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = instance.getElementTypeSetConfigurations();
+		Map<String, ElementTypeSetConfiguration> map = elementTypeSetConfigurations.get(SysMLServiceTypeUtil.SYSML16_CONTEXT_ID);
+		ElementTypeSetConfiguration elementTypeSetConfiguration = map.get("org.eclipse.papyrus.sysml16di.elementTypeSet.extension"); //$NON-NLS-1$
+		Assert.assertNotNull("The SysML element type set definition is missing", elementTypeSetConfiguration); //$NON-NLS-1$
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validateSysML16ClassDiagramElementTypesExtensionModel() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(COMPOSITE_DIAGRAM_EXTENSION_ELEMENT_TYPE_PATH, true);
+		Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The element type model is not valid ", Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+
+	/**
+	 * Check that all SpecializationTypeConfiguration have a matcher
+	 * (This is no more required for avoiding to broke UML Diagrams since contextid but still a good idea)
+	 */
+	@Test
+	public void checkElementTypeMatcher() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(COMPOSITE_DIAGRAM_EXTENSION_ELEMENT_TYPE_PATH, true);
+		ResourceSetImpl resourceSetImpl = new ResourceSetImpl();
+		Resource resource = resourceSetImpl.getResource(createPlatformPluginURI, true);
+		TreeIterator<EObject> allContents = resource.getAllContents();
+		while (allContents.hasNext()) {
+			EObject eObject = (EObject) allContents.next();
+			if (eObject instanceof ElementTypeSetConfiguration) {
+				ElementTypeSetConfiguration elementTypeSetConfiguration = (ElementTypeSetConfiguration) eObject;
+				EList<ElementTypeConfiguration> elementTypeConfigurations = elementTypeSetConfiguration.getElementTypeConfigurations();
+				for (ElementTypeConfiguration elementTypeConfiguration : elementTypeConfigurations) {
+					if (elementTypeConfiguration instanceof SpecializationTypeConfiguration) {
+						SpecializationTypeConfiguration specializationTypeConfiguration = (SpecializationTypeConfiguration) elementTypeConfiguration;
+						AbstractMatcherConfiguration matcherConfiguration = specializationTypeConfiguration.getMatcherConfiguration();
+						Assert.assertNotNull(specializationTypeConfiguration.getName()
+								+ "is missing its matcher. All SysML 1.6 SpecializationTypeConfiguration must have a matcher. By default, use org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher)", matcherConfiguration); //$NON-NLS-1$
+					}
+				}
+			}
+		}
+	}
+
+}
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/src/org/eclipse/papyrus/sysml16/diagram/common/tests/resources/SysMLDiUMLTest.java b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/src/org/eclipse/papyrus/sysml16/diagram/common/tests/resources/SysMLDiUMLTest.java
new file mode 100644
index 0000000..143af10
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/src/org/eclipse/papyrus/sysml16/diagram/common/tests/resources/SysMLDiUMLTest.java
@@ -0,0 +1,83 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.tests.resources;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.infra.types.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * This class is to test the validity of sysmldi element types.
+ */
+public class SysMLDiUMLTest {
+
+	public static final String SYSMLDI_ELEMENT_TYPE_PATH = "org.eclipse.papyrus.sysml16.diagram.common/resources/SysML16DiUML.elementtypesconfigurations"; //$NON-NLS-1$
+
+	@BeforeClass
+	public static void loadSysMLDefinition() {
+		ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+		Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = instance.getElementTypeSetConfigurations();
+		Map<String, ElementTypeSetConfiguration> map = elementTypeSetConfigurations.get(SysMLServiceTypeUtil.SYSML16_CONTEXT_ID);
+		ElementTypeSetConfiguration elementTypeSetConfiguration = map.get("org.eclipse.papyrus.sysml16di.elementTypes"); //$NON-NLS-1$
+		Assert.assertNotNull("The SysML element type set definition is missing", elementTypeSetConfiguration); //$NON-NLS-1$
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+
+	@Test
+	public void validateSysML16ElementTypesModel() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(SYSMLDI_ELEMENT_TYPE_PATH, true);
+		Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The element type model is not valid ", Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+
+	/**
+	 * Check if there is a duplicated identifier in all loaded element types
+	 */
+	@Test
+	public void checkAlreadyExistingId() {
+		ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+		Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = instance.getElementTypeSetConfigurations();
+		Map<String, ElementTypeSetConfiguration> map = elementTypeSetConfigurations.get(SysMLServiceTypeUtil.SYSML16_CONTEXT_ID);
+		List<String> alreadyCheckedIds = new ArrayList<>();
+		for (ElementTypeSetConfiguration elementTypeSetConfiguration : map.values()) {
+			EList<ElementTypeConfiguration> elementTypeConfigurations = elementTypeSetConfiguration.getElementTypeConfigurations();
+			for (ElementTypeConfiguration elementTypeConfiguration : elementTypeConfigurations) {
+				String identifier = elementTypeConfiguration.getIdentifier();
+				Assert.assertFalse("Duplicated elementtype identifer " + identifier, alreadyCheckedIds.contains(identifier)); //$NON-NLS-1$
+				alreadyCheckedIds.add(identifier);
+			}
+		}
+	}
+
+}
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/src/org/eclipse/papyrus/sysml16/diagram/common/tests/util/GraphicalSysMLServiceTypeUtilTest.java b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/src/org/eclipse/papyrus/sysml16/diagram/common/tests/util/GraphicalSysMLServiceTypeUtilTest.java
new file mode 100644
index 0000000..52001b1
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.common.tests/src/org/eclipse/papyrus/sysml16/diagram/common/tests/util/GraphicalSysMLServiceTypeUtilTest.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.common.tests.util;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.diagram.common.util.GraphicalSysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Check constant of GraphicalSysMLServiceTypeUtil.
+ */
+public class GraphicalSysMLServiceTypeUtilTest {
+
+	@BeforeClass
+	public static void loadSysMLDefinition() {
+		ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+		Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = instance.getElementTypeSetConfigurations();
+		Map<String, ElementTypeSetConfiguration> map = elementTypeSetConfigurations.get(SysMLServiceTypeUtil.SYSML16_CONTEXT_ID);
+		ElementTypeSetConfiguration elementTypeSetConfiguration = map.get("org.eclipse.papyrus.sysml16di.elementTypes"); //$NON-NLS-1$
+		Assert.assertNotNull("The SysML element type set definition is missing", elementTypeSetConfiguration); //$NON-NLS-1$
+	}
+
+
+	@Test
+	public void checkConstraintLabelElementTypeId() {
+		Assert.assertTrue("ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINT_LABEL should have a valid element id : ", SysMLServiceTypeUtil.isKnown(GraphicalSysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINT_LABEL)); //$NON-NLS-1$
+	}
+
+	@Test
+	public void checkParameterBorderItemLabelElementTypeId() {
+		Assert.assertTrue("ORG_ECLIPSE_PAPYRUS_SYSML16_PARAMETER_BORDER_ITEM should have a valid element id : ", SysMLServiceTypeUtil.isKnown(GraphicalSysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_PARAMETER_BORDER_ITEM)); //$NON-NLS-1$
+	}
+
+}
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.classpath b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.project b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.project
new file mode 100644
index 0000000..40f31f3
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.diagram.internalblock.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.settings/org.eclipse.core.resources.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.settings/org.eclipse.jdt.core.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..8ddd9a8
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,296 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..34cbdbb
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.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 2.0\n * which accompanies this distribution, and is available at\n * https\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.settings/org.eclipse.m2e.core.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/META-INF/MANIFEST.MF b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..73020bf
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.diagram.internalblock.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.interactionoverview;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.profile;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.statemachine;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.types;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.sysml16.diagram.internalblock;bundle-version="1.0.0"
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.diagram.internalblock.tests
+Export-Package: org.eclipse.papyrus.sysml16.diagram.internalblock.tests.resources
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/about.html b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/build.properties b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/build.properties
new file mode 100644
index 0000000..a6d6242
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               plugin.properties
+src.includes = about.html
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/plugin.properties b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/plugin.properties
new file mode 100644
index 0000000..2c2d169
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/plugin.properties
@@ -0,0 +1,14 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Internal Block Diagram Tests
+Bundle-Vendor=Eclipse Modeling Project
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/pom.xml b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/pom.xml
new file mode 100644
index 0000000..119533d
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.diagram.tests</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.diagram.internalblock.tests</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.diagram.internalblock.tests</name>
+	<description>This plug-in contains the unit tests relatives to internalblock part of SysML 1.6 diagram.</description>
+</project>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/src/org/eclipse/papyrus/sysml16/diagram/internalblock/tests/resources/ModelValidationTest.java b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/src/org/eclipse/papyrus/sysml16/diagram/internalblock/tests/resources/ModelValidationTest.java
new file mode 100644
index 0000000..88cb259
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.internalblock.tests/src/org/eclipse/papyrus/sysml16/diagram/internalblock/tests/resources/ModelValidationTest.java
@@ -0,0 +1,85 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.internalblock.tests.resources;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.diagram.internalblock.Activator;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+/**
+ * This is a parameterized test to validate all model in the plugin.
+ */
+@RunWith(Parameterized.class)
+public class ModelValidationTest {
+
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] {
+				// FIXME css invalid {"/resources/style/internalBlockDiagram.css"},
+				{ "/resources/configuration/internaBlockDiagramConfig.expansionmodel" }, //$NON-NLS-1$
+				{ "/resources/palette/internalBlockDiagram.paletteconfiguration" }, //$NON-NLS-1$
+		});
+	}
+
+	private String modelPath;
+
+	public ModelValidationTest(String modelPath) {
+		this.modelPath = modelPath;
+	}
+
+	@BeforeClass
+	public static void loadSysml16Definition() {
+		ElementTypeSetConfigurationRegistry.getInstance();
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validateModel() {
+		String fullPath = Activator.PLUGIN_ID + this.modelPath;
+		URI modelPlatformURI = URI.createPlatformPluginURI(fullPath, true);
+		Resource resource = new ResourceSetImpl().getResource(modelPlatformURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The " + modelPath + " model is invalid " + print(diagnostic), Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+	// FIXME : Something should exist in API to do that
+	private String print(Diagnostic diagnostic) {
+		List<Diagnostic> children = diagnostic.getChildren();
+		StringBuilder stringBuilder = new StringBuilder(diagnostic.getMessage());
+		for (Diagnostic diagnosticChildren : children) {
+			stringBuilder.append("\n"); //$NON-NLS-1$
+			stringBuilder.append(diagnosticChildren.getMessage());
+		}
+		return stringBuilder.toString();
+	}
+
+}
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.classpath b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.project b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.project
new file mode 100644
index 0000000..f2068c8
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.diagram.parametric.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.settings/org.eclipse.core.resources.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.settings/org.eclipse.jdt.core.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..8ddd9a8
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,296 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..34cbdbb
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.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 2.0\n * which accompanies this distribution, and is available at\n * https\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.settings/org.eclipse.m2e.core.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/META-INF/MANIFEST.MF b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..86ebcec
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.diagram.parametric.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.interactionoverview;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.profile;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.statemachine;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.types;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.sysml16.diagram.parametric;bundle-version="1.0.0"
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.diagram.parametric.tests
+Export-Package: org.eclipse.papyrus.sysml16.diagram.parametric.tests.resources
+
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/about.html b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/build.properties b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/build.properties
new file mode 100644
index 0000000..a6d6242
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               plugin.properties
+src.includes = about.html
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/plugin.properties b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/plugin.properties
new file mode 100644
index 0000000..f6e75dd
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/plugin.properties
@@ -0,0 +1,14 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Parametric Diagram Tests
+Bundle-Vendor=Eclipse Modeling Project
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/pom.xml b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/pom.xml
new file mode 100644
index 0000000..535c240
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.diagram.tests</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.diagram.parametric.tests</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.diagram.parametric.tests</name>
+	<description>This plug-in contains the unit tests relatives to SysML 1.6 parametric diagram.</description>
+</project>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/src/org/eclipse/papyrus/sysml16/diagram/parametric/tests/resources/ModelValidationTest.java b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/src/org/eclipse/papyrus/sysml16/diagram/parametric/tests/resources/ModelValidationTest.java
new file mode 100644
index 0000000..0492820
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.parametric.tests/src/org/eclipse/papyrus/sysml16/diagram/parametric/tests/resources/ModelValidationTest.java
@@ -0,0 +1,85 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.parametric.tests.resources;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.diagram.parametric.Activator;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+/**
+ * This is a parameterized test to validate all model in the plugin.
+ */
+@RunWith(Parameterized.class)
+public class ModelValidationTest {
+
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] {
+				// FIXME should be valid{"/resources/style/parametricDiagram.css"},
+				{ "/resources/configuration/ParametricDiagramConfig.expansionmodel" }, //$NON-NLS-1$
+				{ "/resources/palette/parametric.paletteconfiguration" }, //$NON-NLS-1$
+		});
+	}
+
+	private String modelPath;
+
+	public ModelValidationTest(String modelPath) {
+		this.modelPath = modelPath;
+	}
+
+	@BeforeClass
+	public static void loadSysml16Definition() {
+		ElementTypeSetConfigurationRegistry.getInstance();
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validateModel() {
+		String fullPath = Activator.PLUGIN_ID + this.modelPath;
+		URI modelPlatformURI = URI.createPlatformPluginURI(fullPath, true);
+		Resource resource = new ResourceSetImpl().getResource(modelPlatformURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The " + modelPath + " model is invalid " + print(diagnostic), Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+	// FIXME : Something should exist in API to do that
+	private String print(Diagnostic diagnostic) {
+		List<Diagnostic> children = diagnostic.getChildren();
+		StringBuilder stringBuilder = new StringBuilder(diagnostic.getMessage());
+		for (Diagnostic diagnosticChildren : children) {
+			stringBuilder.append("\n"); //$NON-NLS-1$
+			stringBuilder.append(diagnosticChildren.getMessage());
+		}
+		return stringBuilder.toString();
+	}
+
+}
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.classpath b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.project b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.project
new file mode 100644
index 0000000..2ed7b46
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.diagram.requirement.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.settings/org.eclipse.core.resources.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.settings/org.eclipse.jdt.core.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..8ddd9a8
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,296 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..34cbdbb
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.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 2.0\n * which accompanies this distribution, and is available at\n * https\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.settings/org.eclipse.m2e.core.prefs b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/META-INF/MANIFEST.MF b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..bd3e51d
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.types;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.sysml16.diagram.requirement;bundle-version="1.0.0"
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.diagram.requirement.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.diagram.requirement.tests
+Export-Package: org.eclipse.papyrus.sysml16.diagram.requirement.tests.resources
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/about.html b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/build.properties b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/build.properties
new file mode 100644
index 0000000..a6d6242
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               plugin.properties
+src.includes = about.html
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/plugin.properties b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/plugin.properties
new file mode 100644
index 0000000..eea1ef1
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/plugin.properties
@@ -0,0 +1,14 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Requirement Diagram Tests
+Bundle-Vendor=Eclipse Modeling Project
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/pom.xml b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/pom.xml
new file mode 100644
index 0000000..617859b
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.diagram.tests</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml16.diagram.requirement.tests</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+	<name>org.eclipse.papyrus.sysml16.diagram.requirement.tests</name>
+	<description>This plug-in contains the unit tests relatives to SysML 1.6 requirement diagram.</description>
+</project>
diff --git a/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/src/org/eclipse/papyrus/sysml16/diagram/requirement/tests/resources/ModelValidationTest.java b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/src/org/eclipse/papyrus/sysml16/diagram/requirement/tests/resources/ModelValidationTest.java
new file mode 100644
index 0000000..dcb403d
--- /dev/null
+++ b/tests/diagram/org.eclipse.papyrus.sysml16.diagram.requirement.tests/src/org/eclipse/papyrus/sysml16/diagram/requirement/tests/resources/ModelValidationTest.java
@@ -0,0 +1,77 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.diagram.requirement.tests.resources;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.sysml16.diagram.requirement.Activator;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+/**
+ * This is a parameterized test to validate all model in the plugin.
+ */
+@RunWith(Parameterized.class)
+public class ModelValidationTest {
+
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] {
+				// TODO: should be valid {"/resources/style/requirementDiagram.css"},
+				{ "/resources/palette/requirementDiagram.paletteconfiguration" }, //$NON-NLS-1$
+		});
+	}
+
+	private String modelPath;
+
+	public ModelValidationTest(String modelPath) {
+		this.modelPath = modelPath;
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validateModel() {
+		String fullPath = Activator.PLUGIN_ID + this.modelPath;
+		URI modelPlatformURI = URI.createPlatformPluginURI(fullPath, true);
+		Resource resource = new ResourceSetImpl().getResource(modelPlatformURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The " + modelPath + " model is invalid " + print(diagnostic), Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+	// FIXME : Something should exist in API to do that
+	private String print(Diagnostic diagnostic) {
+		List<Diagnostic> children = diagnostic.getChildren();
+		StringBuilder stringBuilder = new StringBuilder(diagnostic.getMessage());
+		for (Diagnostic diagnosticChildren : children) {
+			stringBuilder.append("\n"); //$NON-NLS-1$
+			stringBuilder.append(diagnosticChildren.getMessage());
+		}
+		return stringBuilder.toString();
+	}
+
+}
diff --git a/tests/diagram/pom.xml b/tests/diagram/pom.xml
new file mode 100644
index 0000000..a705288
--- /dev/null
+++ b/tests/diagram/pom.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.sysml16.plugins.tests</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.diagram.tests</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML Diagram Tests</name>
+	<description>This set of modules are in charge of defining the SysML 1.6 diagrams using the following frameworks: viewpoint, expansion model, palette and css.</description>
+	<modules>
+		<module>org.eclipse.papyrus.sysml16.diagram.common.tests</module>
+		<module>org.eclipse.papyrus.sysml16.diagram.blockdefinition.tests</module>
+		<module>org.eclipse.papyrus.sysml16.diagram.internalblock.tests</module>
+		<module>org.eclipse.papyrus.sysml16.diagram.parametric.tests</module>
+		<module>org.eclipse.papyrus.sysml16.diagram.requirement.tests</module>
+	</modules>
+</project>
diff --git a/tests/gui/.settings/org.eclipse.core.resources.prefs b/tests/gui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/gui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.classpath b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.classpath
new file mode 100644
index 0000000..81814de
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.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="test/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.project b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.project
new file mode 100644
index 0000000..dfb36ae
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.architecture.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.settings/org.eclipse.core.resources.prefs b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.settings/org.eclipse.jdt.core.prefs b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.settings/org.eclipse.m2e.core.prefs b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/META-INF/MANIFEST.MF b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..b9129d0
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Bundle-ActivationPolicy: lazy
+Manifest-Version: 1.0
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Description: %Bundle-Description
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.architecture.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="4.0.0",
+ org.eclipse.papyrus.sysml16.architecture;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.core.architecture;bundle-version="[2.0.0,3.0.0)"
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.architecture.tests
+Export-Package: org.eclipse.papyrus.sysml16.architecture.tests.resources,
+ org.eclipse.papyrus.sysml16.architecture.tests.util
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/about.html b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/build.properties b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/build.properties
new file mode 100644
index 0000000..330a9a6
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/build.properties
@@ -0,0 +1,7 @@
+source.. = test/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.properties,\
+               about.html
+src.includes = about.html
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/plugin.properties b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/plugin.properties
new file mode 100644
index 0000000..acf33de
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/plugin.properties
@@ -0,0 +1,14 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Architecture Tests
+Bundle-Vendor=Eclipse Modeling Project
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/pom.xml b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/pom.xml
new file mode 100644
index 0000000..9dcca9e
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.eclipse.papyrus.sysml</groupId>
+    <artifactId>org.eclipse.papyrus.sysml16.gui.tests</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>org.eclipse.papyrus.sysml16.architecture.tests</artifactId>
+  <packaging>eclipse-test-plugin</packaging>
+  <description>All unit tests  related to the SysML 1.6 architecture</description>
+</project>
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/test/org/eclipse/papyrus/sysml16/architecture/tests/resources/ArchitectureValidationTest.java b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/test/org/eclipse/papyrus/sysml16/architecture/tests/resources/ArchitectureValidationTest.java
new file mode 100644
index 0000000..dcdab77
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/test/org/eclipse/papyrus/sysml16/architecture/tests/resources/ArchitectureValidationTest.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.architecture.tests.resources;
+
+import java.lang.reflect.Method;
+
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.XMIResource;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test the architecture model : - validate the model.
+ */
+public class ArchitectureValidationTest {
+
+	public static final String ARCHITECTURE_PATH = "org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture"; //$NON-NLS-1$
+
+	@BeforeClass
+	public static void loadElementTypeSet() {
+		ElementTypeSetConfigurationRegistry.getInstance();
+	}
+
+	/**
+	 * Check that if an element has a field id then xmi:id should be the same
+	 */
+	@Test
+	public void checkXMIIds() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(ARCHITECTURE_PATH, true);
+		ResourceSetImpl resourceSetImpl = new ResourceSetImpl();
+		Resource resource = resourceSetImpl.getResource(createPlatformPluginURI, true);
+
+		TreeIterator<EObject> allContents = resource.getAllContents();
+		while (allContents.hasNext()) {
+			EObject eObject = (EObject) allContents.next();
+
+			String id = getId(eObject);
+			String xmiId = ((XMIResource) resource).getID(eObject);
+			if (id != null) {
+				Assert.assertEquals("Xmi id and id field should be the same", id, xmiId); //$NON-NLS-1$
+			}
+		}
+	}
+
+	// SMALL hack to get id if present
+	// TODO: Would be nice to have an IIdentifiedElement interface in the MetaModel
+	public static String getId(Object obj) {
+		try {
+			Method method = obj.getClass().getMethod("getId"); //$NON-NLS-1$
+			if (method != null) {
+				return method.invoke(obj).toString();
+			}
+		} catch (Exception e) {
+			// doesn't matter
+		}
+		return null;
+	}
+
+}
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/test/org/eclipse/papyrus/sysml16/architecture/tests/resources/ModelValidationTest.java b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/test/org/eclipse/papyrus/sysml16/architecture/tests/resources/ModelValidationTest.java
new file mode 100644
index 0000000..5f5d4d0
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/test/org/eclipse/papyrus/sysml16/architecture/tests/resources/ModelValidationTest.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.architecture.tests.resources;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.architecture.Activator;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+/**
+ * This is a parameterized test to validate all model in the plugin.
+ */
+@RunWith(Parameterized.class)
+public class ModelValidationTest {
+
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] {
+				{ "/resources/sysml16.architecture" }, //$NON-NLS-1$
+				{ "/resources/SysMLAnnotation.paletteconfiguration" }, //$NON-NLS-1$
+				{ "/resources/SysMLStructure.paletteconfiguration" }, //$NON-NLS-1$
+				{ "/resources/SysMLViewpoint.paletteconfiguration" }, //$NON-NLS-1$
+				{ "/resources/SysMLSequence.paletteconfiguration" }, //$NON-NLS-1$
+				{ "/resources/SysMLStateMachine.paletteconfiguration" }, //$NON-NLS-1$
+				{ "/resources/SysMLUseCase.paletteconfiguration" }, //$NON-NLS-1$
+		});
+	}
+
+	private String modelPath;
+
+	public ModelValidationTest(String modelPath) {
+		this.modelPath = modelPath;
+	}
+
+	@BeforeClass
+	public static void loadElementTypeSet() {
+		ElementTypeSetConfigurationRegistry.getInstance();
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validateModel() {
+		String fullPath = Activator.PLUGIN_ID + this.modelPath;
+		URI modelPlatformURI = URI.createPlatformPluginURI(fullPath, true);
+		Resource resource = new ResourceSetImpl().getResource(modelPlatformURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The " + modelPath + " model is invalid " + print(diagnostic), Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+	// FIXME : Something should exist in API to do that
+	private String print(Diagnostic diagnostic) {
+		List<Diagnostic> children = diagnostic.getChildren();
+		StringBuilder stringBuilder = new StringBuilder(diagnostic.getMessage());
+		for (Diagnostic diagnosticChildren : children) {
+			stringBuilder.append("\n"); //$NON-NLS-1$
+			stringBuilder.append(diagnosticChildren.getMessage());
+		}
+		return stringBuilder.toString();
+	}
+}
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/test/org/eclipse/papyrus/sysml16/architecture/tests/util/SysML16ArchitectureUtilTest.java b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/test/org/eclipse/papyrus/sysml16/architecture/tests/util/SysML16ArchitectureUtilTest.java
new file mode 100644
index 0000000..210cde6
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.architecture.tests/test/org/eclipse/papyrus/sysml16/architecture/tests/util/SysML16ArchitectureUtilTest.java
@@ -0,0 +1,100 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.architecture.tests.util;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureContext;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDomain;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureViewpoint;
+import org.eclipse.papyrus.infra.core.architecture.RepresentationKind;
+import org.eclipse.papyrus.sysml16.architecture.util.SysML16chitectureUtil;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class SysML16ArchitectureUtilTest {
+
+	public static final String ARCHITECTURE_PATH = "org.eclipse.papyrus.sysml16.architecture/resources/sysml16.architecture"; //$NON-NLS-1$
+
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] {
+				{ SysML16chitectureUtil.DIAGRAM_ACTIVITY_ID },
+				{ SysML16chitectureUtil.DIAGRAM_BLOCK_DEFINITION_ID },
+				{ SysML16chitectureUtil.DIAGRAM_SEQUENCE_ID },
+				{ SysML16chitectureUtil.DIAGRAM_INTERNAL_BLOCK_ID },
+				{ SysML16chitectureUtil.DIAGRAM_PACKAGE_ID },
+				{ SysML16chitectureUtil.DIAGRAM_PARAMETRIC_ID },
+				{ SysML16chitectureUtil.DIAGRAM_REQUIREMENT_ID },
+				{ SysML16chitectureUtil.DIAGRAM_STATE_MACHINE_ID },
+				{ SysML16chitectureUtil.DIAGRAM_USE_CASE_ID },
+				{ SysML16chitectureUtil.TABLE_REQUIREMENT_ID },
+				{ SysML16chitectureUtil.TABLE_REQUIREMENT_TREE_ID },
+				{ SysML16chitectureUtil.TABLE_ALLOCATION_ID },
+		});
+	}
+
+	private String representationId;
+
+	public SysML16ArchitectureUtilTest(String representationId) {
+		this.representationId = representationId;
+	}
+
+	/**
+	 * Check that constant are referring to an existing element
+	 */
+	@Test
+	public void checkRepresentationIds() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(ARCHITECTURE_PATH, true);
+		ResourceSetImpl resourceSetImpl = new ResourceSetImpl();
+		Resource resource = resourceSetImpl.getResource(createPlatformPluginURI, true);
+		Assert.assertFalse("SysML 1.6 architecture should not be empty", resource.getContents().isEmpty()); //$NON-NLS-1$
+		EObject firstEObject = resource.getContents().get(0);
+		Assert.assertTrue("First element of architecture should be an ArchitectureDomain", firstEObject instanceof ArchitectureDomain); //$NON-NLS-1$
+		ArchitectureDomain architectureDomain = (ArchitectureDomain) firstEObject;
+		Assert.assertNotNull("Unknow representation id " + representationId, getRepresentationKindById(architectureDomain, representationId)); //$NON-NLS-1$
+	}
+
+
+	///////////////////////////////////////////////////////////////////////////////
+	// FIXME: should be in Papyrus core API
+	protected RepresentationKind getRepresentationKindById(ArchitectureDomain architectureDomain, String id) {
+		Map<String, RepresentationKind> allRepresentationKind = new HashMap<>();
+		EList<ArchitectureContext> contexts = architectureDomain.getContexts();
+		for (ArchitectureContext architectureContext : contexts) {
+			EList<ArchitectureViewpoint> viewpoints = architectureContext.getViewpoints();
+			for (ArchitectureViewpoint architectureViewpoint : viewpoints) {
+				for (RepresentationKind representationKind : architectureViewpoint.getRepresentationKinds()) {
+					allRepresentationKind.put(representationKind.getId(), representationKind);
+				}
+			}
+		}
+		return allRepresentationKind.get(id);
+	}
+	////////////////////////////////////////////////////////////////////////////////
+}
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.classpath b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.classpath
new file mode 100644
index 0000000..81814de
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.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="test/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.project b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.project
new file mode 100644
index 0000000..7aaf2a9
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.ui.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.settings/org.eclipse.core.resources.prefs b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.settings/org.eclipse.jdt.core.prefs b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.settings/org.eclipse.m2e.core.prefs b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/META-INF/MANIFEST.MF b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a461bbf
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,54 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.ui.navigator;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.ui.views.properties.tabbed;bundle-version="[3.5.200,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.4.300,4.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.5.0,2.0.0)",
+ org.junit;bundle-version="[4.10.0,5.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.0.0,6.0.0)",
+ org.eclipse.papyrus.views.modelexplorer;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.paletteconfiguration;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.widgets;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.newchild;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.emf.facet.custom.core;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.communication;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.diagram.component;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.deployment;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.interactionoverview;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.profile;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.statemachine;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.timing;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.uml.diagram.usecase;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.edit;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.service.types;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.common;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.blockdefinition;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.internalblock;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.parametric;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.diagram.requirement;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.nattable.common;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.nattable.allocation;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.nattable.requirement;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.nattable.ui;bundle-version="1.0.0",
+ org.eclipse.papyrus.sysml16.ui;bundle-version="1.0.0"
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.ui.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.ui.tests
+Export-Package: org.eclipse.papyrus.sysml16.ui.tests.images,
+ org.eclipse.papyrus.sysml16.ui.tests.resources
+
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/about.html b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/build.properties b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/build.properties
new file mode 100644
index 0000000..330a9a6
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/build.properties
@@ -0,0 +1,7 @@
+source.. = test/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.properties,\
+               about.html
+src.includes = about.html
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/plugin.properties b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/plugin.properties
new file mode 100644
index 0000000..e2fe94d
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/plugin.properties
@@ -0,0 +1,14 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 UI Tests
+Bundle-Vendor=Eclipse Modeling Project
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/pom.xml b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/pom.xml
new file mode 100644
index 0000000..0fa7250
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.eclipse.papyrus.sysml</groupId>
+    <artifactId>org.eclipse.papyrus.sysml16.gui.tests</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>org.eclipse.papyrus.sysml16.ui.tests</artifactId>
+  <packaging>eclipse-test-plugin</packaging>
+  <name>org.eclipse.papyrus.sysml16.ui.tests</name>
+  <description>All unit tests related to the user interface.</description>
+</project>
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/images/SysmlProfileImageTest.java b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/images/SysmlProfileImageTest.java
new file mode 100644
index 0000000..ef96650
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/images/SysmlProfileImageTest.java
@@ -0,0 +1,66 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.ui.tests.images;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Set;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.papyrus.uml.tools.utils.UMLUtil;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPlugin;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Basic test for SysML 1.6 images.
+ */
+public class SysmlProfileImageTest {
+
+	/**
+	 * Check that images for Stereotypes defined in the profile are all present in the
+	 * 
+	 * @throws IOException
+	 */
+	@Test
+	public void testImageLocation() throws IOException {
+		URI uri = UMLPlugin.getEPackageNsURIToProfileLocationMap().get(SysMLResource.PROFILE_URI);
+		Resource resource = new ResourceSetImpl().getResource(uri, true);
+		Set<Stereotype> allStereotypes = UMLUtil.getAllStereotypes((Package) resource.getAllContents().next());
+		for (Stereotype stereotype : allStereotypes) {
+			EList<Image> icons = stereotype.getIcons();
+			for (Image image : icons) {
+				String location = image.getLocation();
+				try {
+					URL url = new URL(location);
+					Assert.assertNotNull("The icon location :" + location + " can't be found", FileLocator.find(url)); //$NON-NLS-1$ //$NON-NLS-2$
+				} catch (MalformedURLException e) {
+					Assert.fail("The icon for " + stereotype.getName() + " is refering to a bad location : " + location); //$NON-NLS-1$ //$NON-NLS-2$
+				}
+			}
+		}
+	}
+
+}
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/resources/ExpressionValidationTest.java b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/resources/ExpressionValidationTest.java
new file mode 100644
index 0000000..6350168
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/resources/ExpressionValidationTest.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.ui.tests.resources;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test the expression model : - validate the model
+ */
+public class ExpressionValidationTest {
+
+	public static final String EXPRESSIONS_PATH = "org.eclipse.papyrus.sysml16.nattable.common/resources/SysML16.expressions"; //$NON-NLS-1$
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void useValidation() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(EXPRESSIONS_PATH, true);
+		Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The expression model is not valid " + EXPRESSIONS_PATH, Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+
+}
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/resources/ModelValidationTest.java b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/resources/ModelValidationTest.java
new file mode 100644
index 0000000..04c416a
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/resources/ModelValidationTest.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.ui.tests.resources;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.ui.Activator;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+/**
+ * This is a parameterized test to validate all model in the plugin.
+ */
+@RunWith(Parameterized.class)
+public class ModelValidationTest {
+
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] {
+				{ "/resources/SysML1.6ConstraintEnvironment.xmi" }, //$NON-NLS-1$
+				{ "/resources/SysML16.creationmenumodel" }, //$NON-NLS-1$
+				{ "/resources/SysML16Edges.creationmenumodel" }, //$NON-NLS-1$
+				{ "/resources/UML4SysML16.creationmenumodel" }, //$NON-NLS-1$
+				{ "/resources/UML4SysML16Edges.creationmenumodel" }, //$NON-NLS-1$
+				// Model seems not to be valid due to the use of two classifier with the same name and a missing proxy to resolve a metamodel.
+				// {"/resources/custom/OperationalSysML.custom"}
+				// FIXME missing org.eclipse.papyrus.customization.properties.model.xwt;bundle-version="[1.1.0,2.0.0)" dependency in oxygen
+				// {"/resources/properties/SysML1.6.ctx"}
+		});
+	}
+
+	private String modelPath;
+
+	public ModelValidationTest(String modelPath) {
+		this.modelPath = modelPath;
+	}
+
+	@BeforeClass
+	public static void loadElementTypeSet() {
+		ElementTypeSetConfigurationRegistry.getInstance();
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validateModel() {
+		String fullPath = Activator.PLUGIN_ID + this.modelPath;
+		URI modelPlatformURI = URI.createPlatformPluginURI(fullPath, true);
+		Resource resource = new ResourceSetImpl().getResource(modelPlatformURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The " + modelPath + " model is invalid " + print(diagnostic), Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+	// FIXME : Something should exist in API to do that
+	private String print(Diagnostic diagnostic) {
+		List<Diagnostic> children = diagnostic.getChildren();
+		StringBuilder stringBuilder = new StringBuilder(diagnostic.getMessage());
+		for (Diagnostic diagnosticChildren : children) {
+			stringBuilder.append("\n"); //$NON-NLS-1$
+			stringBuilder.append(diagnosticChildren.getMessage());
+		}
+		return stringBuilder.toString();
+	}
+
+
+}
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/resources/NewChildMenuTest.java b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/resources/NewChildMenuTest.java
new file mode 100644
index 0000000..00478f8
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/resources/NewChildMenuTest.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.ui.tests.resources;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.infra.newchild.elementcreationmenumodel.CreationMenu;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.ui.Activator;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test the new child model :
+ * - checks that all element type are registered
+ * - validate the model
+ */
+public class NewChildMenuTest {
+
+	public static final String NEW_CHILD_MENU_PATH = Activator.PLUGIN_ID + "/resources/SysML16.creationmenumodel"; //$NON-NLS-1$
+
+
+	@BeforeClass
+	public static void loadElementTypeSet() {
+		ElementTypeSetConfigurationRegistry.getInstance();
+	}
+
+	/**
+	 * Check that referenced element type are in the registry
+	 */
+	@Test
+	public void checkMenuNewChildElementTypeIdRefs() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(NEW_CHILD_MENU_PATH, true);
+		ResourceSetImpl resourceSetImpl = new ResourceSetImpl();
+		Resource resource = resourceSetImpl.getResource(createPlatformPluginURI, true);
+
+		TreeIterator<EObject> allContents = resource.getAllContents();
+		while (allContents.hasNext()) {
+			EObject eObject = (EObject) allContents.next();
+			if (eObject instanceof CreationMenu) {
+				String iconPath = ((CreationMenu) eObject).getIcon();
+				if (iconPath != null && !"".equals(iconPath)) {
+					try {
+						Assert.assertNotNull("The icon " + iconPath + " can't be found", FileLocator.find(new URL(iconPath))); //$NON-NLS-1$ //$NON-NLS-2$
+					} catch (MalformedURLException e) {
+						Assert.fail("The new child menu is refering to a malformed url " + iconPath); //$NON-NLS-1$
+					}
+				}
+			}
+		}
+	}
+
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void useValidation() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(NEW_CHILD_MENU_PATH, true);
+		Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The new Child menu is not valid " + NEW_CHILD_MENU_PATH, Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+
+
+}
diff --git a/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/resources/PaletteIconIdTest.java b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/resources/PaletteIconIdTest.java
new file mode 100644
index 0000000..19377e6
--- /dev/null
+++ b/tests/gui/org.eclipse.papyrus.sysml16.ui.tests/test/org/eclipse/papyrus/sysml16/ui/tests/resources/PaletteIconIdTest.java
@@ -0,0 +1,127 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.ui.tests.resources;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.infra.gmfdiag.paletteconfiguration.ChildConfiguration;
+import org.eclipse.papyrus.infra.gmfdiag.paletteconfiguration.DrawerConfiguration;
+import org.eclipse.papyrus.infra.gmfdiag.paletteconfiguration.IconDescriptor;
+import org.eclipse.papyrus.infra.gmfdiag.paletteconfiguration.PaletteConfiguration;
+import org.eclipse.papyrus.infra.gmfdiag.paletteconfiguration.ToolConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+/**
+ * Abstract class used to launch tests on a palette model :
+ * - check quality id
+ * - check existing icon
+ */
+@RunWith(Parameterized.class)
+public class PaletteIconIdTest {
+
+	private String palettePath = ""; //$NON-NLS-1$
+
+
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] {
+				{ "org.eclipse.papyrus.sysml16.diagram.blockdefinition/resources/palette/blockDefinitionDiagram.paletteconfiguration" }, //$NON-NLS-1$
+				{ "org.eclipse.papyrus.sysml16.diagram.internalblock/resources/palette/internalBlockDiagram.paletteconfiguration" }, //$NON-NLS-1$
+				{ "org.eclipse.papyrus.sysml16.diagram.parametric/resources/palette/parametric.paletteconfiguration" }, //$NON-NLS-1$
+				{ "org.eclipse.papyrus.sysml16.diagram.requirement/resources/palette/requirementDiagram.paletteconfiguration" }, //$NON-NLS-1$
+		});
+	}
+
+	public PaletteIconIdTest(String palettePath) {
+		this.palettePath = palettePath;
+	}
+
+	@Before
+	public void loadElementTypeRegistry() {
+		ElementTypeSetConfigurationRegistry.getInstance();
+	}
+
+	/**
+	 * Check palette ids and element type reference
+	 */
+	@Test
+	public void checkPaletteIds() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(palettePath, true);
+		ResourceSetImpl resourceSetImpl = new ResourceSetImpl();
+		Resource resource = resourceSetImpl.getResource(createPlatformPluginURI, true);
+
+		TreeIterator<EObject> allContents = resource.getAllContents();
+		while (allContents.hasNext()) {
+			EObject eObject = (EObject) allContents.next();
+
+			if (eObject instanceof PaletteConfiguration) {
+				PaletteConfiguration p = (PaletteConfiguration) eObject;
+				EList<DrawerConfiguration> drawerConfigurations = p.getDrawerConfigurations();
+				for (DrawerConfiguration drawerConfiguration : drawerConfigurations) {
+					EList<ChildConfiguration> ownedConfigurations = drawerConfiguration.getOwnedConfigurations();
+					for (ChildConfiguration childConfiguration : ownedConfigurations) {
+
+						if (childConfiguration instanceof ToolConfiguration) {
+							ToolConfiguration toolConfiguration = (ToolConfiguration) childConfiguration;
+
+							// check icon file
+							IconDescriptor icon = toolConfiguration.getIcon();
+							String iconPath = "platform:/plugin/" + icon.getPluginID() + "/" + icon.getIconPath(); //$NON-NLS-1$ //$NON-NLS-2$
+							if (iconPath != null && !"".equals(iconPath)) {
+								try {
+									URL url = new URL(iconPath);
+									Assert.assertNotNull("The icon " + iconPath + "(for : " + toolConfiguration.getId() + ") can't be found", FileLocator.find(url)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+								} catch (MalformedURLException e) {
+									Assert.fail("The new child menu is refering to a malformed url " + iconPath); //$NON-NLS-1$
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void useValidation() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(palettePath, true);
+		Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The palette is not valid " + palettePath, Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+
+}
diff --git a/tests/gui/pom.xml b/tests/gui/pom.xml
new file mode 100644
index 0000000..1d5b3dc
--- /dev/null
+++ b/tests/gui/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>
+		<artifactId>org.eclipse.papyrus.sysml16.plugins.tests</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.gui.tests</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML GUI Tests</name>
+	<description>This module contains the different plugins relative to the graphical user interface for SysML 1.6.</description>
+	
+	<modules>
+		<module>org.eclipse.papyrus.sysml16.architecture.tests</module>
+		<module>org.eclipse.papyrus.sysml16.ui.tests</module>
+	</modules>
+</project>
diff --git a/tests/pom.xml b/tests/pom.xml
new file mode 100644
index 0000000..c2d87ef
--- /dev/null
+++ b/tests/pom.xml
@@ -0,0 +1,62 @@
+<?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.sysml16.parent</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.plugins.tests</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML Tests Plug-ins</name>
+	<description>SysML Tests Plug-ins.</description>
+	<modules>
+		<module>core</module>
+		<module>gui</module>
+		<module>diagram</module>
+		<module>table</module>
+	</modules>
+	
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-surefire-plugin</artifactId>
+				<configuration>
+					<failIfNoTests>false</failIfNoTests>
+					<useUIHarness>true</useUIHarness>
+					<useUIThread>true</useUIThread>
+					<testFailureIgnore>true</testFailureIgnore>
+					<!-- <showEclipseLog>true</showEclipseLog> -->
+					<testFailureIgnore>true</testFailureIgnore>
+					<jvmArgs>
+						<args>${ui.test.vmargs}</args>
+					</jvmArgs>
+					<bundleStartLevel>
+						<bundle>
+							<id>${component.servicetype}</id>
+							<level>6</level>
+							<autoStart>true</autoStart>
+						</bundle>
+						<bundle>
+							<id>org.eclipse.equinox.launcher</id>
+							<level>4</level>
+							<autoStart>true</autoStart>
+						</bundle>
+					</bundleStartLevel>
+					<dependencies>
+                        <dependency>
+                            <type>p2-installable-unit</type>
+                            <artifactId>org.apache.felix.scr</artifactId>
+                        </dependency>
+						<dependency>
+							<type>p2-installable-unit</type>
+							<artifactId>org.eclipse.equinox.event</artifactId>
+						</dependency>
+					</dependencies>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
diff --git a/tests/table/.settings/org.eclipse.core.resources.prefs b/tests/table/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/table/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.classpath b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.project b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.project
new file mode 100644
index 0000000..98a3e61
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.nattable.allocation.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.settings/org.eclipse.core.resources.prefs b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.settings/org.eclipse.jdt.core.prefs b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..8ddd9a8
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,296 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+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/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..34cbdbb
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.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 2.0\n * which accompanies this distribution, and is available at\n * https\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.settings/org.eclipse.m2e.core.prefs b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/META-INF/MANIFEST.MF b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..8b01ecf
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,35 @@
+Manifest-Version: 1.0
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.ocl;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.ocl.pivot;bundle-version="[1.0.1,2.0.0)",
+ org.eclipse.ocl.xtext.essentialocl;bundle-version="[1.0.1,2.0.0)",
+ org.eclipse.emf.validation.ocl;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.ocl.ecore;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.communication;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.diagram.component;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.deployment;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.interactionoverview;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.profile;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.statemachine;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.timing;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.uml.diagram.usecase;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.ocl.xtext.essentialocl.ui;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.sysml16.nattable.allocation;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.nattable;bundle-version="[6.1.0,7.0.0)",
+ org.eclipse.papyrus.sysml16.service.types;bundle-version="1.0.0"
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-Description: %Bundle-Description
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.nattable.allocation.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.nattable.allocation.tests
+Export-Package: org.eclipse.papyrus.sysml16.nattable.allocation.tests.resources
+
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/about.html b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/build.properties b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/build.properties
new file mode 100644
index 0000000..a6d6242
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               plugin.properties
+src.includes = about.html
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/plugin.properties b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/plugin.properties
new file mode 100644
index 0000000..cfce110
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/plugin.properties
@@ -0,0 +1,15 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = Papyrus SysML 1.6 Allocation Table Tests
+Bundle-Description = This plugin provides tests for the plugin org.eclipse.papyrus.sysml16.nattable.allocation
\ No newline at end of file
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/pom.xml b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/pom.xml
new file mode 100644
index 0000000..3f5781d
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+        <groupId>org.eclipse.papyrus.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.table.tests</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>org.eclipse.papyrus.sysml16.nattable.allocation.tests</artifactId>
+  <packaging>eclipse-test-plugin</packaging>
+  <description>This plugins enables unit tests on the allocation tables.</description>
+</project>
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/src/org/eclipse/papyrus/sysml16/nattable/allocation/tests/resources/AllocationNattableTest.java b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/src/org/eclipse/papyrus/sysml16/nattable/allocation/tests/resources/AllocationNattableTest.java
new file mode 100644
index 0000000..5525f76
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.allocation.tests/src/org/eclipse/papyrus/sysml16/nattable/allocation/tests/resources/AllocationNattableTest.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.allocation.tests.resources;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.PasteEObjectConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.nattable.allocation.Activator;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test the requirement nattable model :
+ * - validate the model
+ */
+public class AllocationNattableTest {
+
+	public static final String ALLOCATION_NATTABLE_PATH = Activator.PLUGIN_ID + "/resources/allocation.nattableconfiguration"; //$NON-NLS-1$
+	
+	public static final String ALLOCATION_MATRIX_PATH = Activator.PLUGIN_ID + "/resources/allocationMatrix.nattableconfiguration"; //$NON-NLS-1$
+
+	@Before
+	public void loadElementTypeRegistry() {
+		ElementTypeSetConfigurationRegistry.getInstance();
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling.
+	 */
+	@Test
+	public void validateAllocationNattableModel() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(ALLOCATION_NATTABLE_PATH, true);
+		Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The allocation nattable model is not valid ", Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+	
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling.
+	 */
+	@Test
+	public void validateAllocationMatrixModel() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(ALLOCATION_MATRIX_PATH, true);
+		Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The allocation matrix model is not valid ", Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+
+	/**
+	 * check that the past configuration use a correct element type id
+	 */
+	@Test
+	public void checkPastedElementId() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(ALLOCATION_NATTABLE_PATH, true);
+		ResourceSetImpl resourceSetImpl = new ResourceSetImpl();
+		Resource resource = resourceSetImpl.getResource(createPlatformPluginURI, true);
+		TreeIterator<EObject> allContents = resource.getAllContents();
+		while (allContents.hasNext()) {
+			EObject eObject = (EObject) allContents.next();
+			if (eObject instanceof PasteEObjectConfiguration) {
+				PasteEObjectConfiguration pasteEObjectConfiguration = (PasteEObjectConfiguration) eObject;
+				String elementTypeId = pasteEObjectConfiguration.getPastedElementId();
+				Assert.assertTrue("Unregistred element id : " + elementTypeId, SysMLServiceTypeUtil.isKnown(elementTypeId)); //$NON-NLS-1$
+			}
+		}
+	}
+
+}
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.classpath b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.project b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.project
new file mode 100644
index 0000000..7168f0d
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml16.nattable.requirement.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.settings/org.eclipse.core.resources.prefs b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.settings/org.eclipse.jdt.core.prefs b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..8ddd9a8
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,296 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+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/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..34cbdbb
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.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 2.0\n * which accompanies this distribution, and is available at\n * https\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\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/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.settings/org.eclipse.m2e.core.prefs b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/META-INF/MANIFEST.MF b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..395d7fe
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,34 @@
+Manifest-Version: 1.0
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.ocl;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.ocl.pivot;bundle-version="[1.0.1,2.0.0)",
+ org.eclipse.ocl.xtext.essentialocl;bundle-version="[1.0.1,2.0.0)",
+ org.eclipse.emf.validation.ocl;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.ocl.ecore;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.ocl.xtext.essentialocl.ui;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.uml2.uml.resources;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.communication;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.diagram.component;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.deployment;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.interactionoverview;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.profile;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.statemachine;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.timing;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.uml.diagram.usecase;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.sysml16.nattable.requirement;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.nattable;bundle-version="[6.1.0,7.0.0)",
+ org.eclipse.papyrus.sysml16.service.types;bundle-version="1.0.0"
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.nattable.requirement.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Description: %Bundle-Description
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.nattable.requirement.tests
+Export-Package: org.eclipse.papyrus.sysml16.nattable.requirement.tests.resources
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/OSGI-INF/l10n/bundle.properties b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..dfed3ca
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,15 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/ 
+# 
+#  SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name = Papyrus SysML 1.6 Requirement Table Tests
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Description = This plugin tests the plugin org.eclipse.papyrus.sysml16.nattable.requirement
\ No newline at end of file
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/about.html b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/build.properties b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/build.properties
new file mode 100644
index 0000000..408f38e
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               OSGI-INF/,\
+               about.html
+src.includes = about.html
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/pom.xml b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/pom.xml
new file mode 100644
index 0000000..a27b904
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+        <groupId>org.eclipse.papyrus.sysml</groupId>
+		<artifactId>org.eclipse.papyrus.sysml16.table.tests</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>org.eclipse.papyrus.sysml16.nattable.requirement.tests</artifactId>
+  <packaging>eclipse-test-plugin</packaging>
+  <description>This pluygin is in charge of unit tests for requirement table.</description>
+</project>
diff --git a/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/src/org/eclipse/papyrus/sysml16/nattable/requirement/tests/resources/RequirementNattableTest.java b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/src/org/eclipse/papyrus/sysml16/nattable/requirement/tests/resources/RequirementNattableTest.java
new file mode 100644
index 0000000..c18490a
--- /dev/null
+++ b/tests/table/org.eclipse.papyrus.sysml16.nattable.requirement.tests/src/org/eclipse/papyrus/sysml16/nattable/requirement/tests/resources/RequirementNattableTest.java
@@ -0,0 +1,110 @@
+/*****************************************************************************
+ * Copyright (c) 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.nattable.requirement.tests.resources;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.PasteEObjectConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.sysml16.nattable.requirement.Activator;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test the requirement nattable models.
+ */
+public class RequirementNattableTest {
+
+	public static final String REQUIREMENT_NATTABLE_PATH = Activator.PLUGIN_ID + "/resources/requirement.nattableconfiguration"; //$NON-NLS-1$
+
+	public static final String REQUIREMENT_TREE_NATTABLE_PATH = Activator.PLUGIN_ID + "/resources/requirementTree.nattableconfiguration"; //$NON-NLS-1$
+
+	@Before
+	public void loadElementTypeRegistry() {
+		ElementTypeSetConfigurationRegistry.getInstance();
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validateRequirementNattableModel() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(REQUIREMENT_NATTABLE_PATH, true);
+		Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The requirement nattable model is not valid ", Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+
+	/**
+	 * Validate the model with the rules defined in the meta-model tooling
+	 */
+	@Test
+	public void validateRequirementTreeNattableModel() {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(REQUIREMENT_TREE_NATTABLE_PATH, true);
+		Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true);
+		Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+		Assert.assertEquals("The requirement tree nattable model is not valid ", Diagnostic.OK, diagnostic.getSeverity()); //$NON-NLS-1$
+	}
+
+
+
+	/**
+	 * check that the past configuration use a correct element type id
+	 */
+	@Test
+	public void checkPastedElementId() throws ServiceException {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(REQUIREMENT_NATTABLE_PATH, true);
+		ResourceSetImpl resourceSetImpl = new ResourceSetImpl();
+		Resource resource = resourceSetImpl.getResource(createPlatformPluginURI, true);
+		TreeIterator<EObject> allContents = resource.getAllContents();
+		while (allContents.hasNext()) {
+			EObject eObject = (EObject) allContents.next();
+			if (eObject instanceof PasteEObjectConfiguration) {
+				PasteEObjectConfiguration pasteEObjectConfiguration = (PasteEObjectConfiguration) eObject;
+				String elementTypeId = pasteEObjectConfiguration.getPastedElementId();
+				Assert.assertTrue("Unregistred element id : " + elementTypeId, SysMLServiceTypeUtil.isKnown(elementTypeId)); //$NON-NLS-1$
+			}
+		}
+	}
+
+	/**
+	 * check that the past configuration use a correct element type id
+	 */
+	@Test
+	public void checkTreePastedElementId() throws ServiceException {
+		URI createPlatformPluginURI = URI.createPlatformPluginURI(REQUIREMENT_TREE_NATTABLE_PATH, true);
+		ResourceSetImpl resourceSetImpl = new ResourceSetImpl();
+		Resource resource = resourceSetImpl.getResource(createPlatformPluginURI, true);
+		TreeIterator<EObject> allContents = resource.getAllContents();
+		while (allContents.hasNext()) {
+			EObject eObject = (EObject) allContents.next();
+			if (eObject instanceof PasteEObjectConfiguration) {
+				PasteEObjectConfiguration pasteEObjectConfiguration = (PasteEObjectConfiguration) eObject;
+				String elementTypeId = pasteEObjectConfiguration.getPastedElementId();
+				Assert.assertTrue("Unregistred element id : " + elementTypeId, SysMLServiceTypeUtil.isKnown(elementTypeId)); //$NON-NLS-1$
+			}
+		}
+	}
+
+}
diff --git a/tests/table/pom.xml b/tests/table/pom.xml
new file mode 100644
index 0000000..2ee7e6b
--- /dev/null
+++ b/tests/table/pom.xml
@@ -0,0 +1,17 @@
+<?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.sysml16.plugins.tests</artifactId>
+		<groupId>org.eclipse.papyrus.sysml</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.sysml16.table.tests</artifactId>
+	<packaging>pom</packaging>
+	<name>SysML Table Tests</name>
+	<description>This plug-in contains the different modules relatives to the tables used in SysML 1.6.</description>
+	<modules>
+		<module>org.eclipse.papyrus.sysml16.nattable.allocation.tests</module>
+		<module>org.eclipse.papyrus.sysml16.nattable.requirement.tests</module>
+	</modules>
+</project>